FD.io VPP
v20.05.1-5-g09f167997
Vector Packet Processing
|
Go to the source code of this file.
Macros | |
#define | foreach_icmp4_type |
#define | icmp_no_code 0 |
#define | foreach_icmp4_code |
#define | foreach_icmp6_type |
#define | foreach_icmp6_code |
#define | foreach_icmp6_neighbor_discovery_option |
#define | ICMP6_NEIGHBOR_DISCOVERY_PREFIX_INFORMATION_FLAG_ON_LINK (1 << 7) |
#define | ICMP6_NEIGHBOR_DISCOVERY_PREFIX_INFORMATION_AUTO (1 << 6) |
#define | ICMP6_ROUTER_DISCOVERY_FLAG_ADDRESS_CONFIG_VIA_DHCP (1 << 7) |
#define | ICMP6_ROUTER_DISCOVERY_FLAG_OTHER_CONFIG_VIA_DHCP (1 << 6) |
#define | ICMP6_NEIGHBOR_ADVERTISEMENT_FLAG_ROUTER (1 << 31) |
#define | ICMP6_NEIGHBOR_ADVERTISEMENT_FLAG_SOLICITED (1 << 30) |
#define | ICMP6_NEIGHBOR_ADVERTISEMENT_FLAG_OVERRIDE (1 << 29) |
Typedefs | |
typedef enum icmp6_neighbor_discovery_option_type | icmp6_neighbor_discovery_option_type_t |
Enumerations | |
enum | icmp4_type_t { foreach_icmp4_type } |
enum | icmp4_code_t { foreach_icmp4_code } |
enum | icmp6_type_t { foreach_icmp6_type } |
enum | icmp6_code_t { foreach_icmp6_code } |
enum | icmp6_neighbor_discovery_option_type { foreach_icmp6_neighbor_discovery_option } |
Functions | |
typedef | CLIB_PACKED (struct { u8 type;u8 code;u16 checksum;}) icmp46_header_t |
typedef | CLIB_PACKED (struct { u8 type;u8 n_data_u64s;u8 data[0];}) icmp6_neighbor_discovery_option_header_t |
typedef | CLIB_PACKED (struct { icmp6_neighbor_discovery_option_header_t header;u8 dst_address_length;u8 flags;#define ICMP6_NEIGHBOR_DISCOVERY_PREFIX_INFORMATION_FLAG_ON_LINK #define ICMP6_NEIGHBOR_DISCOVERY_PREFIX_INFORMATION_AUTO u32 valid_time;u32 preferred_time;u32 unused;ip6_address_t dst_address;}) icmp6_neighbor_discovery_prefix_information_option_t |
typedef | CLIB_PACKED (struct { u8 type;u8 aux_data_len_u32s;u16 num_sources;ip6_address_t mcast_addr;ip6_address_t source_addr[0];}) icmp6_multicast_address_record_t |
typedef | CLIB_PACKED (struct { icmp6_neighbor_discovery_option_header_t header;u8 reserved[6];u8 data[0];}) icmp6_neighbor_discovery_redirected_header_option_t |
typedef | CLIB_PACKED (struct { icmp6_neighbor_discovery_option_header_t header;u16 unused;u32 mtu;}) icmp6_neighbor_discovery_mtu_option_t |
typedef | CLIB_PACKED (struct { icmp6_neighbor_discovery_option_header_t header;u8 ethernet_address[6];}) icmp6_neighbor_discovery_ethernet_link_layer_address_option_t |
typedef | CLIB_PACKED (struct { icmp6_neighbor_discovery_option_header_t header;u8 max_l2_address[6+8];}) icmp6_neighbor_discovery_max_link_layer_address_option_t |
typedef | CLIB_PACKED (struct { icmp46_header_t icmp;u32 reserved_must_be_zero;}) icmp6_neighbor_discovery_header_t |
typedef | CLIB_PACKED (struct { icmp46_header_t icmp;u8 current_hop_limit;u8 flags;#define ICMP6_ROUTER_DISCOVERY_FLAG_ADDRESS_CONFIG_VIA_DHCP #define ICMP6_ROUTER_DISCOVERY_FLAG_OTHER_CONFIG_VIA_DHCP u16 router_lifetime_in_sec;u32 neighbor_reachable_time_in_msec;u32 time_in_msec_between_retransmitted_neighbor_solicitations;}) icmp6_router_advertisement_header_t |
typedef | CLIB_PACKED (struct { icmp46_header_t icmp;u32 advertisement_flags;#define ICMP6_NEIGHBOR_ADVERTISEMENT_FLAG_ROUTER #define ICMP6_NEIGHBOR_ADVERTISEMENT_FLAG_SOLICITED #define ICMP6_NEIGHBOR_ADVERTISEMENT_FLAG_OVERRIDE ip6_address_t target_address;}) icmp6_neighbor_solicitation_or_advertisement_header_t |
typedef | CLIB_PACKED (struct { icmp46_header_t icmp;u32 reserved_must_be_zero;ip6_address_t better_next_hop_address;ip6_address_t dst_address;}) icmp6_redirect_header_t |
typedef | CLIB_PACKED (struct { ip6_header_t ip;icmp6_neighbor_solicitation_or_advertisement_header_t neighbor;icmp6_neighbor_discovery_ethernet_link_layer_address_option_t link_layer_option;}) icmp6_neighbor_solicitation_header_t |
#define foreach_icmp4_code |
Definition at line 77 of file icmp46_packet.h.
#define foreach_icmp4_type |
Definition at line 46 of file icmp46_packet.h.
#define foreach_icmp6_code |
Definition at line 139 of file icmp46_packet.h.
#define foreach_icmp6_neighbor_discovery_option |
Definition at line 201 of file icmp46_packet.h.
#define foreach_icmp6_type |
Definition at line 107 of file icmp46_packet.h.
#define ICMP6_NEIGHBOR_ADVERTISEMENT_FLAG_OVERRIDE (1 << 29) |
#define ICMP6_NEIGHBOR_ADVERTISEMENT_FLAG_ROUTER (1 << 31) |
#define ICMP6_NEIGHBOR_ADVERTISEMENT_FLAG_SOLICITED (1 << 30) |
#define ICMP6_NEIGHBOR_DISCOVERY_PREFIX_INFORMATION_AUTO (1 << 6) |
#define ICMP6_NEIGHBOR_DISCOVERY_PREFIX_INFORMATION_FLAG_ON_LINK (1 << 7) |
#define ICMP6_ROUTER_DISCOVERY_FLAG_ADDRESS_CONFIG_VIA_DHCP (1 << 7) |
#define ICMP6_ROUTER_DISCOVERY_FLAG_OTHER_CONFIG_VIA_DHCP (1 << 6) |
#define icmp_no_code 0 |
Definition at line 75 of file icmp46_packet.h.
enum icmp4_code_t |
Enumerator | |
---|---|
foreach_icmp4_code |
Definition at line 169 of file icmp46_packet.h.
enum icmp4_type_t |
Enumerator | |
---|---|
foreach_icmp4_type |
Definition at line 162 of file icmp46_packet.h.
enum icmp6_code_t |
Enumerator | |
---|---|
foreach_icmp6_code |
Definition at line 183 of file icmp46_packet.h.
Enumerator | |
---|---|
foreach_icmp6_neighbor_discovery_option |
Definition at line 234 of file icmp46_packet.h.
enum icmp6_type_t |
Enumerator | |
---|---|
foreach_icmp6_type |
Definition at line 176 of file icmp46_packet.h.
typedef CLIB_PACKED | ( | struct { icmp6_neighbor_discovery_option_header_t header;u8 dst_address_length;u8 flags;#define ICMP6_NEIGHBOR_DISCOVERY_PREFIX_INFORMATION_FLAG_ON_LINK #define ICMP6_NEIGHBOR_DISCOVERY_PREFIX_INFORMATION_AUTO u32 valid_time;u32 preferred_time;u32 unused;ip6_address_t dst_address;} | ) |
typedef CLIB_PACKED | ( | struct { u8 type;u8 aux_data_len_u32s;u16 num_sources;ip6_address_t mcast_addr;ip6_address_t source_addr[0];} | ) |
typedef CLIB_PACKED | ( | struct { icmp6_neighbor_discovery_option_header_t header;u8 reserved[6];u8 data[0];} | ) |
typedef CLIB_PACKED | ( | struct { icmp6_neighbor_discovery_option_header_t header;u16 unused;u32 mtu;} | ) |
typedef CLIB_PACKED | ( | struct { icmp6_neighbor_discovery_option_header_t header;u8 ethernet_address[6];} | ) |
typedef CLIB_PACKED | ( | struct { icmp6_neighbor_discovery_option_header_t header;u8 max_l2_address[6+8];} | ) |
typedef CLIB_PACKED | ( | struct { icmp46_header_t icmp;u32 reserved_must_be_zero;} | ) |
typedef CLIB_PACKED | ( | struct { icmp46_header_t icmp;u8 current_hop_limit;u8 flags;#define ICMP6_ROUTER_DISCOVERY_FLAG_ADDRESS_CONFIG_VIA_DHCP #define ICMP6_ROUTER_DISCOVERY_FLAG_OTHER_CONFIG_VIA_DHCP u16 router_lifetime_in_sec;u32 neighbor_reachable_time_in_msec;u32 time_in_msec_between_retransmitted_neighbor_solicitations;} | ) |
typedef CLIB_PACKED | ( | struct { icmp46_header_t icmp;u32 advertisement_flags;#define ICMP6_NEIGHBOR_ADVERTISEMENT_FLAG_ROUTER #define ICMP6_NEIGHBOR_ADVERTISEMENT_FLAG_SOLICITED #define ICMP6_NEIGHBOR_ADVERTISEMENT_FLAG_OVERRIDE ip6_address_t target_address;} | ) |
typedef CLIB_PACKED | ( | struct { icmp46_header_t icmp;u32 reserved_must_be_zero;ip6_address_t better_next_hop_address;ip6_address_t dst_address;} | ) |
typedef CLIB_PACKED | ( | struct { ip6_header_t ip;icmp6_neighbor_solicitation_or_advertisement_header_t neighbor;icmp6_neighbor_discovery_ethernet_link_layer_address_option_t link_layer_option;} | ) |