FD.io VPP
v19.01.3-6-g70449b9b9
Vector Packet Processing
ip_neighbor.h
Go to the documentation of this file.
1
/*
2
* ip_neighboor.h: ip neighbor generic services
3
*
4
* Copyright (c) 2018 Cisco and/or its affiliates.
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at:
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*/
17
18
#ifndef included_ip_neighbor_h
19
#define included_ip_neighbor_h
20
21
#define IP_SCAN_DISABLED 0
22
#define IP_SCAN_V4_NEIGHBORS (1 << 0)
23
#define IP_SCAN_V6_NEIGHBORS (1 << 1)
24
#define IP_SCAN_V46_NEIGHBORS (IP_SCAN_V4_NEIGHBORS | IP_SCAN_V6_NEIGHBORS)
25
26
typedef
struct
27
{
28
u8
mode
;
/* 0: disable, 1: ip4, 2: ip6, 3: both */
29
u8
scan_interval
;
/* neighbor scan interval in minutes */
30
u8
max_proc_time
;
/* max processing time per run, in usecs */
31
u8
max_update
;
/* max probe/delete operations per run */
32
u8
scan_int_delay
;
/* delay in msecs, to resume scan on max */
33
u8
stale_threshold
;
/* Threashold in minutes to delete nei entry */
34
}
ip_neighbor_scan_arg_t
;
35
36
void
ip_neighbor_scan_enable_disable
(
ip_neighbor_scan_arg_t
* arg);
37
38
typedef
enum
ip_neighbor_flags_t_
39
{
40
IP_NEIGHBOR_FLAG_NODE
= 0,
41
IP_NEIGHBOR_FLAG_STATIC
= (1 << 0),
42
IP_NEIGHBOR_FLAG_NO_ADJ_FIB
= (1 << 1),
43
}
ip_neighbor_flags_t
;
44
45
extern
int
ip_neighbor_add
(
const
ip46_address_t * ip,
46
u8
is_ip6,
47
const
u8
*
mac
,
48
u32
sw_if_index
,
49
ip_neighbor_flags_t
flags
,
u32
* stats_index);
50
51
extern
int
ip_neighbor_del
(
const
ip46_address_t * ip,
52
u8
is_ip6,
u32
sw_if_index
);
53
54
#endif
/* included_ip_neighbor_h */
55
56
/*
57
* fd.io coding-style-patch-verification: ON
58
*
59
* Local Variables:
60
* eval: (c-set-style "gnu")
61
* End:
62
*/
ip_neighbor_scan_arg_t::max_update
u8 max_update
Definition:
ip_neighbor.h:31
ip_neighbor_del
int ip_neighbor_del(const ip46_address_t *ip, u8 is_ip6, u32 sw_if_index)
Definition:
ip_neighbor.c:101
flags
u32 flags
Definition:
vhost_user.h:115
ip_neighbor_scan_arg_t
Definition:
ip_neighbor.h:26
IP_NEIGHBOR_FLAG_NO_ADJ_FIB
Definition:
ip_neighbor.h:42
ip_neighbor_scan_enable_disable
void ip_neighbor_scan_enable_disable(ip_neighbor_scan_arg_t *arg)
Definition:
ip_neighbor.c:124
ip_neighbor_scan_arg_t::scan_int_delay
u8 scan_int_delay
Definition:
ip_neighbor.h:32
ip_neighbor_scan_arg_t::scan_interval
u8 scan_interval
Definition:
ip_neighbor.h:29
ip_neighbor_scan_arg_t::mode
u8 mode
Definition:
ip_neighbor.h:28
u8
unsigned char u8
Definition:
types.h:56
sw_if_index
u32 sw_if_index
Definition:
vxlan_gbp.api:37
u32
unsigned int u32
Definition:
types.h:88
ip_neighbor_scan_arg_t::max_proc_time
u8 max_proc_time
Definition:
ip_neighbor.h:30
ip_neighbor_flags_t
enum ip_neighbor_flags_t_ ip_neighbor_flags_t
IP_NEIGHBOR_FLAG_STATIC
Definition:
ip_neighbor.h:41
IP_NEIGHBOR_FLAG_NODE
Definition:
ip_neighbor.h:40
ip_neighbor_flags_t_
ip_neighbor_flags_t_
Definition:
ip_neighbor.h:38
mac
vl_api_mac_address_t mac
Definition:
gbp.api:118
ip_neighbor_add
int ip_neighbor_add(const ip46_address_t *ip, u8 is_ip6, const u8 *mac, u32 sw_if_index, ip_neighbor_flags_t flags, u32 *stats_index)
Definition:
ip_neighbor.c:51
ip_neighbor_scan_arg_t::stale_threshold
u8 stale_threshold
Definition:
ip_neighbor.h:33
src
vnet
ip
ip_neighbor.h
Generated on Sun Dec 8 2019 18:03:07 for FD.io VPP by
1.8.13