|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
33 #include <lisp/lisp-cp/one.api_enum.h>
34 #include <lisp/lisp-cp/one.api_types.h>
40 #define REPLY_MSG_ID_BASE one_base_msg_id
44 #define REPLY_DETAILS(t, body) \
46 vl_api_registration_t * reg; \
47 rv = vl_msg_api_pd_handler (mp, rv); \
48 reg = vl_api_client_index_to_registration (mp->client_index); \
52 rmp = vl_msg_api_alloc (sizeof (*rmp)); \
53 rmp->_vl_msg_id = ntohs((t)); \
54 rmp->context = mp->context; \
55 do {body;} while (0); \
56 vl_api_send_msg (reg, (u8 *)&rmp); \
59 #define foreach_vpe_api_msg \
60 _(ONE_ADD_DEL_LOCATOR_SET, one_add_del_locator_set) \
61 _(ONE_ADD_DEL_LOCATOR, one_add_del_locator) \
62 _(ONE_ADD_DEL_LOCAL_EID, one_add_del_local_eid) \
63 _(ONE_ADD_DEL_MAP_RESOLVER, one_add_del_map_resolver) \
64 _(ONE_ADD_DEL_MAP_SERVER, one_add_del_map_server) \
65 _(ONE_ENABLE_DISABLE, one_enable_disable) \
66 _(ONE_RLOC_PROBE_ENABLE_DISABLE, one_rloc_probe_enable_disable) \
67 _(ONE_MAP_REGISTER_ENABLE_DISABLE, one_map_register_enable_disable) \
68 _(ONE_MAP_REGISTER_FALLBACK_THRESHOLD, \
69 one_map_register_fallback_threshold) \
70 _(ONE_ADD_DEL_REMOTE_MAPPING, one_add_del_remote_mapping) \
71 _(ONE_ADD_DEL_ADJACENCY, one_add_del_adjacency) \
72 _(ONE_PITR_SET_LOCATOR_SET, one_pitr_set_locator_set) \
73 _(ONE_NSH_SET_LOCATOR_SET, one_nsh_set_locator_set) \
74 _(ONE_MAP_REQUEST_MODE, one_map_request_mode) \
75 _(ONE_EID_TABLE_ADD_DEL_MAP, one_eid_table_add_del_map) \
76 _(ONE_LOCATOR_SET_DUMP, one_locator_set_dump) \
77 _(ONE_LOCATOR_DUMP, one_locator_dump) \
78 _(ONE_EID_TABLE_DUMP, one_eid_table_dump) \
79 _(ONE_MAP_RESOLVER_DUMP, one_map_resolver_dump) \
80 _(ONE_MAP_SERVER_DUMP, one_map_server_dump) \
81 _(ONE_EID_TABLE_MAP_DUMP, one_eid_table_map_dump) \
82 _(ONE_EID_TABLE_VNI_DUMP, one_eid_table_vni_dump) \
83 _(ONE_ADJACENCIES_GET, one_adjacencies_get) \
84 _(ONE_MAP_REGISTER_SET_TTL, one_map_register_set_ttl) \
85 _(SHOW_ONE_NSH_MAPPING, show_one_nsh_mapping) \
86 _(SHOW_ONE_RLOC_PROBE_STATE, show_one_rloc_probe_state) \
87 _(SHOW_ONE_MAP_REGISTER_STATE, show_one_map_register_state) \
88 _(SHOW_ONE_MAP_REGISTER_TTL, show_one_map_register_ttl) \
89 _(SHOW_ONE_MAP_REGISTER_FALLBACK_THRESHOLD, \
90 show_one_map_register_fallback_threshold) \
91 _(SHOW_ONE_STATUS, show_one_status) \
92 _(ONE_ADD_DEL_MAP_REQUEST_ITR_RLOCS, \
93 one_add_del_map_request_itr_rlocs) \
94 _(ONE_GET_MAP_REQUEST_ITR_RLOCS, one_get_map_request_itr_rlocs) \
95 _(SHOW_ONE_PITR, show_one_pitr) \
96 _(SHOW_ONE_MAP_REQUEST_MODE, show_one_map_request_mode) \
97 _(ONE_USE_PETR, one_use_petr) \
98 _(SHOW_ONE_USE_PETR, show_one_use_petr) \
99 _(SHOW_ONE_STATS_ENABLE_DISABLE, show_one_stats_enable_disable) \
100 _(ONE_STATS_ENABLE_DISABLE, one_stats_enable_disable) \
101 _(ONE_STATS_DUMP, one_stats_dump) \
102 _(ONE_STATS_FLUSH, one_stats_flush) \
103 _(ONE_L2_ARP_BD_GET, one_l2_arp_bd_get) \
104 _(ONE_L2_ARP_ENTRIES_GET, one_l2_arp_entries_get) \
105 _(ONE_ADD_DEL_L2_ARP_ENTRY, one_add_del_l2_arp_entry) \
106 _(ONE_ADD_DEL_NDP_ENTRY, one_add_del_ndp_entry) \
107 _(ONE_NDP_BD_GET, one_ndp_bd_get) \
108 _(ONE_NDP_ENTRIES_GET, one_ndp_entries_get) \
109 _(ONE_SET_TRANSPORT_PROTOCOL, one_set_transport_protocol) \
110 _(ONE_GET_TRANSPORT_PROTOCOL, one_get_transport_protocol) \
111 _(ONE_ENABLE_DISABLE_XTR_MODE, one_enable_disable_xtr_mode) \
112 _(ONE_SHOW_XTR_MODE, one_show_xtr_mode) \
113 _(ONE_ENABLE_DISABLE_PITR_MODE, one_enable_disable_pitr_mode) \
114 _(ONE_SHOW_PITR_MODE, one_show_pitr_mode) \
115 _(ONE_ENABLE_DISABLE_PETR_MODE, one_enable_disable_petr_mode) \
116 _(ONE_SHOW_PETR_MODE, one_show_petr_mode) \
124 vl_api_remote_locator_t *
r;
126 for (
i = 0;
i < rloc_num;
i++)
132 loc.address.ippref.len =
135 loc.priority =
r->priority;
136 loc.weight =
r->weight;
147 vl_api_one_map_register_set_ttl_reply_t *rmp;
150 mp->
ttl = clib_net_to_host_u32 (mp->
ttl);
153 REPLY_MACRO (VL_API_ONE_MAP_REGISTER_SET_TTL_REPLY);
167 rmp->
ttl = clib_host_to_net_u32 (
ttl);
180 vl_api_local_locator_t *ls_loc;
181 u32 ls_index = ~0, locator_num;
182 u8 *locator_name = NULL;
191 a->name = locator_name;
194 locator_num = clib_net_to_host_u32 (mp->
locator_num);
197 for (
i = 0;
i < locator_num;
i++)
203 locator.
priority = ls_loc->priority;
204 locator.
weight = ls_loc->weight;
219 rmp->
ls_index = clib_host_to_net_u32 (ls_index);
227 vl_api_one_add_del_locator_reply_t *rmp;
232 u8 *locator_name = NULL;
247 a->name = locator_name;
248 a->locators = locators;
295 return VNET_API_ERROR_INVALID_VALUE;
332 vl_api_one_add_del_local_eid_reply_t *rmp;
337 u32 locator_set_index = ~0, map_index = ~0;
349 rv = VNET_API_ERROR_INVALID_VALUE;
359 rv = VNET_API_ERROR_INVALID_VALUE;
362 locator_set_index = p[0];
370 a->locator_set_index = locator_set_index;
373 a->key_id = mp->
key.id;
389 vl_api_one_eid_table_add_del_map_reply_t *rmp;
392 clib_net_to_host_u32 (mp->
dp_table),
394 REPLY_MACRO (VL_API_ONE_EID_TABLE_ADD_DEL_MAP_REPLY)}
399 vl_api_one_add_del_map_server_reply_t *rmp;
416 vl_api_one_add_del_map_resolver_reply_t *rmp;
428 REPLY_MACRO (VL_API_ONE_ADD_DEL_MAP_RESOLVER_REPLY);
435 vl_api_one_map_register_enable_disable_reply_t *rmp;
446 vl_api_one_rloc_probe_enable_disable_reply_t *rmp;
456 vl_api_one_enable_disable_reply_t *rmp;
481 vl_api_one_map_request_mode_reply_t *rmp;
493 vl_api_one_nsh_set_locator_set_reply_t *rmp;
503 REPLY_MACRO (VL_API_ONE_PITR_SET_LOCATOR_SET_REPLY);
510 vl_api_one_pitr_set_locator_set_reply_t *rmp;
520 REPLY_MACRO (VL_API_ONE_PITR_SET_LOCATOR_SET_REPLY);
526 vl_api_one_use_petr_reply_t *rmp;
550 status = lcm->
flags & LISP_FLAG_USE_PETR;
578 vl_api_one_add_del_map_request_itr_rlocs_reply_t *rmp;
580 u8 *locator_set_name = NULL;
588 a->locator_set_name = locator_set_name;
594 REPLY_MACRO (VL_API_ONE_ADD_DEL_MAP_REQUEST_ITR_RLOCS_REPLY);
602 vl_api_one_add_del_remote_mapping_reply_t *rmp;
605 u32 rloc_num = clib_net_to_host_u32 (mp->
rloc_num);
650 REPLY_MACRO (VL_API_ONE_ADD_DEL_REMOTE_MAPPING_REPLY);
656 vl_api_one_add_del_adjacency_reply_t *rmp;
688 rmp->_vl_msg_id =
ntohs (VL_API_ONE_LOCATOR_DETAILS);
714 u32 ls_index = ~0, *locit = 0;
760 rmp->_vl_msg_id =
ntohs (VL_API_ONE_LOCATOR_SET_DETAILS);
767 strncpy ((
char *) rmp->
ls_name, (
char *) lsit->
name,
772 str =
format (0,
"<remote-%d>", ls_index);
796 if (filter && !((1 == filter && lsit->
local) ||
797 (2 == filter && !lsit->
local)))
836 clib_warning (
"Filter error, unknown filter: %d", filter);
844 rmp->_vl_msg_id =
ntohs (VL_API_ONE_EID_TABLE_DETAILS);
853 rmp->
ttl = clib_host_to_net_u32 (mapit->
ttl);
873 rmp->
seid.address.mac);
878 rmp->
seid.address.nsh.spi =
941 rmp->_vl_msg_id =
ntohs (VL_API_ONE_MAP_SERVER_DETAILS);
976 rmp->_vl_msg_id =
ntohs (VL_API_ONE_MAP_RESOLVER_DETAILS);
1009 rmp->_vl_msg_id =
ntohs (VL_API_ONE_EID_TABLE_MAP_DETAILS);
1011 rmp->
vni = clib_host_to_net_u32 (p->
key);
1023 uword *vni_table = 0;
1053 rmp->_vl_msg_id =
ntohs (VL_API_ONE_EID_TABLE_VNI_DETAILS);
1055 rmp->
vni = clib_host_to_net_u32 (
vni);
1063 vl_api_one_adjacency_t
a;
1068 for (
i = 0;
i < n;
i++)
1087 a.reid.address.mac);
1089 a.leid.address.mac);
1093 a.reid.address.nsh.spi =
1096 a.leid.address.nsh.spi =
1132 REPLY_MACRO2 (VL_API_SHOW_ONE_MAP_REGISTER_STATE_REPLY,
1146 u32 vni = clib_net_to_host_u32 (mp->
vni);
1149 size =
vec_len (adjs) *
sizeof (vl_api_one_adjacency_t);
1177 hash_set (vnis, p->key, 0);
1182 hash_set (vnis, p->key, 0);
1221 tmp_str =
format (0,
" ");
1231 REPLY_MACRO2(VL_API_ONE_GET_MAP_REQUEST_ITR_RLOCS_REPLY,
1254 tmp_str =
format (0,
"N/A");
1268 tmp_str =
format (0,
"N/A");
1293 u8 is_enable = (lcm->
flags & LISP_FLAG_PITR_MODE)
1298 tmp_str =
format (0,
"N/A");
1311 tmp_str =
format (0,
"N/A");
1334 REPLY_MACRO2 (VL_API_SHOW_ONE_STATS_ENABLE_DISABLE_REPLY,
1345 vl_api_one_enable_disable_reply_t *rmp = NULL;
1354 vl_api_one_stats_flush_reply_t *rmp;
1376 rmp->
vni = clib_host_to_net_u32 (stat->
vni);
1392 vl_api_one_add_del_l2_arp_entry_reply_t *rmp;
1408 REPLY_MACRO (VL_API_ONE_ADD_DEL_L2_ARP_ENTRY_REPLY);
1414 vl_api_one_add_del_ndp_entry_reply_t *rmp;
1491 u32 bd = clib_net_to_host_u32 (mp->
bd);
1516 vl_api_one_map_register_fallback_threshold_reply_t *rmp;
1519 mp->
value = clib_net_to_host_u32 (mp->
value);
1521 REPLY_MACRO (VL_API_ONE_MAP_REGISTER_FALLBACK_THRESHOLD_REPLY);
1534 REPLY_MACRO2 (VL_API_SHOW_ONE_MAP_REGISTER_FALLBACK_THRESHOLD_REPLY,
1545 vl_api_one_set_transport_protocol_reply_t *rmp;
1550 REPLY_MACRO (VL_API_ONE_SET_TRANSPORT_PROTOCOL_REPLY);
1577 u32 bd = clib_net_to_host_u32 (mp->
bd);
1602 vl_api_one_enable_disable_xtr_mode_reply_t *rmp = 0;
1605 REPLY_MACRO (VL_API_ONE_ENABLE_DISABLE_XTR_MODE_REPLY);
1626 vl_api_one_enable_disable_pitr_mode_reply_t *rmp = 0;
1629 REPLY_MACRO (VL_API_ONE_ENABLE_DISABLE_PITR_MODE_REPLY);
1650 vl_api_one_enable_disable_petr_mode_reply_t *rmp = 0;
1653 REPLY_MACRO (VL_API_ONE_ENABLE_DISABLE_PETR_MODE_REPLY);
1677 #include <lisp/lisp-cp/one.api.c>
1690 #include <vpp/app/version.h>
1694 .version = VPP_BUILD_VER,
1695 .description =
"Locator ID Separation Protocol (LISP)",
static void send_one_locator_set_details(lisp_cp_main_t *lcm, locator_set_t *lsit, vl_api_registration_t *reg, u32 context, u32 ls_index)
#define gid_address_ippref_len(_a)
static clib_error_t * one_api_hookup(vlib_main_t *vm)
configure or delete ONE NSH mapping
#define VALIDATE_SW_IF_INDEX(mp)
static vl_api_registration_t * vl_api_client_index_to_registration(u32 index)
bool is_add[default=true]
static void vl_api_one_stats_flush_t_handler(vl_api_one_stats_flush_t *mp)
map/unmap vni/bd_index to vrf
static void vl_api_show_one_status_t_handler(vl_api_show_one_status_t *mp)
Request for locator_set summary status.
vl_api_one_filter_t filter
static void vl_api_show_one_use_petr_t_handler(vl_api_show_one_use_petr_t *mp)
vl_api_one_map_mode_t mode
bool is_add[default=true]
Get state of ONE RLOC probing.
static void vl_api_one_show_pitr_mode_t_handler(vl_api_one_show_pitr_mode_t *mp)
static void send_one_map_server_details(ip_address_t *ip, vl_api_registration_t *reg, u32 context)
static void vl_api_one_add_del_map_server_t_handler(vl_api_one_add_del_map_server_t *mp)
u8 vnet_lisp_map_register_state_get(void)
enable/disable ONE RLOC probing
bool is_add[default=true]
#define REPLY_MACRO2(t, body)
void ip4_address_decode(const vl_api_ip4_address_t in, ip4_address_t *out)
enable or disable ONE feature
u8 vnet_lisp_stats_enable_disable_state(void)
u8 vnet_lisp_get_petr_mode(void)
int vnet_lisp_flush_stats(void)
static void fid_to_api_eid(fid_address_t *fid, vl_api_eid_t *eid)
static void vl_api_one_add_del_local_eid_t_handler(vl_api_one_add_del_local_eid_t *mp)
int vnet_lisp_use_petr(ip_address_t *ip, u8 is_add)
Configure Proxy-ETR.
add or delete ONE adjacency adjacency
u8 vnet_lisp_get_pitr_mode(void)
static void vl_api_one_ndp_bd_get_t_handler(vl_api_one_ndp_bd_get_t *mp)
static void vl_api_one_enable_disable_xtr_mode_t_handler(vl_api_one_enable_disable_xtr_mode_t *mp)
static void vl_api_send_msg(vl_api_registration_t *rp, u8 *elem)
static void vl_api_one_eid_table_dump_t_handler(vl_api_one_eid_table_dump_t *mp)
bool is_add[default=true]
VLIB_API_INIT_FUNCTION(one_api_hookup)
#define gid_address_sd_dst(_a)
#define pool_elt_at_index(p, i)
Returns pointer to element at given index.
Request for L2 ARP entries from specified bridge domain.
Request for map resolver summary status.
static void vl_api_one_adjacencies_get_t_handler(vl_api_one_adjacencies_get_t *mp)
Dumps all VNIs used in mappings.
lisp_msmr_t * map_resolvers
static void vl_api_one_stats_dump_t_handler(vl_api_one_stats_dump_t *mp)
bool is_enable[default=true]
#define REPLY_MACRO4(t, n, body)
u32 vnet_lisp_set_transport_protocol(u8 protocol)
static void vl_api_one_enable_disable_pitr_mode_t_handler(vl_api_one_enable_disable_pitr_mode_t *mp)
Request for list of bridge domains used by neighbor discovery.
lisp_msmr_t * map_servers
static void vl_api_one_enable_disable_petr_mode_t_handler(vl_api_one_enable_disable_petr_mode_t *mp)
static void send_one_locator_details(lisp_cp_main_t *lcm, locator_t *loc, vl_api_registration_t *reg, u32 context)
reply to one_eid_table_vni_dump
static void vl_api_show_one_rloc_probe_state_t_handler(vl_api_show_one_rloc_probe_state_t *mp)
Request for eid table summary status.
static void send_one_eid_table_details(mapping_t *mapit, vl_api_registration_t *reg, u32 context, u8 filter)
vl_api_one_map_mode_t mode
#define gid_address_ippref(_a)
Reply for ONE NSH mapping.
vl_api_address_t ip_address
void ip_prefix_normalize(ip_prefix_t *a)
int vnet_lisp_add_del_adjacency(vnet_lisp_add_del_adjacency_args_t *a)
Adds adjacency or removes forwarding entry associated to remote mapping.
vl_api_interface_index_t sw_if_index
void ip6_address_decode(const vl_api_ip6_address_t in, ip6_address_t *out)
lisp_api_ndp_entry_t * vnet_lisp_ndp_entries_get_by_bd(u32 bd)
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
static void vl_api_one_rloc_probe_enable_disable_t_handler(vl_api_one_rloc_probe_enable_disable_t *mp)
Request for map request itr rlocs summary status.
static void vl_api_one_eid_table_vni_dump_t_handler(vl_api_one_eid_table_vni_dump_t *mp)
static void vl_api_show_one_stats_enable_disable_t_handler(vl_api_show_one_stats_enable_disable_t *mp)
vl_api_ikev2_sa_stats_t stats
vl_api_remote_locator_t rlocs[rloc_num]
int vnet_lisp_pitr_set_locator_set(u8 *locator_set_name, u8 is_add)
#define gid_address_ip(_a)
vl_api_address_t ip_address
bool is_enable[default=true]
static void vl_api_one_map_resolver_dump_t_handler(vl_api_one_map_resolver_dump_t *mp)
vnet_api_error_t vnet_lisp_stats_enable_disable(u8 enable)
vnet_hw_if_output_node_runtime_t * r
u32 petr_map_index
Proxy ETR map index used for 'use-petr'.
static void vl_api_one_l2_arp_entries_get_t_handler(vl_api_one_l2_arp_entries_get_t *mp)
Reply with L2 ARP entries from specified bridge domain.
vl_api_address_t ip_address
u8 vnet_lisp_get_map_request_mode(void)
set ONE map-request mode.
void ip_prefix_encode(const fib_prefix_t *in, vl_api_prefix_t *out)
int vnet_lisp_eid_table_map(u32 vni, u32 dp_id, u8 is_l2, u8 is_add)
add or delete locator_set
static void vl_api_one_add_del_remote_mapping_t_handler(vl_api_one_add_del_remote_mapping_t *mp)
Set ONE transport protocol.
static void vl_api_one_locator_set_dump_t_handler(vl_api_one_locator_set_dump_t *mp)
lisp_api_stats_t * vnet_lisp_get_stats(void)
bool is_enable[default=true]
static void vl_api_one_show_petr_mode_t_handler(vl_api_one_show_petr_mode_t *mp)
void ip_address_encode2(const ip_address_t *in, vl_api_address_t *out)
#define hash_foreach_pair(p, v, body)
Iterate over hash pairs.
static locator_t * unformat_one_locs(vl_api_remote_locator_t *rmt_locs, u32 rloc_num)
#define pool_is_free_index(P, I)
Use free bitmap to query whether given index is free.
static void vl_api_one_ndp_entries_get_t_handler(vl_api_one_ndp_entries_get_t *mp)
vl_api_one_filter_t filter
vl_api_local_locator_t locators[locator_num]
static void setup_message_id_table(api_main_t *am)
Request for ONE PETR status.
int vnet_lisp_enable_disable_pitr_mode(u8 is_enabled)
Request for map server summary status.
#define pool_foreach(VAR, POOL)
Iterate through pool.
Request for map one locator status.
static void vl_api_one_set_transport_protocol_t_handler(vl_api_one_set_transport_protocol_t *mp)
Reply for locator_set add/del.
u8 ip_address_max_len(u8 version)
u8 vnet_lisp_rloc_probe_state_get(void)
clib_error_t * vnet_lisp_enable_disable(u8 is_enable)
#define vec_len(v)
Number of elements in vector (rvalue-only, NULL tolerant)
configure or disable use of PETR
static void vl_api_show_one_map_register_fallback_threshold_t_handler(vl_api_show_one_map_register_fallback_threshold_t *mp)
int vnet_lisp_add_mapping(vnet_lisp_add_del_mapping_args_t *a, locator_t *rlocs, u32 *res_map_index, u8 *is_updated)
Adds/updates mapping.
vl_api_address_t ip_address
#define vec_add1(V, E)
Add 1 element to end of vector (unspecified alignment).
void ip6_address_encode(const ip6_address_t *in, vl_api_ip6_address_t out)
int vnet_lisp_add_del_local_mapping(vnet_lisp_add_del_mapping_args_t *a, u32 *map_index_result)
Add/update/delete mapping to/in/from map-cache.
locator_set_t * locator_set_pool
bool is_add[default=true]
static void vl_api_one_get_map_request_itr_rlocs_t_handler(vl_api_one_get_map_request_itr_rlocs_t *mp)
int vnet_lisp_set_map_request_mode(u8 mode)
Request for ONE NSH mapping.
#define vec_elt_at_index(v, i)
Get vector value at index i checking that i is in bounds.
static void vl_api_one_eid_table_map_dump_t_handler(vl_api_one_eid_table_map_dump_t *mp)
lisp_transport_protocol_t vnet_lisp_get_transport_protocol(void)
static void vl_api_one_use_petr_t_handler(vl_api_one_use_petr_t *mp)
static lisp_cp_main_t * vnet_lisp_cp_get_main()
An API client registration, only in vpp/vlib.
static void one_adjacency_copy(vl_api_one_adjacency_t *dst, lisp_adjacency_t *adjs)
#define fid_addr_type(_a)
int vnet_lisp_enable_disable_petr_mode(u8 is_enabled)
string locator_set_name[64]
gid_dictionary_t mapping_index_by_gid
#define gid_address_vni(_a)
string locator_set_name[64]
u8 vnet_lisp_get_xtr_mode(void)
void ip_prefix_decode(const vl_api_prefix_t *in, fib_prefix_t *out)
vl_api_one_l2_arp_entry_t entries[count]
Contains current TTL for map register messages.
Request for ONE PITR status.
if(node->flags &VLIB_NODE_FLAG_TRACE) vnet_interface_output_trace(vm
bool is_enable[default=true]
static void vl_api_one_eid_table_add_del_map_t_handler(vl_api_one_eid_table_add_del_map_t *mp)
#define gid_address_arp_bd
int vnet_lisp_enable_disable_xtr_mode(u8 is_enabled)
string locator_set_name[64]
sll srl srl sll sra u16x4 i
bool is_add[default=true]
vl_api_one_l2_arp_entry_t entry
bool is_add[default=true]
static void vl_api_one_map_register_set_ttl_t_handler(vl_api_one_map_register_set_ttl_t *mp)
int vnet_lisp_add_del_map_server(ip_address_t *addr, u8 is_add)
static void vl_api_one_add_del_locator_t_handler(vl_api_one_add_del_locator_t *mp)
static void vl_api_show_one_pitr_t_handler(vl_api_show_one_pitr_t *mp)
Request for list of bridge domains used by L2 ARP table.
static void vl_api_one_add_del_l2_arp_entry_t_handler(vl_api_one_add_del_l2_arp_entry_t *mp)
Reply with list of bridge domains used by L2 ARP table.
uword * locator_set_index_by_name
string locator_set_name[64]
void ip_address_set(ip_address_t *dst, const void *src, ip_address_family_t af)
int vnet_lisp_clear_all_remote_adjacencies(void)
#define ALWAYS_ASSERT(truth)
#define REPLY_DETAILS(t, body)
counter_t packets
packet counter
string locator_set_name[64]
static void vl_api_one_enable_disable_t_handler(vl_api_one_enable_disable_t *mp)
static void vl_api_one_add_del_ndp_entry_t_handler(vl_api_one_add_del_ndp_entry_t *mp)
Get ONE map request itr rlocs status.
ONE PETR status, enable or disable.
static void vl_api_one_stats_enable_disable_t_handler(vl_api_one_stats_enable_disable_t *mp)
#define gid_address_sd_src(_a)
static void vl_api_one_map_server_dump_t_handler(vl_api_one_map_server_dump_t *mp)
#define gid_address_ndp_bd
u32 bridge_domains[count]
Set TTL for map register messages.
u32 * vnet_lisp_ndp_bds_get(void)
void ip_address_decode2(const vl_api_address_t *in, ip_address_t *out)
u8 vnet_lisp_gpe_enable_disable_status(void)
Check if LISP-GPE is enabled.
#define BAD_SW_IF_INDEX_LABEL
vl_api_one_ndp_entry_t entries[count]
add or delete remote static mapping
u8 vnet_lisp_enable_disable_status(void)
int vnet_lisp_add_del_mreq_itr_rlocs(vnet_lisp_add_del_mreq_itr_rloc_args_t *a)
static uword hash_elts(void *v)
static void vl_api_show_one_map_register_ttl_t_handler(vl_api_show_one_map_register_ttl_t *mp)
#define gid_address_arp_ndp_ip(_a)
static void vl_api_one_map_register_fallback_threshold_t_handler(vl_api_one_map_register_fallback_threshold_t *mp)
Request for ONE adjacencies.
#define vec_free(V)
Free vector's memory (no header).
vl_api_one_ndp_entry_t entry
vl_api_address_t ip_address
Request for one_eid_table_map_details.
configure or disable ONE PITR node
Reply with list of bridge domains used by neighbor discovery.
void gid_address_copy(gid_address_t *dst, gid_address_t *src)
string locator_set_name[64]
#define hash_get_mem(h, key)
void mac_address_encode(const mac_address_t *in, u8 *out)
u32 bridge_domains[count]
string locator_set_name[64]
static void vl_api_one_nsh_set_locator_set_t_handler(vl_api_one_nsh_set_locator_set_t *mp)
description fragment has unexpected format
lisp_adjacency_t * vnet_lisp_adjacencies_get_by_vni(u32 vni)
Returns vector of adjacencies.
#define gid_address_nsh_si(_a)
u32 * vnet_lisp_l2_arp_bds_get(void)
static void vl_api_show_one_map_register_state_t_handler(vl_api_show_one_map_register_state_t *mp)
bool is_add[default=true]
bool is_add[default=true]
static void vl_api_one_get_transport_protocol_t_handler(vl_api_one_get_transport_protocol_t *mp)
static int unformat_one_eid_api(gid_address_t *dst, u32 vni, vl_api_eid_t *eid)
Get TTL for map register messages.
Add/delete L2 ARP entries.
counter_t bytes
byte counter
Get state of ONE map-register.
void gid_address_ip_set(gid_address_t *dst, void *src, ip_address_family_t version)
static void vl_api_one_show_xtr_mode_t_handler(vl_api_one_show_xtr_mode_t *mp)
bool is_add[default=true]
add or delete locator for locator set
int vnet_lisp_add_del_locator_set(vnet_lisp_add_del_locator_set_args_t *a, u32 *ls_result)
#define vec_foreach(var, vec)
Vector iterator.
void ip4_address_encode(const ip4_address_t *in, vl_api_ip4_address_t out)
static void vl_api_show_one_nsh_mapping_t_handler(vl_api_show_one_nsh_mapping_t *mp)
enable/disable ONE map-register
Shows relationship between vni and vrf/bd.
Reply for show_one_rloc_probe_state.
#define fid_addr_ippref(_a)
void mac_address_decode(const u8 *in, mac_address_t *out)
Conversion functions to/from (decode/encode) API types to VPP internal types.
static void vl_api_one_pitr_set_locator_set_t_handler(vl_api_one_pitr_set_locator_set_t *mp)
add or delete ONE eid-table
vl_api_address_t ip_address
bool is_enable[default=true]
int vnet_lisp_rloc_probe_enable_disable(u8 is_enable)
static void vl_api_one_add_del_map_resolver_t_handler(vl_api_one_add_del_map_resolver_t *mp)
int vnet_lisp_del_mapping(gid_address_t *eid, u32 *res_map_index)
Removes a mapping.
u32 vnet_lisp_map_register_fallback_threshold_get(void)
int vnet_lisp_map_register_enable_disable(u8 is_enable)
static void send_one_map_resolver_details(ip_address_t *ip, vl_api_registration_t *reg, u32 context)
clib_memset(h->entries, 0, sizeof(h->entries[0]) *entries)
int vnet_lisp_map_register_set_ttl(u32 ttl)
Reply for show_one_map_request_mode.
static void vl_api_one_add_del_locator_set_t_handler(vl_api_one_add_del_locator_set_t *mp)
u64 gid_dictionary_lookup(gid_dictionary_t *db, gid_address_t *key)
int vnet_lisp_map_register_fallback_threshold_set(u32 value)
#define gid_address_type(_a)
void gid_address_free(gid_address_t *a)
bool is_add[default=true]
#define vec_terminate_c_string(V)
(If necessary) NULL terminate a vector containing a c-string.
static void vl_api_one_map_register_enable_disable_t_handler(vl_api_one_map_register_enable_disable_t *mp)
int vnet_lisp_add_del_l2_arp_ndp_entry(gid_address_t *key, u8 *mac, u8 is_add)
static void send_eid_table_map_pair(hash_pair_t *p, vl_api_registration_t *reg, u32 context)
#define clib_warning(format, args...)
Status of ONE PITR, enable or disable.
struct _gid_address_t gid_address_t
static void vl_api_one_l2_arp_bd_get_t_handler(vl_api_one_l2_arp_bd_get_t *mp)
static void vl_api_one_locator_dump_t_handler(vl_api_one_locator_dump_t *mp)
vl_api_address_t ip_address
bool is_add[default=true]
bool is_enable[default=true]
static void vl_api_one_map_request_mode_t_handler(vl_api_one_map_request_mode_t *mp)
static u32 one_base_msg_id
Base message ID fot the plugin.
static void vl_api_one_add_del_map_request_itr_rlocs_t_handler(vl_api_one_add_del_map_request_itr_rlocs_t *mp)
static void send_eid_table_vni(u32 vni, vl_api_registration_t *reg, u32 context)
bool is_enable[default=true]
#define gid_address_nsh_spi(_a)
int vnet_lisp_add_del_map_resolver(vnet_lisp_add_del_map_resolver_args_t *a)
add or delete map request itr rlocs
lisp_api_l2_arp_entry_t * vnet_lisp_l2_arp_entries_get_by_bd(u32 bd)
Reply for show_one_map_register_state.
bool is_add[default=true]
static void vl_api_one_add_del_adjacency_t_handler(vl_api_one_add_del_adjacency_t *mp)
add or delete map-resolver
Aggregate type for a prefix.
vl_api_one_adjacency_t adjacencies[count]
#define gid_address_mac(_a)
static void vl_api_show_one_map_request_mode_t_handler(vl_api_show_one_map_request_mode_t *mp)
int vnet_lisp_add_del_locator(vnet_lisp_add_del_locator_set_args_t *a, locator_set_t *ls, u32 *ls_result)
vl_api_interface_index_t sw_if_index
void * vl_msg_api_alloc(int nbytes)
Request for ONE map-request mode.
u32 vnet_lisp_map_register_get_ttl(void)
void ip_prefix_to_fib_prefix(const ip_prefix_t *ip_prefix, fib_prefix_t *fib_prefix)
convert from a LISP to a FIB prefix
int vnet_lisp_nsh_set_locator_set(u8 *locator_set_name, u8 is_add)