|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
21 #include <nat/dslite/dslite.api_enum.h>
22 #include <nat/dslite/dslite.api_types.h>
27 #define REPLY_MSG_ID_BASE dm->msg_id_base
33 vl_api_dslite_set_aftr_addr_reply_t *rmp;
36 ip6_address_t ip6_addr;
39 memcpy (&ip6_addr.as_u8, mp->
ip6_addr, 16);
68 vl_api_dslite_set_b4_addr_reply_t *rmp;
71 ip6_address_t ip6_addr;
74 memcpy (&ip6_addr.as_u8, mp->
ip6_addr, 16);
104 vl_api_dslite_add_del_pool_addr_range_reply_t *rmp;
108 u32 start_host_order, end_host_order;
113 start_host_order = clib_host_to_net_u32 (
tmp[0]);
115 end_host_order = clib_host_to_net_u32 (
tmp[0]);
120 count = (end_host_order - start_host_order) + 1;
125 REPLY_MACRO (VL_API_DSLITE_ADD_DEL_POOL_ADDR_RANGE_REPLY);
167 #include <nat/dslite/dslite.api.c>
Response to get AFTR IPv6 and IPv4 addresses.
clib_error_t * dslite_api_hookup(vlib_main_t *vm)
Response to get B4 IPv6 and IPv4 addresses.
static vl_api_registration_t * vl_api_client_index_to_registration(u32 index)
Get AFTR IPv6 and IPv4 addresses.
int dslite_set_aftr_ip6_addr(dslite_main_t *dm, ip6_address_t *addr)
Set AFTR IPv6 and IPv4 addresses.
#define REPLY_MACRO2(t, body)
#define clib_memcpy(d, s, n)
static void vl_api_dslite_set_aftr_addr_t_handler(vl_api_dslite_set_aftr_addr_t *mp)
static void vl_api_send_msg(vl_api_registration_t *rp, u8 *elem)
static void vl_api_dslite_get_b4_addr_t_handler(vl_api_dslite_get_b4_addr_t *mp)
static void vl_api_dslite_set_b4_addr_t_handler(vl_api_dslite_set_b4_addr_t *mp)
Get B4 IPv6 and IPv4 addresses.
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
vl_api_ip4_address_t ip4_addr
vl_api_ip6_address_t ip6_addr
DS-Lite address details response.
ip6_address_t aftr_ip6_addr
vl_api_ip6_address_t ip6_addr
vl_api_ip4_address_t end_addr
static void send_dslite_address_details(nat_ip4_pool_addr_t *a, vl_api_registration_t *reg, u32 context)
int dslite_set_b4_ip4_addr(dslite_main_t *dm, ip4_address_t *addr)
ip4_address_t aftr_ip4_addr
vl_api_ip6_address_t ip6_addr
An API client registration, only in vpp/vlib.
static void setup_message_id_table(api_main_t *am)
static void vl_api_dslite_address_dump_t_handler(vl_api_dslite_address_dump_t *mp)
int dslite_set_aftr_ip4_addr(dslite_main_t *dm, ip4_address_t *addr)
vl_api_ip4_address_t ip4_addr
vl_api_ip4_address_t ip_address
vl_api_ip4_address_t start_addr
static void vl_api_dslite_get_aftr_addr_t_handler(vl_api_dslite_get_aftr_addr_t *mp)
vl_api_ip6_address_t ip6_addr
nat_ip4_pool_addr_t * pool_addr
vl_api_ip4_address_t ip4_addr
ip6_address_t b4_ip6_addr
#define vec_foreach(var, vec)
Vector iterator.
static void vl_api_dslite_add_del_pool_addr_range_t_handler(vl_api_dslite_add_del_pool_addr_range_t *mp)
int dslite_set_b4_ip6_addr(dslite_main_t *dm, ip6_address_t *addr)
vl_api_ip4_address_t ip4_addr
clib_memset(h->entries, 0, sizeof(h->entries[0]) *entries)
int nat_add_del_ip4_pool_addrs(nat_ip4_pool_t *pool, ip4_address_t addr, u32 count, u8 is_add, void *opaque)
ip4_address_t b4_ip4_addr
dslite_main_t dslite_main
Set B4 IPv6 and IPv4 addresses.
Add/delete address range to DS-Lite pool.
void * vl_msg_api_alloc(int nbytes)