FD.io VPP  v21.01.1
Vector Packet Processing
ip_types_api.c File Reference
+ Include dependency graph for ip_types_api.c:

Go to the source code of this file.

Macros

#define vl_typedefs   /* define message structures */
 
#define vl_endianfun   /* define message structures */
 
#define vl_print(handle, ...)   vlib_cli_output (handle, __VA_ARGS__)
 
#define vl_printfun
 
#define ip_protocol(n, s)
 
#define ip_protocol(n, s)
 

Functions

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. More...
 
vl_api_address_family_t ip_address_family_encode (ip_address_family_t af)
 
int ip_proto_decode (vl_api_ip_proto_t ipp, ip_protocol_t *out)
 
vl_api_ip_proto_t ip_proto_encode (ip_protocol_t ipp)
 
ip_dscp_t ip_dscp_decode (vl_api_ip_dscp_t in)
 
vl_api_ip_dscp_t ip_dscp_encode (ip_dscp_t dscp)
 
int ip_feature_location_decode (vl_api_ip_feature_location_t loc, ip_feature_location_t *out)
 
vl_api_ip_feature_location_t ip_feature_location_encode (ip_feature_location_t loc)
 
void ip6_address_encode (const ip6_address_t *in, vl_api_ip6_address_t out)
 
void ip6_address_decode (const vl_api_ip6_address_t in, ip6_address_t *out)
 
void ip4_address_encode (const ip4_address_t *in, vl_api_ip4_address_t out)
 
void ip4_address_decode (const vl_api_ip4_address_t in, ip4_address_t *out)
 
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)
 
ip46_type_t ip_address_decode (const vl_api_address_t *in, ip46_address_t *out)
 Decode/Encode for struct/union types. More...
 
void ip_address_decode2 (const vl_api_address_t *in, ip_address_t *out)
 
static void ip_address_union_encode (const ip46_address_t *in, vl_api_address_family_t af, vl_api_address_union_t *out)
 
void ip_address_encode (const ip46_address_t *in, ip46_type_t type, vl_api_address_t *out)
 
void ip_address_encode2 (const ip_address_t *in, vl_api_address_t *out)
 
void ip_prefix_decode (const vl_api_prefix_t *in, fib_prefix_t *out)
 
int ip_prefix_decode2 (const vl_api_prefix_t *in, ip_prefix_t *out)
 
void ip_prefix_encode (const fib_prefix_t *in, vl_api_prefix_t *out)
 
void ip_prefix_encode2 (const ip_prefix_t *in, vl_api_prefix_t *out)
 
void ip_mprefix_encode (const mfib_prefix_t *in, vl_api_mprefix_t *out)
 
void ip_mprefix_decode (const vl_api_mprefix_t *in, mfib_prefix_t *out)
 

Macro Definition Documentation

◆ ip_protocol [1/2]

#define ip_protocol (   n,
 
)
Value:
case IP_PROTOCOL_##s: \
*out = IP_PROTOCOL_##s; \
return (0);

◆ ip_protocol [2/2]

#define ip_protocol (   n,
 
)
Value:
case IP_PROTOCOL_##s: \
return ((vl_api_ip_proto_t) IP_PROTOCOL_##s);

◆ vl_endianfun

#define vl_endianfun   /* define message structures */

Definition at line 23 of file ip_types_api.c.

◆ vl_print

#define vl_print (   handle,
  ... 
)    vlib_cli_output (handle, __VA_ARGS__)

Definition at line 28 of file ip_types_api.c.

◆ vl_printfun

#define vl_printfun

Definition at line 29 of file ip_types_api.c.

◆ vl_typedefs

#define vl_typedefs   /* define message structures */

Definition at line 19 of file ip_types_api.c.

Function Documentation

◆ ip4_address_decode()

void ip4_address_decode ( const vl_api_ip4_address_t  in,
ip4_address_t out 
)

Definition at line 155 of file ip_types_api.c.

+ Here is the caller graph for this function:

◆ ip4_address_encode()

void ip4_address_encode ( const ip4_address_t in,
vl_api_ip4_address_t  out 
)

Definition at line 149 of file ip_types_api.c.

+ Here is the caller graph for this function:

◆ ip6_address_decode()

void ip6_address_decode ( const vl_api_ip6_address_t  in,
ip6_address_t *  out 
)

Definition at line 143 of file ip_types_api.c.

+ Here is the caller graph for this function:

◆ ip6_address_encode()

void ip6_address_encode ( const ip6_address_t *  in,
vl_api_ip6_address_t  out 
)

Definition at line 137 of file ip_types_api.c.

+ Here is the caller graph for this function:

◆ ip_address_decode()

ip46_type_t ip_address_decode ( const vl_api_address_t *  in,
ip46_address_t *  out 
)

Decode/Encode for struct/union types.

Definition at line 186 of file ip_types_api.c.

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

◆ ip_address_decode2()

void ip_address_decode2 ( const vl_api_address_t *  in,
ip_address_t out 
)

Definition at line 192 of file ip_types_api.c.

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

◆ ip_address_encode()

void ip_address_encode ( const ip46_address_t *  in,
ip46_type_t  type,
vl_api_address_t *  out 
)

Definition at line 220 of file ip_types_api.c.

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

◆ ip_address_encode2()

void ip_address_encode2 ( const ip_address_t in,
vl_api_address_t *  out 
)

Definition at line 242 of file ip_types_api.c.

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

◆ ip_address_family_decode()

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.

These enum decode/encodes use 'int' as the type for the enum because one cannot forward declare an enum

Definition at line 34 of file ip_types_api.c.

+ Here is the caller graph for this function:

◆ ip_address_family_encode()

vl_api_address_family_t ip_address_family_encode ( ip_address_family_t  af)

Definition at line 50 of file ip_types_api.c.

+ Here is the caller graph for this function:

◆ ip_address_union_decode()

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 
)
static

Definition at line 161 of file ip_types_api.c.

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

◆ ip_address_union_encode()

static void ip_address_union_encode ( const ip46_address_t *  in,
vl_api_address_family_t  af,
vl_api_address_union_t *  out 
)
static

Definition at line 209 of file ip_types_api.c.

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

◆ ip_dscp_decode()

ip_dscp_t ip_dscp_decode ( vl_api_ip_dscp_t  in)

Definition at line 99 of file ip_types_api.c.

+ Here is the caller graph for this function:

◆ ip_dscp_encode()

vl_api_ip_dscp_t ip_dscp_encode ( ip_dscp_t  dscp)

Definition at line 105 of file ip_types_api.c.

+ Here is the caller graph for this function:

◆ ip_feature_location_decode()

int ip_feature_location_decode ( vl_api_ip_feature_location_t  loc,
ip_feature_location_t out 
)

Definition at line 111 of file ip_types_api.c.

◆ ip_feature_location_encode()

vl_api_ip_feature_location_t ip_feature_location_encode ( ip_feature_location_t  loc)

Definition at line 130 of file ip_types_api.c.

◆ ip_mprefix_decode()

void ip_mprefix_decode ( const vl_api_mprefix_t *  in,
mfib_prefix_t out 
)

Definition at line 328 of file ip_types_api.c.

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

◆ ip_mprefix_encode()

void ip_mprefix_encode ( const mfib_prefix_t in,
vl_api_mprefix_t *  out 
)

Definition at line 318 of file ip_types_api.c.

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

◆ ip_prefix_decode()

void ip_prefix_decode ( const vl_api_prefix_t *  in,
fib_prefix_t out 
)

Definition at line 259 of file ip_types_api.c.

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

◆ ip_prefix_decode2()

int ip_prefix_decode2 ( const vl_api_prefix_t *  in,
ip_prefix_t out 
)

Definition at line 276 of file ip_types_api.c.

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

◆ ip_prefix_encode()

void ip_prefix_encode ( const fib_prefix_t in,
vl_api_prefix_t *  out 
)

Definition at line 287 of file ip_types_api.c.

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

◆ ip_prefix_encode2()

void ip_prefix_encode2 ( const ip_prefix_t in,
vl_api_prefix_t *  out 
)

Definition at line 311 of file ip_types_api.c.

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

◆ ip_proto_decode()

int ip_proto_decode ( vl_api_ip_proto_t  ipp,
ip_protocol_t out 
)

Definition at line 65 of file ip_types_api.c.

+ Here is the caller graph for this function:

◆ ip_proto_encode()

vl_api_ip_proto_t ip_proto_encode ( ip_protocol_t  ipp)

Definition at line 83 of file ip_types_api.c.

+ Here is the caller graph for this function: