Struct netsim_embed::gre::Gre [−][src]
pub struct Gre {Show 15 fields
pub checksum_present: u8,
pub routing_present: u8,
pub key_present: u8,
pub sequence_present: u8,
pub strict_source_route: u8,
pub recursion_control: u8,
pub zero_flags: u8,
pub version: u8,
pub protocol_type: u16,
pub checksum: Vec<U16BE, Global>,
pub offset: Vec<U16BE, Global>,
pub key: Vec<U32BE, Global>,
pub sequence: Vec<U32BE, Global>,
pub routing: Vec<u8, Global>,
pub payload: Vec<u8, Global>,
}
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: u8
routing_present: u8
key_present: u8
sequence_present: u8
strict_source_route: u8
recursion_control: u8
zero_flags: u8
version: u8
protocol_type: u16
checksum: Vec<U16BE, Global>
offset: Vec<U16BE, Global>
key: Vec<U32BE, Global>
sequence: Vec<U32BE, Global>
routing: Vec<u8, Global>
payload: Vec<u8, Global>