|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
32 return (VNET_API_ERROR_INVALID_ADDRESS_FAMILY);
35 vl_api_address_family_t
58 #define ip_protocol(n,s) \
59 case IP_PROTOCOL_##s: \
60 *out = IP_PROTOCOL_##s; \
65 return (VNET_API_ERROR_INVALID_PROTOCOL);
73 #define ip_protocol(n,s) \
74 case IP_PROTOCOL_##s: \
75 return ((vl_api_ip_proto_t) IP_PROTOCOL_##s);
93 return ((vl_api_ip_dscp_t)
dscp);
106 case IP_API_FEATURE_##n: \
107 *out = IP_FEATURE_##n; \
112 return (VNET_API_ERROR_FEATURE_DISABLED);
115 vl_api_ip_feature_location_t
118 return ((vl_api_ip_feature_location_t) (loc));
148 vl_api_address_family_t
af, ip46_address_t * out)
156 clib_memcpy (&out->ip4, &in->ip4, sizeof (out->ip4));
160 clib_memcpy (&out->ip6, &in->ip6, sizeof (out->ip6));
196 vl_api_address_family_t
af,
197 vl_api_address_union_t * out)
247 switch (in->address.af)
257 out->___fp___pad = 0;
268 return (VNET_API_ERROR_IP_PREFIX_INVALID);
307 out->grp_address_length = clib_host_to_net_u16 (in->
fp_len);
318 out->
fp_len = clib_net_to_host_u16 (in->grp_address_length);
319 out->___fp___pad = 0;
enum ip_dscp_t_ ip_dscp_t
void ip_prefix_encode2(const ip_prefix_t *in, vl_api_prefix_t *out)
void ip4_address_decode(const vl_api_ip4_address_t in, ip4_address_t *out)
#define clib_memcpy(d, s, n)
void ip_mprefix_decode(const vl_api_mprefix_t *in, mfib_prefix_t *out)
bool ip_prefix_validate(const ip_prefix_t *ip)
vl_api_ip_dscp_t ip_dscp_encode(ip_dscp_t dscp)
Aggregate type for a prefix.
static u8 ip46_address_is_ip4(const ip46_address_t *ip46)
void ip_mprefix_encode(const mfib_prefix_t *in, vl_api_mprefix_t *out)
u16 fp_len
The mask length.
u16 fp_len
The mask length.
void ip6_address_decode(const vl_api_ip6_address_t in, ip6_address_t *out)
vl_api_ip_proto_t ip_proto_encode(ip_protocol_t ipp)
static ip46_type_t ip_address_union_decode(const vl_api_address_union_t *in, vl_api_address_family_t af, ip46_address_t *out)
void ip_prefix_encode(const fib_prefix_t *in, vl_api_prefix_t *out)
void ip_address_encode2(const ip_address_t *in, vl_api_address_t *out)
ip46_type_t ip_address_decode(const vl_api_address_t *in, ip46_address_t *out)
Decode/Encode for struct/union types.
ip46_address_t fp_src_addr
int ip_address_family_decode(vl_api_address_family_t af, ip_address_family_t *out)
Conversion functions to/from (decode/encode) API types to VPP internal types.
void ip6_address_encode(const ip6_address_t *in, vl_api_ip6_address_t out)
ip_address_family_t version
void ip_prefix_decode(const vl_api_prefix_t *in, fib_prefix_t *out)
ip_dscp_t ip_dscp_decode(vl_api_ip_dscp_t in)
@ foreach_ip_feature_location
vl_api_ip_feature_location_t ip_feature_location_encode(ip_feature_location_t loc)
vl_api_address_family_t ip_address_family_encode(ip_address_family_t af)
fib_protocol_t fp_proto
protocol type
ip46_address_t fp_addr
The address type is not deriveable from the fp_addr member.
void ip_address_decode2(const vl_api_address_t *in, ip_address_t *out)
static u8 ip46_address_is_zero(const ip46_address_t *ip46)
static void ip_address_union_encode(const ip46_address_t *in, vl_api_address_family_t af, vl_api_address_union_t *out)
ip46_address_t fp_grp_addr
The address type is not deriveable from the fp_addr member.
int ip_prefix_decode2(const vl_api_prefix_t *in, ip_prefix_t *out)
vl_api_address_family_t af
void ip4_address_encode(const ip4_address_t *in, vl_api_ip4_address_t out)
fib_protocol_t fp_proto
protocol type
enum ip_protocol ip_protocol_t
clib_memset(h->entries, 0, sizeof(h->entries[0]) *entries)
void ip_address_encode(const ip46_address_t *in, ip46_type_t type, vl_api_address_t *out)
int ip_proto_decode(vl_api_ip_proto_t ipp, ip_protocol_t *out)
int ip_feature_location_decode(vl_api_ip_feature_location_t loc, ip_feature_location_t *out)
enum ip_feature_location_t_ ip_feature_location_t
Aggregate type for a prefix.
vl_api_fib_path_type_t type
enum ip_address_family_t_ ip_address_family_t