FD.io VPP  v21.01.1
Vector Packet Processing
packet.h File Reference
+ Include dependency graph for packet.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  srp_header_t
 
struct  srp_and_ethernet_header_t
 
struct  srp_generic_control_header_t
 
struct  srp_topology_mac_binding_t
 
struct  srp_ips_header_t
 

Macros

#define foreach_srp_mode
 
#define foreach_srp_control_packet_type
 
#define SRP_TOPOLOGY_MAC_BINDING_FLAG_IS_INNER_RING   (1 << 6)
 
#define SRP_TOPOLOGY_MAC_BINDING_FLAG_IS_WRAPPED   (1 << 5)
 
#define foreach_srp_ips_request_type
 
#define foreach_srp_ips_status
 

Enumerations

enum  srp_mode_t { SRP_N_MODE }
 
enum  srp_control_packet_type_t { SRP_N_CONTROL_PACKET_TYPE }
 
enum  srp_ips_request_type_t { foreach_srp_ips_request_type }
 
enum  srp_ips_status_t { foreach_srp_ips_status }
 

Functions

static void srp_header_compute_parity (srp_header_t *h)
 
typedef CLIB_PACKED (struct { u8 version;srp_control_packet_type_t type :8;u16 checksum;u16 ttl;}) srp_control_header_t
 
typedef CLIB_PACKED (struct { srp_header_t srp;ethernet_header_t ethernet;srp_control_header_t control;u16 n_bytes_of_data_that_follows;u8 originator_address[6];srp_topology_mac_binding_t bindings[0];}) srp_topology_header_t
 

Macro Definition Documentation

◆ foreach_srp_control_packet_type

#define foreach_srp_control_packet_type
Value:
_ (reserved) \
_ (topology) \
_ (ips)
vl_api_address_t ips[n_ips]
Definition: gbp.api:136

Definition at line 100 of file packet.h.

◆ foreach_srp_ips_request_type

#define foreach_srp_ips_request_type
Value:
_ (idle, 0x0) \
_ (wait_to_restore, 0x5) \
_ (manual_switch, 0x6) \
_ (signal_degrade, 0x8) \
_ (signal_fail, 0xb) \
_ (forced_switch, 0xd)

Definition at line 154 of file packet.h.

◆ foreach_srp_ips_status

#define foreach_srp_ips_status
Value:
_ (idle, 0x0) \
_ (wrapped, 0x2)

Definition at line 168 of file packet.h.

◆ foreach_srp_mode

#define foreach_srp_mode
Value:
_ (reserved0) \
_ (reserved1) \
_ (reserved2) \
_ (reserved3) \
_ (control_pass_to_host) \
_ (control_locally_buffered_for_host) \
_ (keep_alive) \
_ (data)
u8 data[128]
Definition: ipsec_types.api:90

Definition at line 49 of file packet.h.

◆ SRP_TOPOLOGY_MAC_BINDING_FLAG_IS_INNER_RING

#define SRP_TOPOLOGY_MAC_BINDING_FLAG_IS_INNER_RING   (1 << 6)

Definition at line 132 of file packet.h.

◆ SRP_TOPOLOGY_MAC_BINDING_FLAG_IS_WRAPPED

#define SRP_TOPOLOGY_MAC_BINDING_FLAG_IS_WRAPPED   (1 << 5)

Definition at line 133 of file packet.h.

Enumeration Type Documentation

◆ srp_control_packet_type_t

Enumerator
SRP_N_CONTROL_PACKET_TYPE 

Definition at line 105 of file packet.h.

◆ srp_ips_request_type_t

Enumerator
foreach_srp_ips_request_type 

Definition at line 162 of file packet.h.

◆ srp_ips_status_t

Enumerator
foreach_srp_ips_status 

Definition at line 172 of file packet.h.

◆ srp_mode_t

enum srp_mode_t
Enumerator
SRP_N_MODE 

Definition at line 59 of file packet.h.

Function Documentation

◆ CLIB_PACKED() [1/2]

typedef CLIB_PACKED ( struct { u8 version;srp_control_packet_type_t type :8;u16 checksum;u16 ttl;}  )

◆ CLIB_PACKED() [2/2]

typedef CLIB_PACKED ( struct { srp_header_t srp;ethernet_header_t ethernet;srp_control_header_t control;u16 n_bytes_of_data_that_follows;u8 originator_address[6];srp_topology_mac_binding_t bindings[0];}  )

◆ srp_header_compute_parity()

static void srp_header_compute_parity ( srp_header_t h)
inlinestatic

Definition at line 89 of file packet.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: