FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the source code of this file.
Macros | |
#define | ip_protocol(n, s) IP_PROTOCOL_##s = n, |
#define | ip_port(s, n) IP_PORT_##s = n, |
#define | foreach_ip_builtin_multicast_group |
#define | foreach_ip_dscp |
The set of RFC defined DSCP values. More... | |
#define | IP_PACKET_TC_FIELD_DSCP_BIT_SHIFT 2 |
IP DSCP bit shift The ECN occupies the 2 least significant bits of the TC field. More... | |
#define | IP_PACKET_TC_FIELD_ECN_MASK 0x03 |
#define | foreach_ip_ecn |
The set of RFC defined DSCP values. More... | |
#define | ip_csum_update(sum, old, new, type, field) |
Typedefs | |
typedef enum ip_protocol | ip_protocol_t |
typedef enum ip_dscp_t_ | ip_dscp_t |
typedef enum ip_ecn_t_ | ip_ecn_t |
typedef uword | ip_csum_t |
Enumerations | |
enum | ip_protocol |
enum | ip_port_t |
enum | ip_builtin_protocol_t { IP_BUILTIN_PROTOCOL_UDP, IP_BUILTIN_PROTOCOL_ICMP, IP_BUILTIN_PROTOCOL_UNKNOWN } |
enum | ip_multicast_group_t { foreach_ip_builtin_multicast_group } |
enum | ip_dscp_t_ { foreach_ip_dscp } |
enum | ip_ecn_t_ { foreach_ip_ecn } |
Functions | |
u8 * | format_ip_dscp (u8 *s, va_list *va) |
STATIC_ASSERT_SIZEOF (ip_ecn_t, 1) | |
u8 * | format_ip_ecn (u8 *s, va_list *va) |
static_always_inline u16 | ip_csum (void *data, u16 n_left) |
static ip_csum_t | ip_csum_with_carry (ip_csum_t sum, ip_csum_t x) |
static ip_csum_t | ip_csum_add_even (ip_csum_t c, ip_csum_t x) |
static ip_csum_t | ip_csum_sub_even (ip_csum_t c, ip_csum_t x) |
static ip_csum_t | ip_csum_update_inline (ip_csum_t sum, ip_csum_t old, ip_csum_t new, u32 field_byte_offset, u32 field_n_bytes) |
static u16 | ip_csum_fold (ip_csum_t c) |
static ip_csum_t | ip_incremental_checksum (ip_csum_t sum, void *_data, uword n_bytes) |
static u16 | ip_csum_and_memcpy_fold (ip_csum_t sum, void *dst) |
Variables | |
unformat_function_t | unformat_ip_dscp |
ip_csum_t(* | vnet_incremental_checksum_fp )(ip_csum_t, void *, uword) |
#define foreach_ip_builtin_multicast_group |
Definition at line 70 of file ip_packet.h.
#define foreach_ip_dscp |
The set of RFC defined DSCP values.
Definition at line 92 of file ip_packet.h.
#define foreach_ip_ecn |
The set of RFC defined DSCP values.
Definition at line 135 of file ip_packet.h.
Definition at line 295 of file ip_packet.h.
#define IP_PACKET_TC_FIELD_DSCP_BIT_SHIFT 2 |
IP DSCP bit shift The ECN occupies the 2 least significant bits of the TC field.
Definition at line 129 of file ip_packet.h.
#define IP_PACKET_TC_FIELD_ECN_MASK 0x03 |
Definition at line 130 of file ip_packet.h.
#define ip_port | ( | s, | |
n | |||
) | IP_PORT_##s = n, |
Definition at line 57 of file ip_packet.h.
#define ip_protocol | ( | n, | |
s | |||
) | IP_PROTOCOL_##s = n, |
Definition at line 49 of file ip_packet.h.
Definition at line 245 of file ip_packet.h.
typedef enum ip_dscp_t_ ip_dscp_t |
typedef enum ip_protocol ip_protocol_t |
Enumerator | |
---|---|
IP_BUILTIN_PROTOCOL_UDP | |
IP_BUILTIN_PROTOCOL_ICMP | |
IP_BUILTIN_PROTOCOL_UNKNOWN |
Definition at line 63 of file ip_packet.h.
enum ip_dscp_t_ |
Enumerator | |
---|---|
foreach_ip_dscp |
Definition at line 115 of file ip_packet.h.
enum ip_ecn_t_ |
Enumerator | |
---|---|
foreach_ip_ecn |
Definition at line 141 of file ip_packet.h.
enum ip_multicast_group_t |
Enumerator | |
---|---|
foreach_ip_builtin_multicast_group |
Definition at line 81 of file ip_packet.h.
enum ip_port_t |
Definition at line 55 of file ip_packet.h.
enum ip_protocol |
Definition at line 47 of file ip_packet.h.
static_always_inline u16 ip_csum | ( | void * | data, |
u16 | n_left | ||
) |
Definition at line 155 of file ip_packet.h.
Definition at line 256 of file ip_packet.h.
Definition at line 301 of file ip_packet.h.
Definition at line 273 of file ip_packet.h.
STATIC_ASSERT_SIZEOF | ( | ip_ecn_t | , |
1 | |||
) |
unformat_function_t unformat_ip_dscp |
Definition at line 123 of file ip_packet.h.
Definition at line 124 of file ip_checksum.c.