Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
VPP-450 Fix adding LISP adjacencies via CLI
[vpp.git]
/
vnet
/
vnet
/
lisp-cp
/
control.h
diff --git
a/vnet/vnet/lisp-cp/control.h
b/vnet/vnet/lisp-cp/control.h
index
c5cb9a3
..
d9dc81d
100644
(file)
--- a/
vnet/vnet/lisp-cp/control.h
+++ b/
vnet/vnet/lisp-cp/control.h
@@
-37,8
+37,8
@@
typedef struct
typedef struct
{
typedef struct
{
- gid_address_t
s
eid;
- gid_address_t
d
eid;
+ gid_address_t
l
eid;
+ gid_address_t
r
eid;
locator_pair_t *locator_pairs;
} fwd_entry_t;
locator_pair_t *locator_pairs;
} fwd_entry_t;
@@
-63,6
+63,13
@@
typedef struct
miss_packet_type_t type;
} miss_packet_t;
miss_packet_type_t type;
} miss_packet_t;
+typedef enum
+{
+ MR_MODE_DST_ONLY = 0,
+ MR_MODE_SRC_DST,
+ _MR_MODE_MAX
+} map_request_mode_t;
+
typedef struct
{
/* LISP feature status */
typedef struct
{
/* LISP feature status */
@@
-138,6
+145,9
@@
typedef struct
/* LISP PITR mode */
u8 lisp_pitr;
/* LISP PITR mode */
u8 lisp_pitr;
+ /* map request mode */
+ u8 map_request_mode;
+
/* commodity */
ip4_main_t *im4;
ip6_main_t *im6;
/* commodity */
ip4_main_t *im4;
ip6_main_t *im6;
@@
-149,7
+159,8
@@
typedef struct
lisp_cp_main_t lisp_control_main;
extern vlib_node_registration_t lisp_cp_input_node;
lisp_cp_main_t lisp_control_main;
extern vlib_node_registration_t lisp_cp_input_node;
-extern vlib_node_registration_t lisp_cp_lookup_node;
+extern vlib_node_registration_t lisp_cp_lookup_ip4_node;
+extern vlib_node_registration_t lisp_cp_lookup_ip6_node;
clib_error_t *lisp_cp_init ();
clib_error_t *lisp_cp_init ();
@@
-189,6
+200,7
@@
typedef struct
u8 authoritative;
u8 local;
u8 authoritative;
u8 local;
+ u8 is_static;
} vnet_lisp_add_del_mapping_args_t;
int
} vnet_lisp_add_del_mapping_args_t;
int
@@
-200,13
+212,13
@@
vnet_lisp_add_del_local_mapping (vnet_lisp_add_del_mapping_args_t * a,
int
vnet_lisp_add_del_mapping (gid_address_t * deid, locator_t * dlocs, u8 action,
int
vnet_lisp_add_del_mapping (gid_address_t * deid, locator_t * dlocs, u8 action,
- u8 authoritative, u32 ttl, u8 is_add,
+ u8 authoritative, u32 ttl, u8 is_add,
u8 is_static,
u32 * res_map_index);
typedef struct
{
u32 * res_map_index);
typedef struct
{
- gid_address_t
d
eid;
- gid_address_t
s
eid;
+ gid_address_t
r
eid;
+ gid_address_t
l
eid;
u8 is_add;
} vnet_lisp_add_del_adjacency_args_t;
u8 is_add;
} vnet_lisp_add_del_adjacency_args_t;
@@
-238,6
+250,8
@@
vnet_lisp_add_del_mreq_itr_rlocs (vnet_lisp_add_del_mreq_itr_rloc_args_t * a);
int vnet_lisp_clear_all_remote_adjacencies (void);
int vnet_lisp_eid_table_map (u32 vni, u32 vrf, u8 is_l2, u8 is_add);
int vnet_lisp_clear_all_remote_adjacencies (void);
int vnet_lisp_eid_table_map (u32 vni, u32 vrf, u8 is_l2, u8 is_add);
+int vnet_lisp_set_map_request_mode (u8 mode);
+u8 vnet_lisp_get_map_request_mode (void);
static inline void
lisp_pending_map_request_lock (lisp_cp_main_t * lcm)
static inline void
lisp_pending_map_request_lock (lisp_cp_main_t * lcm)