Struct libpacket::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>