40 #ifndef included_srp_packet_h 41 #define included_srp_packet_h 49 #define foreach_srp_mode \ 54 _ (control_pass_to_host) \ 55 _ (control_locally_buffered_for_host) \ 60 #define _(f) SRP_MODE_##f, 73 #if CLIB_ARCH_IS_BIG_ENDIAN 79 #if CLIB_ARCH_IS_LITTLE_ENDIAN 100 #define foreach_srp_control_packet_type \ 106 #define _(f) SRP_CONTROL_PACKET_TYPE_##f, 116 srp_control_packet_type_t
type : 8;
122 }) srp_control_header_t;
132 #define SRP_TOPOLOGY_MAC_BINDING_FLAG_IS_INNER_RING (1 << 6) 133 #define SRP_TOPOLOGY_MAC_BINDING_FLAG_IS_WRAPPED (1 << 5) 142 srp_control_header_t control;
145 u16 n_bytes_of_data_that_follows;
148 u8 originator_address[6];
152 }) srp_topology_header_t;
154 #define foreach_srp_ips_request_type \ 156 _ (wait_to_restore, 0x5) \ 157 _ (manual_switch, 0x6) \ 158 _ (signal_degrade, 0x8) \ 159 _ (signal_fail, 0xb) \ 160 _ (forced_switch, 0xd) 163 #define _(f,n) SRP_IPS_REQUEST_##f = n, 168 #define foreach_srp_ips_status \ 173 #define _(f,n) SRP_IPS_STATUS_##f = n, 182 u8 originator_address[6];
188 #if CLIB_ARCH_IS_BIG_ENDIAN 193 #if CLIB_ARCH_IS_LITTLE_ENDIAN
static void srp_header_compute_parity(srp_header_t *h)
ethernet_header_t ethernet
#define foreach_srp_ips_status
srp_control_packet_type_t
vl_api_fib_path_type_t type
#define foreach_srp_ips_request_type
vl_api_vxlan_gbp_api_tunnel_mode_t mode
typedef CLIB_PACKED(struct { u8 b_dst_address[6];u8 b_src_address[6];u16 b_type;u16 priority_dei_id;u16 i_type;u32 priority_dei_uca_res_sid;}) ethernet_pbb_header_packed_t
static uword count_set_bits(uword x)
#define foreach_srp_control_packet_type