#[derive(Clone, Copy, Debug, Hash, Eq, PartialEq)]
pub enum IpNextLevelProtocol {
Hopopt,
Icmp,
Igmp,
Ggp,
Ipv4,
St,
Tcp,
Cbt,
Egp,
Igp,
BbnRccMon,
NvpII,
Pup,
Argus,
Emcon,
Xnet,
Chaos,
Udp,
Mux,
DcnMeas,
Hmp,
Prm,
XnsIdp,
Trunk1,
Trunk2,
Leaf1,
Leaf2,
Rdp,
Irtp,
IsoTp4,
Netblt,
MfeNsp,
MeritInp,
Dccp,
ThreePc,
Idpr,
Xtp,
Ddp,
IdprCmtp,
TpPlusPlus,
Il,
Ipv6,
Sdrp,
Ipv6Route,
Ipv6Frag,
Idrp,
Rsvp,
Gre,
Dsr,
Bna,
Esp,
Ah,
INlsp,
Swipe,
Narp,
Mobile,
Tlsp,
Skip,
Icmpv6,
Ipv6NoNxt,
Ipv6Opts,
HostInternal,
Cftp,
LocalNetwork,
SatExpak,
Kryptolan,
Rvd,
Ippc,
Cpnx,
Cphb,
Wsn,
Pvp,
BrSatMon,
SunNd,
WbMon,
WbExpak,
IsoIp,
Vmtp,
SecureVmtp,
Vines,
TtpOrIptm,
NsfnetIgp,
Dgp,
Tcf,
Eigrp,
OspfigP,
SpriteRpc,
Larp,
Mtp,
Ax25,
IpIp,
Micp,
SccSp,
Etherip,
Encap,
PrivEncryption,
Gmtp,
Ifmp,
Pnni,
Pim,
Aris,
Scps,
Qnx,
AN,
IpComp,
Snp,
CompaqPeer,
IpxInIp,
Vrrp,
Pgm,
ZeroHop,
L2tp,
Ddx,
Iatp,
Stp,
Srp,
Uti,
Smp,
Ptp,
IsisOverIpv4,
Fire,
Crtp,
Crudp,
Sscopmce,
Iplt,
Sps,
Pipe,
Sctp,
Fc,
RsvpE2eIgnore,
MobilityHeader,
UdpLite,
MplsInIp,
Manet,
Hip,
Shim6,
Wesp,
Rohc,
Test1,
Test2,
Reserved,
}
impl IpNextLevelProtocol {
pub fn from_u8(n: u8) -> IpNextLevelProtocol {
match n {
0 => IpNextLevelProtocol::Hopopt,
1 => IpNextLevelProtocol::Icmp,
2 => IpNextLevelProtocol::Igmp,
3 => IpNextLevelProtocol::Ggp,
4 => IpNextLevelProtocol::Ipv4,
5 => IpNextLevelProtocol::St,
6 => IpNextLevelProtocol::Tcp,
7 => IpNextLevelProtocol::Cbt,
8 => IpNextLevelProtocol::Egp,
9 => IpNextLevelProtocol::Igp,
10 => IpNextLevelProtocol::BbnRccMon,
11 => IpNextLevelProtocol::NvpII,
12 => IpNextLevelProtocol::Pup,
13 => IpNextLevelProtocol::Argus,
14 => IpNextLevelProtocol::Emcon,
15 => IpNextLevelProtocol::Xnet,
16 => IpNextLevelProtocol::Chaos,
17 => IpNextLevelProtocol::Udp,
18 => IpNextLevelProtocol::Mux,
19 => IpNextLevelProtocol::DcnMeas,
20 => IpNextLevelProtocol::Hmp,
21 => IpNextLevelProtocol::Prm,
22 => IpNextLevelProtocol::XnsIdp,
23 => IpNextLevelProtocol::Trunk1,
24 => IpNextLevelProtocol::Trunk2,
25 => IpNextLevelProtocol::Leaf1,
26 => IpNextLevelProtocol::Leaf2,
27 => IpNextLevelProtocol::Rdp,
28 => IpNextLevelProtocol::Irtp,
29 => IpNextLevelProtocol::IsoTp4,
30 => IpNextLevelProtocol::Netblt,
31 => IpNextLevelProtocol::MfeNsp,
32 => IpNextLevelProtocol::MeritInp,
33 => IpNextLevelProtocol::Dccp,
34 => IpNextLevelProtocol::ThreePc,
35 => IpNextLevelProtocol::Idpr,
36 => IpNextLevelProtocol::Xtp,
37 => IpNextLevelProtocol::Ddp,
38 => IpNextLevelProtocol::IdprCmtp,
39 => IpNextLevelProtocol::TpPlusPlus,
40 => IpNextLevelProtocol::Il,
41 => IpNextLevelProtocol::Ipv6,
42 => IpNextLevelProtocol::Sdrp,
43 => IpNextLevelProtocol::Ipv6Route,
44 => IpNextLevelProtocol::Ipv6Frag,
45 => IpNextLevelProtocol::Idrp,
46 => IpNextLevelProtocol::Rsvp,
47 => IpNextLevelProtocol::Gre,
48 => IpNextLevelProtocol::Dsr,
49 => IpNextLevelProtocol::Bna,
50 => IpNextLevelProtocol::Esp,
51 => IpNextLevelProtocol::Ah,
52 => IpNextLevelProtocol::INlsp,
53 => IpNextLevelProtocol::Swipe,
54 => IpNextLevelProtocol::Narp,
55 => IpNextLevelProtocol::Mobile,
56 => IpNextLevelProtocol::Tlsp,
57 => IpNextLevelProtocol::Skip,
59 => IpNextLevelProtocol::Icmpv6,
60 => IpNextLevelProtocol::Ipv6NoNxt,
61 => IpNextLevelProtocol::Ipv6Opts,
62 => IpNextLevelProtocol::HostInternal,
63 => IpNextLevelProtocol::Cftp,
64 => IpNextLevelProtocol::LocalNetwork,
65 => IpNextLevelProtocol::SatExpak,
66 => IpNextLevelProtocol::Kryptolan,
67 => IpNextLevelProtocol::Rvd,
68 => IpNextLevelProtocol::Ippc,
69 => IpNextLevelProtocol::Cpnx,
70 => IpNextLevelProtocol::Cphb,
71 => IpNextLevelProtocol::Wsn,
72 => IpNextLevelProtocol::Pvp,
73 => IpNextLevelProtocol::BrSatMon,
74 => IpNextLevelProtocol::SunNd,
75 => IpNextLevelProtocol::WbMon,
76 => IpNextLevelProtocol::WbExpak,
77 => IpNextLevelProtocol::IsoIp,
78 => IpNextLevelProtocol::Vmtp,
79 => IpNextLevelProtocol::SecureVmtp,
80 => IpNextLevelProtocol::Vines,
81 => IpNextLevelProtocol::TtpOrIptm,
82 => IpNextLevelProtocol::NsfnetIgp,
83 => IpNextLevelProtocol::Dgp,
84 => IpNextLevelProtocol::Tcf,
85 => IpNextLevelProtocol::Eigrp,
86 => IpNextLevelProtocol::OspfigP,
87 => IpNextLevelProtocol::SpriteRpc,
88 => IpNextLevelProtocol::Larp,
89 => IpNextLevelProtocol::Mtp,
90 => IpNextLevelProtocol::Ax25,
91 => IpNextLevelProtocol::IpIp,
92 => IpNextLevelProtocol::Micp,
93 => IpNextLevelProtocol::SccSp,
94 => IpNextLevelProtocol::Etherip,
95 => IpNextLevelProtocol::Encap,
96 => IpNextLevelProtocol::PrivEncryption,
97 => IpNextLevelProtocol::Gmtp,
98 => IpNextLevelProtocol::Ifmp,
99 => IpNextLevelProtocol::Pnni,
100 => IpNextLevelProtocol::Pim,
101 => IpNextLevelProtocol::Aris,
102 => IpNextLevelProtocol::Scps,
103 => IpNextLevelProtocol::Qnx,
104 => IpNextLevelProtocol::AN,
105 => IpNextLevelProtocol::IpComp,
106 => IpNextLevelProtocol::Snp,
107 => IpNextLevelProtocol::CompaqPeer,
108 => IpNextLevelProtocol::IpxInIp,
109 => IpNextLevelProtocol::Vrrp,
110 => IpNextLevelProtocol::Pgm,
111 => IpNextLevelProtocol::ZeroHop,
112 => IpNextLevelProtocol::L2tp,
113 => IpNextLevelProtocol::Ddx,
114 => IpNextLevelProtocol::Iatp,
115 => IpNextLevelProtocol::Stp,
116 => IpNextLevelProtocol::Srp,
117 => IpNextLevelProtocol::Uti,
118 => IpNextLevelProtocol::Smp,
119 => IpNextLevelProtocol::Ptp,
120 => IpNextLevelProtocol::IsisOverIpv4,
121 => IpNextLevelProtocol::Fire,
122 => IpNextLevelProtocol::Crtp,
123 => IpNextLevelProtocol::Crudp,
124 => IpNextLevelProtocol::Sscopmce,
125 => IpNextLevelProtocol::Iplt,
126 => IpNextLevelProtocol::Sps,
127 => IpNextLevelProtocol::Pipe,
128 => IpNextLevelProtocol::Sctp,
129 => IpNextLevelProtocol::Fc,
130 => IpNextLevelProtocol::RsvpE2eIgnore,
131 => IpNextLevelProtocol::MobilityHeader,
132 => IpNextLevelProtocol::UdpLite,
133 => IpNextLevelProtocol::MplsInIp,
134 => IpNextLevelProtocol::Manet,
135 => IpNextLevelProtocol::Hip,
136 => IpNextLevelProtocol::Shim6,
137 => IpNextLevelProtocol::Wesp,
138 => IpNextLevelProtocol::Rohc,
139 => IpNextLevelProtocol::Test1,
140 => IpNextLevelProtocol::Test2,
141 => IpNextLevelProtocol::Reserved,
_ => IpNextLevelProtocol::Reserved,
}
}
#[allow(dead_code)]
pub(crate) fn from_pnet_packet_protocol(n: pnet::packet::ip::IpNextHeaderProtocol) -> IpNextLevelProtocol {
match n {
pnet::packet::ip::IpNextHeaderProtocols::Hopopt => IpNextLevelProtocol::Hopopt,
pnet::packet::ip::IpNextHeaderProtocols::Icmp => IpNextLevelProtocol::Icmp,
pnet::packet::ip::IpNextHeaderProtocols::Igmp => IpNextLevelProtocol::Igmp,
pnet::packet::ip::IpNextHeaderProtocols::Ggp => IpNextLevelProtocol::Ggp,
pnet::packet::ip::IpNextHeaderProtocols::Ipv4 => IpNextLevelProtocol::Ipv4,
pnet::packet::ip::IpNextHeaderProtocols::St => IpNextLevelProtocol::St,
pnet::packet::ip::IpNextHeaderProtocols::Tcp => IpNextLevelProtocol::Tcp,
pnet::packet::ip::IpNextHeaderProtocols::Cbt => IpNextLevelProtocol::Cbt,
pnet::packet::ip::IpNextHeaderProtocols::Egp => IpNextLevelProtocol::Egp,
pnet::packet::ip::IpNextHeaderProtocols::Igp => IpNextLevelProtocol::Igp,
pnet::packet::ip::IpNextHeaderProtocols::BbnRccMon => IpNextLevelProtocol::BbnRccMon,
pnet::packet::ip::IpNextHeaderProtocols::NvpII => IpNextLevelProtocol::NvpII,
pnet::packet::ip::IpNextHeaderProtocols::Pup => IpNextLevelProtocol::Pup,
pnet::packet::ip::IpNextHeaderProtocols::Argus => IpNextLevelProtocol::Argus,
pnet::packet::ip::IpNextHeaderProtocols::Emcon => IpNextLevelProtocol::Emcon,
pnet::packet::ip::IpNextHeaderProtocols::Xnet => IpNextLevelProtocol::Xnet,
pnet::packet::ip::IpNextHeaderProtocols::Chaos => IpNextLevelProtocol::Chaos,
pnet::packet::ip::IpNextHeaderProtocols::Udp => IpNextLevelProtocol::Udp,
pnet::packet::ip::IpNextHeaderProtocols::Mux => IpNextLevelProtocol::Mux,
pnet::packet::ip::IpNextHeaderProtocols::DcnMeas => IpNextLevelProtocol::DcnMeas,
pnet::packet::ip::IpNextHeaderProtocols::Hmp => IpNextLevelProtocol::Hmp,
pnet::packet::ip::IpNextHeaderProtocols::Prm => IpNextLevelProtocol::Prm,
pnet::packet::ip::IpNextHeaderProtocols::XnsIdp => IpNextLevelProtocol::XnsIdp,
pnet::packet::ip::IpNextHeaderProtocols::Trunk1 => IpNextLevelProtocol::Trunk1,
pnet::packet::ip::IpNextHeaderProtocols::Trunk2 => IpNextLevelProtocol::Trunk2,
pnet::packet::ip::IpNextHeaderProtocols::Leaf1 => IpNextLevelProtocol::Leaf1,
pnet::packet::ip::IpNextHeaderProtocols::Leaf2 => IpNextLevelProtocol::Leaf2,
pnet::packet::ip::IpNextHeaderProtocols::Rdp => IpNextLevelProtocol::Rdp,
pnet::packet::ip::IpNextHeaderProtocols::Irtp => IpNextLevelProtocol::Irtp,
pnet::packet::ip::IpNextHeaderProtocols::IsoTp4 => IpNextLevelProtocol::IsoTp4,
pnet::packet::ip::IpNextHeaderProtocols::Netblt => IpNextLevelProtocol::Netblt,
pnet::packet::ip::IpNextHeaderProtocols::MfeNsp => IpNextLevelProtocol::MfeNsp,
pnet::packet::ip::IpNextHeaderProtocols::MeritInp => IpNextLevelProtocol::MeritInp,
pnet::packet::ip::IpNextHeaderProtocols::Dccp => IpNextLevelProtocol::Dccp,
pnet::packet::ip::IpNextHeaderProtocols::ThreePc => IpNextLevelProtocol::ThreePc,
pnet::packet::ip::IpNextHeaderProtocols::Idpr => IpNextLevelProtocol::Idpr,
pnet::packet::ip::IpNextHeaderProtocols::Xtp => IpNextLevelProtocol::Xtp,
pnet::packet::ip::IpNextHeaderProtocols::Ddp => IpNextLevelProtocol::Ddp,
pnet::packet::ip::IpNextHeaderProtocols::IdprCmtp => IpNextLevelProtocol::IdprCmtp,
pnet::packet::ip::IpNextHeaderProtocols::TpPlusPlus => IpNextLevelProtocol::TpPlusPlus,
pnet::packet::ip::IpNextHeaderProtocols::Il => IpNextLevelProtocol::Il,
pnet::packet::ip::IpNextHeaderProtocols::Ipv6 => IpNextLevelProtocol::Ipv6,
pnet::packet::ip::IpNextHeaderProtocols::Sdrp => IpNextLevelProtocol::Sdrp,
pnet::packet::ip::IpNextHeaderProtocols::Ipv6Route => IpNextLevelProtocol::Ipv6Route,
pnet::packet::ip::IpNextHeaderProtocols::Ipv6Frag => IpNextLevelProtocol::Ipv6Frag,
pnet::packet::ip::IpNextHeaderProtocols::Idrp => IpNextLevelProtocol::Idrp,
pnet::packet::ip::IpNextHeaderProtocols::Rsvp => IpNextLevelProtocol::Rsvp,
pnet::packet::ip::IpNextHeaderProtocols::Gre => IpNextLevelProtocol::Gre,
pnet::packet::ip::IpNextHeaderProtocols::Dsr => IpNextLevelProtocol::Dsr,
pnet::packet::ip::IpNextHeaderProtocols::Bna => IpNextLevelProtocol::Bna,
pnet::packet::ip::IpNextHeaderProtocols::Esp => IpNextLevelProtocol::Esp,
pnet::packet::ip::IpNextHeaderProtocols::Ah => IpNextLevelProtocol::Ah,
pnet::packet::ip::IpNextHeaderProtocols::INlsp => IpNextLevelProtocol::INlsp,
pnet::packet::ip::IpNextHeaderProtocols::Swipe => IpNextLevelProtocol::Swipe,
pnet::packet::ip::IpNextHeaderProtocols::Narp => IpNextLevelProtocol::Narp,
pnet::packet::ip::IpNextHeaderProtocols::Mobile => IpNextLevelProtocol::Mobile,
pnet::packet::ip::IpNextHeaderProtocols::Tlsp => IpNextLevelProtocol::Tlsp,
pnet::packet::ip::IpNextHeaderProtocols::Skip => IpNextLevelProtocol::Skip,
pnet::packet::ip::IpNextHeaderProtocols::Icmpv6 => IpNextLevelProtocol::Icmpv6,
pnet::packet::ip::IpNextHeaderProtocols::Ipv6NoNxt => IpNextLevelProtocol::Ipv6NoNxt,
pnet::packet::ip::IpNextHeaderProtocols::Ipv6Opts => IpNextLevelProtocol::Ipv6Opts,
pnet::packet::ip::IpNextHeaderProtocols::HostInternal => IpNextLevelProtocol::HostInternal,
pnet::packet::ip::IpNextHeaderProtocols::Cftp => IpNextLevelProtocol::Cftp,
pnet::packet::ip::IpNextHeaderProtocols::LocalNetwork => IpNextLevelProtocol::LocalNetwork,
pnet::packet::ip::IpNextHeaderProtocols::SatExpak => IpNextLevelProtocol::SatExpak,
pnet::packet::ip::IpNextHeaderProtocols::Kryptolan => IpNextLevelProtocol::Kryptolan,
pnet::packet::ip::IpNextHeaderProtocols::Rvd => IpNextLevelProtocol::Rvd,
pnet::packet::ip::IpNextHeaderProtocols::Ippc => IpNextLevelProtocol::Ippc,
pnet::packet::ip::IpNextHeaderProtocols::Cpnx => IpNextLevelProtocol::Cpnx,
pnet::packet::ip::IpNextHeaderProtocols::Cphb => IpNextLevelProtocol::Cphb,
pnet::packet::ip::IpNextHeaderProtocols::Wsn => IpNextLevelProtocol::Wsn,
pnet::packet::ip::IpNextHeaderProtocols::Pvp => IpNextLevelProtocol::Pvp,
pnet::packet::ip::IpNextHeaderProtocols::BrSatMon => IpNextLevelProtocol::BrSatMon,
pnet::packet::ip::IpNextHeaderProtocols::SunNd => IpNextLevelProtocol::SunNd,
pnet::packet::ip::IpNextHeaderProtocols::WbMon => IpNextLevelProtocol::WbMon,
pnet::packet::ip::IpNextHeaderProtocols::WbExpak => IpNextLevelProtocol::WbExpak,
pnet::packet::ip::IpNextHeaderProtocols::IsoIp => IpNextLevelProtocol::IsoIp,
pnet::packet::ip::IpNextHeaderProtocols::Vmtp => IpNextLevelProtocol::Vmtp,
pnet::packet::ip::IpNextHeaderProtocols::SecureVmtp => IpNextLevelProtocol::SecureVmtp,
pnet::packet::ip::IpNextHeaderProtocols::Vines => IpNextLevelProtocol::Vines,
pnet::packet::ip::IpNextHeaderProtocols::TtpOrIptm => IpNextLevelProtocol::TtpOrIptm,
pnet::packet::ip::IpNextHeaderProtocols::NsfnetIgp => IpNextLevelProtocol::NsfnetIgp,
pnet::packet::ip::IpNextHeaderProtocols::Dgp => IpNextLevelProtocol::Dgp,
pnet::packet::ip::IpNextHeaderProtocols::Tcf => IpNextLevelProtocol::Tcf,
pnet::packet::ip::IpNextHeaderProtocols::Eigrp => IpNextLevelProtocol::Eigrp,
pnet::packet::ip::IpNextHeaderProtocols::OspfigP => IpNextLevelProtocol::OspfigP,
pnet::packet::ip::IpNextHeaderProtocols::SpriteRpc => IpNextLevelProtocol::SpriteRpc,
pnet::packet::ip::IpNextHeaderProtocols::Larp => IpNextLevelProtocol::Larp,
pnet::packet::ip::IpNextHeaderProtocols::Mtp => IpNextLevelProtocol::Mtp,
pnet::packet::ip::IpNextHeaderProtocols::Ax25 => IpNextLevelProtocol::Ax25,
pnet::packet::ip::IpNextHeaderProtocols::IpIp => IpNextLevelProtocol::IpIp,
pnet::packet::ip::IpNextHeaderProtocols::Micp => IpNextLevelProtocol::Micp,
pnet::packet::ip::IpNextHeaderProtocols::SccSp => IpNextLevelProtocol::SccSp,
pnet::packet::ip::IpNextHeaderProtocols::Etherip => IpNextLevelProtocol::Etherip,
pnet::packet::ip::IpNextHeaderProtocols::Encap => IpNextLevelProtocol::Encap,
pnet::packet::ip::IpNextHeaderProtocols::PrivEncryption => IpNextLevelProtocol::PrivEncryption,
pnet::packet::ip::IpNextHeaderProtocols::Gmtp => IpNextLevelProtocol::Gmtp,
pnet::packet::ip::IpNextHeaderProtocols::Ifmp => IpNextLevelProtocol::Ifmp,
pnet::packet::ip::IpNextHeaderProtocols::Pnni => IpNextLevelProtocol::Pnni,
pnet::packet::ip::IpNextHeaderProtocols::Pim => IpNextLevelProtocol::Pim,
pnet::packet::ip::IpNextHeaderProtocols::Aris => IpNextLevelProtocol::Aris,
pnet::packet::ip::IpNextHeaderProtocols::Scps => IpNextLevelProtocol::Scps,
pnet::packet::ip::IpNextHeaderProtocols::Qnx => IpNextLevelProtocol::Qnx,
pnet::packet::ip::IpNextHeaderProtocols::AN => IpNextLevelProtocol::AN,
pnet::packet::ip::IpNextHeaderProtocols::IpComp => IpNextLevelProtocol::IpComp,
pnet::packet::ip::IpNextHeaderProtocols::Snp => IpNextLevelProtocol::Snp,
pnet::packet::ip::IpNextHeaderProtocols::CompaqPeer => IpNextLevelProtocol::CompaqPeer,
pnet::packet::ip::IpNextHeaderProtocols::IpxInIp => IpNextLevelProtocol::IpxInIp,
pnet::packet::ip::IpNextHeaderProtocols::Vrrp => IpNextLevelProtocol::Vrrp,
pnet::packet::ip::IpNextHeaderProtocols::Pgm => IpNextLevelProtocol::Pgm,
pnet::packet::ip::IpNextHeaderProtocols::ZeroHop => IpNextLevelProtocol::ZeroHop,
pnet::packet::ip::IpNextHeaderProtocols::L2tp => IpNextLevelProtocol::L2tp,
pnet::packet::ip::IpNextHeaderProtocols::Ddx => IpNextLevelProtocol::Ddx,
pnet::packet::ip::IpNextHeaderProtocols::Iatp => IpNextLevelProtocol::Iatp,
pnet::packet::ip::IpNextHeaderProtocols::Stp => IpNextLevelProtocol::Stp,
pnet::packet::ip::IpNextHeaderProtocols::Srp => IpNextLevelProtocol::Srp,
pnet::packet::ip::IpNextHeaderProtocols::Uti => IpNextLevelProtocol::Uti,
pnet::packet::ip::IpNextHeaderProtocols::Smp => IpNextLevelProtocol::Smp,
pnet::packet::ip::IpNextHeaderProtocols::Ptp => IpNextLevelProtocol::Ptp,
pnet::packet::ip::IpNextHeaderProtocols::IsisOverIpv4 => IpNextLevelProtocol::IsisOverIpv4,
pnet::packet::ip::IpNextHeaderProtocols::Fire => IpNextLevelProtocol::Fire,
pnet::packet::ip::IpNextHeaderProtocols::Crtp => IpNextLevelProtocol::Crtp,
pnet::packet::ip::IpNextHeaderProtocols::Crudp => IpNextLevelProtocol::Crudp,
pnet::packet::ip::IpNextHeaderProtocols::Sscopmce => IpNextLevelProtocol::Sscopmce,
pnet::packet::ip::IpNextHeaderProtocols::Iplt => IpNextLevelProtocol::Iplt,
pnet::packet::ip::IpNextHeaderProtocols::Sps => IpNextLevelProtocol::Sps,
pnet::packet::ip::IpNextHeaderProtocols::Pipe => IpNextLevelProtocol::Pipe,
pnet::packet::ip::IpNextHeaderProtocols::Sctp => IpNextLevelProtocol::Sctp,
pnet::packet::ip::IpNextHeaderProtocols::Fc => IpNextLevelProtocol::Fc,
pnet::packet::ip::IpNextHeaderProtocols::RsvpE2eIgnore => IpNextLevelProtocol::RsvpE2eIgnore,
pnet::packet::ip::IpNextHeaderProtocols::MobilityHeader => IpNextLevelProtocol::MobilityHeader,
pnet::packet::ip::IpNextHeaderProtocols::UdpLite => IpNextLevelProtocol::UdpLite,
pnet::packet::ip::IpNextHeaderProtocols::MplsInIp => IpNextLevelProtocol::MplsInIp,
pnet::packet::ip::IpNextHeaderProtocols::Manet => IpNextLevelProtocol::Manet,
pnet::packet::ip::IpNextHeaderProtocols::Hip => IpNextLevelProtocol::Hip,
pnet::packet::ip::IpNextHeaderProtocols::Shim6 => IpNextLevelProtocol::Shim6,
pnet::packet::ip::IpNextHeaderProtocols::Wesp => IpNextLevelProtocol::Wesp,
pnet::packet::ip::IpNextHeaderProtocols::Rohc => IpNextLevelProtocol::Rohc,
pnet::packet::ip::IpNextHeaderProtocols::Test1 => IpNextLevelProtocol::Test1,
pnet::packet::ip::IpNextHeaderProtocols::Test2 => IpNextLevelProtocol::Test2,
pnet::packet::ip::IpNextHeaderProtocols::Reserved => IpNextLevelProtocol::Reserved,
_ => IpNextLevelProtocol::Reserved,
}
}
pub(crate) fn to_socket_protocol(&self) -> socket2::Protocol {
match *self {
IpNextLevelProtocol::Tcp => socket2::Protocol::TCP,
IpNextLevelProtocol::Udp => socket2::Protocol::UDP,
IpNextLevelProtocol::Icmp => socket2::Protocol::ICMPV4,
IpNextLevelProtocol::Icmpv6 => socket2::Protocol::ICMPV6,
_ => socket2::Protocol::TCP,
}
}
}