Struct pnet_packet::gre::Gre [−][src]
pub struct Gre {}Show fields
pub checksum_present: u1, pub routing_present: u1, pub key_present: u1, pub sequence_present: u1, pub strict_source_route: u1, pub recursion_control: u3, pub zero_flags: u5, pub version: u3, pub protocol_type: u16be, pub checksum: Vec<U16BE>, pub offset: Vec<U16BE>, pub key: Vec<U32BE>, pub sequence: Vec<U32BE>, pub routing: Vec<u8>, pub payload: Vec<u8>,
Expand description
GRE (Generic Routing Encapsulation) Packet.
See RFCs 1701, 2784, 2890, 7676, 2637
Current status of implementation:
-
RFC 1701 except for source routing and checksums. Processing a source routed packet will panic. Checksums are able to be inspected, but not calculated or verified.
-
RFC 2784 except for checksums (same as 1701 status). Note that it is possible to generate noncompliant packets by setting any of the reserved bits (but see 2890).
-
RFC 2890 implemented.
-
RFC 7676 has no packet changes - compliance is up to the user.
-
RFC 2637 not implemented.
Note that routing information from RFC 1701 is not implemented, packets
with routing_present
true will currently cause a panic.
Fields
checksum_present: u1
routing_present: u1
key_present: u1
sequence_present: u1
strict_source_route: u1
recursion_control: u3
zero_flags: u5
version: u3
protocol_type: u16be
checksum: Vec<U16BE>
offset: Vec<U16BE>
key: Vec<U32BE>
sequence: Vec<U32BE>
routing: Vec<u8>
payload: Vec<u8>
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Gre
impl Send for Gre
impl Sync for Gre
impl Unpin for Gre
impl UnwindSafe for Gre
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more