FD.io VPP  v20.05.1-5-g09f167997
Vector Packet Processing
lisp_msg_serdes.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef VNET_LISP_GPE_LISP_MSG_BUILDER_H_
17 #define VNET_LISP_GPE_LISP_MSG_BUILDER_H_
18 
19 #include <vnet/vnet.h>
21 #include <vnet/lisp-cp/control.h>
22 
24  gid_address_t * seid, gid_address_t * deid,
25  gid_address_t * rlocs, u8 is_smr_invoked,
26  u8 rloc_probe_set, u64 * nonce);
27 
29  u8 want_map_notify, u16 auth_data_len,
30  u64 * nonce, u32 * msg_len);
31 
32 void *lisp_msg_push_ecm (vlib_main_t * vm, vlib_buffer_t * b, int lp, int rp,
33  gid_address_t * la, gid_address_t * ra);
34 
36  u64 nonce, u8 probe_bit);
37 
38 u32
40  locator_t ** locs, locator_t * probed_);
41 
43 
45 
46 u32
48  u8 rloc_count);
49 
50 #endif /* VNET_LISP_GPE_LISP_MSG_BUILDER_H_ */
51 
52 /*
53  * fd.io coding-style-patch-verification: ON
54  *
55  * Local Variables:
56  * eval: (c-set-style "gnu")
57  * End:
58  */
u32 lisp_msg_parse_mapping_record(vlib_buffer_t *b, gid_address_t *eid, locator_t **locs, locator_t *probed_)
unsigned long u64
Definition: types.h:89
void * lisp_msg_put_mreq(lisp_cp_main_t *lcm, vlib_buffer_t *b, gid_address_t *seid, gid_address_t *deid, gid_address_t *rlocs, u8 is_smr_invoked, u8 rloc_probe_set, u64 *nonce)
unsigned char u8
Definition: types.h:56
void * lisp_msg_put_map_register(vlib_buffer_t *b, mapping_t *records, u8 want_map_notify, u16 auth_data_len, u64 *nonce, u32 *msg_len)
u32 lisp_msg_parse_eid_rec(vlib_buffer_t *b, gid_address_t *eid)
u32 lisp_msg_parse_addr(vlib_buffer_t *b, gid_address_t *eid)
typedef eid
Definition: lisp_types.api:59
unsigned int u32
Definition: types.h:88
unsigned short u16
Definition: types.h:57
u32 lisp_msg_parse_itr_rlocs(vlib_buffer_t *b, gid_address_t **rlocs, u8 rloc_count)
vlib_main_t * vm
Definition: in2out_ed.c:1599
void * lisp_msg_push_ecm(vlib_main_t *vm, vlib_buffer_t *b, int lp, int rp, gid_address_t *la, gid_address_t *ra)
void * lisp_msg_put_map_reply(vlib_buffer_t *b, mapping_t *record, u64 nonce, u8 probe_bit)
struct _gid_address_t gid_address_t
VLIB buffer representation.
Definition: buffer.h:102