Skip to main content

IpProto

Enum IpProto 

Source
#[repr(u8)]
pub enum IpProto {
Show 148 variants HopOpt = 0, Icmp = 1, Igmp = 2, Ggp = 3, Ipv4 = 4, Stream = 5, Tcp = 6, Cbt = 7, Egp = 8, Igp = 9, BbnRccMon = 10, NvpII = 11, Pup = 12, Argus = 13, Emcon = 14, Xnet = 15, Chaos = 16, Udp = 17, Mux = 18, DcnMeas = 19, Hmp = 20, Prm = 21, Idp = 22, Trunk1 = 23, Trunk2 = 24, Leaf1 = 25, Leaf2 = 26, Rdp = 27, Irtp = 28, Tp4 = 29, Netblt = 30, MfeNsp = 31, MeritInp = 32, Dccp = 33, ThirdPartyConnect = 34, Idpr = 35, Xtp = 36, Ddp = 37, IdprCmtp = 38, TpPlusPlus = 39, Il = 40, Ipv6 = 41, Sdrp = 42, Ipv6Route = 43, Ipv6Frag = 44, Idrp = 45, Rsvp = 46, Gre = 47, Dsr = 48, Bna = 49, Esp = 50, Ah = 51, Inlsp = 52, Swipe = 53, Narp = 54, Mobile = 55, Tlsp = 56, Skip = 57, Ipv6Icmp = 58, Ipv6NoNxt = 59, Ipv6Opts = 60, AnyHostInternal = 61, Cftp = 62, AnyLocalNetwork = 63, SatExpak = 64, Kryptolan = 65, Rvd = 66, Ippc = 67, AnyDistributedFileSystem = 68, SatMon = 69, Visa = 70, Ipcv = 71, Cpnx = 72, Cphb = 73, Wsn = 74, Pvp = 75, BrSatMon = 76, SunNd = 77, WbMon = 78, WbExpak = 79, IsoIp = 80, Vmtp = 81, SecureVmtp = 82, Vines = 83, Ttp = 84, NsfnetIgp = 85, Dgp = 86, Tcf = 87, Eigrp = 88, Ospfigp = 89, SpriteRpc = 90, Larp = 91, Mtp = 92, Ax25 = 93, Ipip = 94, Micp = 95, SccSp = 96, Etherip = 97, Encap = 98, AnyPrivateEncryptionScheme = 99, Gmtp = 100, Ifmp = 101, Pnni = 102, Pim = 103, Aris = 104, Scps = 105, Qnx = 106, ActiveNetworks = 107, IpComp = 108, Snp = 109, CompaqPeer = 110, IpxInIp = 111, Vrrp = 112, Pgm = 113, AnyZeroHopProtocol = 114, L2tp = 115, Ddx = 116, Iatp = 117, Stp = 118, Srp = 119, Uti = 120, Smp = 121, Sm = 122, Ptp = 123, IsisOverIpv4 = 124, Fire = 125, Crtp = 126, Crudp = 127, Sscopmce = 128, Iplt = 129, Sps = 130, Pipe = 131, Sctp = 132, Fc = 133, RsvpE2eIgnore = 134, MobilityHeader = 135, UdpLite = 136, Mpls = 137, Manet = 138, Hip = 139, Shim6 = 140, Wesp = 141, Rohc = 142, EthernetInIpv4 = 143, Aggfrag = 144, Test1 = 253, Test2 = 254, Reserved = 255,
}
Expand description

Protocol which is encapsulated in the IPv4 packet. https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml

Variants§

§

HopOpt = 0

IPv6 Hop-by-Hop Option

§

Icmp = 1

Internet Control Message

§

Igmp = 2

Internet Group Management

§

Ggp = 3

Gateway-to-Gateway

§

Ipv4 = 4

IPv4 encapsulation

§

Stream = 5

Stream

§

Tcp = 6

Transmission Control

§

Cbt = 7

CBT

§

Egp = 8

Exterior Gateway Protocol

§

Igp = 9

Any private interior gateway (used by Cisco for their IGRP)

§

BbnRccMon = 10

BBN RCC Monitoring

§

NvpII = 11

Network Voice Protocol

§

Pup = 12

PUP

§

Argus = 13

ARGUS

§

Emcon = 14

EMCON

§

Xnet = 15

Cross Net Debugger

§

Chaos = 16

Chaos

§

Udp = 17

User Datagram

§

Mux = 18

Multiplexing

§

DcnMeas = 19

DCN Measurement Subsystems

§

Hmp = 20

Host Monitoring

§

Prm = 21

Packet Radio Measurement

§

Idp = 22

XEROX NS IDP

§

Trunk1 = 23

Trunk-1

§

Trunk2 = 24

Trunk-2

§

Leaf1 = 25

Leaf-1

§

Leaf2 = 26

Leaf-2

§

Rdp = 27

Reliable Data Protocol

§

Irtp = 28

Internet Reliable Transaction

§

Tp4 = 29

ISO Transport Protocol Class 4

§

Netblt = 30

Bulk Data Transfer Protocol

§

MfeNsp = 31

MFE Network Services Protocol

§

MeritInp = 32

MERIT Internodal Protocol

§

Dccp = 33

Datagram Congestion Control Protocol

§

ThirdPartyConnect = 34

Third Party Connect Protocol

§

Idpr = 35

Inter-Domain Policy Routing Protocol

§

Xtp = 36

XTP

§

Ddp = 37

Datagram Delivery Protocol

§

IdprCmtp = 38

IDPR Control Message Transport Proto

§

TpPlusPlus = 39

TP++ Transport Protocol

§

Il = 40

IL Transport Protocol

§

Ipv6 = 41

IPv6 encapsulation

§

Sdrp = 42

Source Demand Routing Protocol

§

Ipv6Route = 43

Routing Header for IPv6

§

Ipv6Frag = 44

Fragment Header for IPv6

§

Idrp = 45

Inter-Domain Routing Protocol

§

Rsvp = 46

Reservation Protocol

§

Gre = 47

General Routing Encapsulation

§

Dsr = 48

Dynamic Source Routing Protocol

§

Bna = 49

BNA

§

Esp = 50

Encap Security Payload

§

Ah = 51

Authentication Header

§

Inlsp = 52

Integrated Net Layer Security TUBA

§

Swipe = 53

IP with Encryption

§

Narp = 54

NBMA Address Resolution Protocol

§

Mobile = 55

IP Mobility

§

Tlsp = 56

Transport Layer Security Protocol using Kryptonet key management

§

Skip = 57

SKIP

§

Ipv6Icmp = 58

Internet Control Message Protocol for IPv6

§

Ipv6NoNxt = 59

No Next Header for IPv6

§

Ipv6Opts = 60

Destination Options for IPv6

§

AnyHostInternal = 61

Any host internal protocol

§

Cftp = 62

CFTP

§

AnyLocalNetwork = 63

Any local network

§

SatExpak = 64

SATNET and Backroom EXPAK

§

Kryptolan = 65

Kryptolan

§

Rvd = 66

MIT Remote Virtual Disk Protocol

§

Ippc = 67

Internet Pluribus Packet Core

§

AnyDistributedFileSystem = 68

Any distributed file system

§

SatMon = 69

SATNET Monitoring

§

Visa = 70

VISA Protocol

§

Ipcv = 71

Internet Packet Core Utility

§

Cpnx = 72

Computer Protocol Network Executive

§

Cphb = 73

Computer Protocol Heart Beat

§

Wsn = 74

Wang Span Network

§

Pvp = 75

Packet Video Protocol

§

BrSatMon = 76

Backroom SATNET Monitoring

§

SunNd = 77

SUN ND PROTOCOL-Temporary

§

WbMon = 78

WIDEBAND Monitoring

§

WbExpak = 79

WIDEBAND EXPAK

§

IsoIp = 80

ISO Internet Protocol

§

Vmtp = 81

VMTP

§

SecureVmtp = 82

SECURE-VMTP

§

Vines = 83

VINES

§

Ttp = 84

Transaction Transport Protocol

§

NsfnetIgp = 85

NSFNET-IGP

§

Dgp = 86

Dissimilar Gateway Protocol

§

Tcf = 87

TCF

§

Eigrp = 88

EIGRP

§

Ospfigp = 89

OSPFIGP

§

SpriteRpc = 90

Sprite RPC Protocol

§

Larp = 91

Locus Address Resolution Protocol

§

Mtp = 92

Multicast Transport Protocol

§

Ax25 = 93

AX.25 Frames

§

Ipip = 94

IP-within-IP Encapsulation Protocol

§

Micp = 95

Mobile Internetworking Control Pro.

§

SccSp = 96

Semaphore Communications Sec. Pro.

§

Etherip = 97

Ethernet-within-IP Encapsulation

§

Encap = 98

Encapsulation Header

§

AnyPrivateEncryptionScheme = 99

Any private encryption scheme

§

Gmtp = 100

GMTP

§

Ifmp = 101

Ipsilon Flow Management Protocol

§

Pnni = 102

PNNI over IP

§

Pim = 103

Protocol Independent Multicast

§

Aris = 104

ARIS

§

Scps = 105

SCPS

§

Qnx = 106

QNX

§

ActiveNetworks = 107

Active Networks

§

IpComp = 108

IP Payload Compression Protocol

§

Snp = 109

Sitara Networks Protocol

§

CompaqPeer = 110

Compaq Peer Protocol

§

IpxInIp = 111

IPX in IP

§

Vrrp = 112

Virtual Router Redundancy Protocol

§

Pgm = 113

PGM Reliable Transport Protocol

§

AnyZeroHopProtocol = 114

Any 0-hop protocol

§

L2tp = 115

Layer Two Tunneling Protocol

§

Ddx = 116

D-II Data Exchange (DDX)

§

Iatp = 117

Interactive Agent Transfer Protocol

§

Stp = 118

Schedule Transfer Protocol

§

Srp = 119

SpectraLink Radio Protocol

§

Uti = 120

UTI

§

Smp = 121

Simple Message Protocol

§

Sm = 122

Simple Multicast Protocol

§

Ptp = 123

Performance Transparency Protocol

§

IsisOverIpv4 = 124

ISIS over IPv4

§

Fire = 125

FIRE

§

Crtp = 126

Combat Radio Transport Protocol

§

Crudp = 127

Combat Radio User Datagram

§

Sscopmce = 128

SSCOPMCE

§

Iplt = 129

IPLT

§

Sps = 130

Secure Packet Shield

§

Pipe = 131

Private IP Encapsulation within IP

§

Sctp = 132

Stream Control Transmission Protocol

§

Fc = 133

Fibre Channel

§

RsvpE2eIgnore = 134

RSVP-E2E-IGNORE

§

MobilityHeader = 135

Mobility Header

§

UdpLite = 136

Lightweight User Datagram Protocol

§

Mpls = 137

MPLS-in-IP

§

Manet = 138

MANET Protocols

§

Hip = 139

Host Identity Protocol

§

Shim6 = 140

Shim6 Protocol

§

Wesp = 141

Wrapped Encapsulating Security Payload

§

Rohc = 142

Robust Header Compression

§

EthernetInIpv4 = 143

Ethernet in IPv4

§

Aggfrag = 144

AGGFRAG encapsulation payload for ESP

§

Test1 = 253

Use for experimentation and testing

§

Test2 = 254

Use for experimentation and testing

§

Reserved = 255

Reserved

Trait Implementations§

Source§

impl Clone for IpProto

Source§

fn clone(&self) -> IpProto

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for IpProto

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<IpProto> for u8

Source§

fn from(value: IpProto) -> Self

Converts to this type from the input type.
Source§

impl FromPrimitive for IpProto

Source§

fn from_i64(n: i64) -> Option<Self>

Converts an i64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_u64(n: u64) -> Option<Self>

Converts an u64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_isize(n: isize) -> Option<Self>

Converts an isize to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_i8(n: i8) -> Option<Self>

Converts an i8 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_i16(n: i16) -> Option<Self>

Converts an i16 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_i32(n: i32) -> Option<Self>

Converts an i32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_i128(n: i128) -> Option<Self>

Converts an i128 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Source§

fn from_usize(n: usize) -> Option<Self>

Converts a usize to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_u8(n: u8) -> Option<Self>

Converts an u8 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_u16(n: u16) -> Option<Self>

Converts an u16 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_u32(n: u32) -> Option<Self>

Converts an u32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_u128(n: u128) -> Option<Self>

Converts an u128 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Source§

fn from_f32(n: f32) -> Option<Self>

Converts a f32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_f64(n: f64) -> Option<Self>

Converts a f64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Source§

impl Hash for IpProto

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for IpProto

Source§

fn eq(&self, other: &IpProto) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'de, WincodeConfig: Config> SchemaRead<'de, WincodeConfig> for IpProto

Source§

const TYPE_META: TypeMeta

Metadata about the type’s serialization. Read more
Source§

type Dst = IpProto

Source§

fn read( reader: impl Reader<'de>, dst: &mut MaybeUninit<Self::Dst>, ) -> ReadResult<()>

Read into dst from reader. Read more
Source§

fn get(reader: impl Reader<'de>) -> Result<Self::Dst, ReadError>

Read Self::Dst from reader into a new Self::Dst.
Source§

impl<WincodeConfig: Config> SchemaWrite<WincodeConfig> for IpProto

Source§

const TYPE_META: TypeMeta

Metadata about the type’s serialization. Read more
Source§

type Src = IpProto

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Get the serialized size of Self::Src. Read more
Source§

fn write(writer: impl Writer, src: &Self::Src) -> WriteResult<()>

Write Self::Src to writer.
Source§

impl ToPrimitive for IpProto

Source§

fn to_i64(&self) -> Option<i64>

Converts the value of self to an i64. If the value cannot be represented by an i64, then None is returned.
Source§

fn to_u64(&self) -> Option<u64>

Converts the value of self to a u64. If the value cannot be represented by a u64, then None is returned.
Source§

fn to_isize(&self) -> Option<isize>

Converts the value of self to an isize. If the value cannot be represented by an isize, then None is returned.
Source§

fn to_i8(&self) -> Option<i8>

Converts the value of self to an i8. If the value cannot be represented by an i8, then None is returned.
Source§

fn to_i16(&self) -> Option<i16>

Converts the value of self to an i16. If the value cannot be represented by an i16, then None is returned.
Source§

fn to_i32(&self) -> Option<i32>

Converts the value of self to an i32. If the value cannot be represented by an i32, then None is returned.
Source§

fn to_i128(&self) -> Option<i128>

Converts the value of self to an i128. If the value cannot be represented by an i128 (i64 under the default implementation), then None is returned. Read more
Source§

fn to_usize(&self) -> Option<usize>

Converts the value of self to a usize. If the value cannot be represented by a usize, then None is returned.
Source§

fn to_u8(&self) -> Option<u8>

Converts the value of self to a u8. If the value cannot be represented by a u8, then None is returned.
Source§

fn to_u16(&self) -> Option<u16>

Converts the value of self to a u16. If the value cannot be represented by a u16, then None is returned.
Source§

fn to_u32(&self) -> Option<u32>

Converts the value of self to a u32. If the value cannot be represented by a u32, then None is returned.
Source§

fn to_u128(&self) -> Option<u128>

Converts the value of self to a u128. If the value cannot be represented by a u128 (u64 under the default implementation), then None is returned. Read more
Source§

fn to_f32(&self) -> Option<f32>

Converts the value of self to an f32. Overflows may map to positive or negative inifinity, otherwise None is returned if the value cannot be represented by an f32.
Source§

fn to_f64(&self) -> Option<f64>

Converts the value of self to an f64. Overflows may map to positive or negative inifinity, otherwise None is returned if the value cannot be represented by an f64. Read more
Source§

impl Copy for IpProto

Source§

impl Eq for IpProto

Source§

impl StructuralPartialEq for IpProto

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<'de, T> Deserialize<'de> for T
where T: SchemaRead<'de, Configuration>,

Source§

fn deserialize(src: &'de [u8]) -> Result<Self::Dst, ReadError>

Deserialize the input src bytes into a new Self::Dst.
Source§

fn deserialize_into( src: &'de [u8], dst: &mut MaybeUninit<Self::Dst>, ) -> Result<(), ReadError>

Deserialize the input src bytes into dst.
Source§

impl<'de, T, C> Deserialize<'de, C> for T
where C: Config, T: SchemaRead<'de, C>,

Source§

fn deserialize(src: &'de [u8], config: C) -> Result<Self::Dst, ReadError>

Deserialize the input bytes into a new Self::Dst.
Source§

fn deserialize_into( src: &'de [u8], dst: &mut MaybeUninit<Self::Dst>, config: C, ) -> Result<(), ReadError>

Deserialize the input bytes into dst.
Source§

impl<T, C> DeserializeOwned<C> for T
where C: Config, T: SchemaReadOwned<C>,

Source§

fn deserialize_from<'de>(src: impl Reader<'de>) -> Result<Self::Dst, ReadError>

Deserialize from the given Reader into a new Self::Dst.
Source§

fn deserialize_from_into<'de>( src: impl Reader<'de>, dst: &mut MaybeUninit<Self::Dst>, ) -> Result<(), ReadError>

Deserialize from the given Reader into dst.
Source§

impl<T> DeserializeOwned for T

Source§

fn deserialize_from<'de>(src: impl Reader<'de>) -> Result<Self::Dst, ReadError>

Deserialize from the given Reader into a new Self::Dst.
Source§

fn deserialize_from_into<'de>( src: impl Reader<'de>, dst: &mut MaybeUninit<Self::Dst>, ) -> Result<(), ReadError>

Deserialize from the given Reader into dst.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, C> Serialize<C> for T
where C: Config, T: SchemaWrite<C> + ?Sized,

Source§

fn serialize_into( dst: impl Writer, src: &Self::Src, config: C, ) -> Result<(), WriteError>

Serialize a serializable type into the given Writer.
Source§

fn serialized_size(src: &Self::Src, config: C) -> Result<u64, WriteError>

Get the size in bytes of the type when serialized.
Source§

impl<T> Serialize for T

Source§

fn serialize_into(dst: impl Writer, src: &Self::Src) -> Result<(), WriteError>

Serialize a serializable type into the given byte buffer.
Source§

fn serialized_size(src: &Self::Src) -> Result<u64, WriteError>

Get the size in bytes of the type when serialized.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T, C> SchemaReadOwned<C> for T
where C: ConfigCore, T: for<'de> SchemaRead<'de, C>,