FD.io VPP
v19.04.4-rc0-5-ge88582fac
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_NONE
= 0,
41
IP_NEIGHBOR_FLAG_STATIC
= (1 << 0),
42
IP_NEIGHBOR_FLAG_DYNAMIC
= (1 << 1),
43
IP_NEIGHBOR_FLAG_NO_FIB_ENTRY
= (1 << 2),
44
} __attribute__ ((packed))
ip_neighbor_flags_t
;
45
46
extern
u8
*
format_ip_neighbor_flags
(
u8
* s, va_list * args);
47
48
extern
int
ip_neighbor_add
(
const
ip46_address_t * ip,
49
ip46_type_t
type,
50
const
mac_address_t
*
mac
,
51
u32
sw_if_index
,
52
ip_neighbor_flags_t
flags
,
u32
* stats_index);
53
54
extern
int
ip_neighbor_del
(
const
ip46_address_t * ip,
55
ip46_type_t
type,
u32
sw_if_index
);
56
57
#endif
/* included_ip_neighbor_h */
58
59
/*
60
* fd.io coding-style-patch-verification: ON
61
*
62
* Local Variables:
63
* eval: (c-set-style "gnu")
64
* End:
65
*/
sw_if_index
u32 sw_if_index
Definition:
ipsec_gre.api:37
ip_neighbor_scan_arg_t::max_update
u8 max_update
Definition:
ip_neighbor.h:31
flags
u32 flags
Definition:
vhost_user.h:115
ip_neighbor_scan_arg_t
Definition:
ip_neighbor.h:26
ip_neighbor_scan_enable_disable
void ip_neighbor_scan_enable_disable(ip_neighbor_scan_arg_t *arg)
Definition:
ip_neighbor.c:117
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
IP_NEIGHBOR_FLAG_NONE
Definition:
ip_neighbor.h:40
u8
unsigned char u8
Definition:
types.h:56
ip_neighbor_flags_t
enum ip_neighbor_flags_t_ ip_neighbor_flags_t
u32
unsigned int u32
Definition:
types.h:88
format_ip_neighbor_flags
u8 * format_ip_neighbor_flags(u8 *s, va_list *args)
ip_neighbor_del
int ip_neighbor_del(const ip46_address_t *ip, ip46_type_t type, u32 sw_if_index)
Definition:
ip_neighbor.c:94
ip_neighbor_scan_arg_t::max_proc_time
u8 max_proc_time
Definition:
ip_neighbor.h:30
mac_address_t_
Definition:
mac_address.h:21
IP_NEIGHBOR_FLAG_NO_FIB_ENTRY
Definition:
ip_neighbor.h:43
IP_NEIGHBOR_FLAG_DYNAMIC
Definition:
ip_neighbor.h:42
ip46_type_t
ip46_type_t
Definition:
ip6_packet.h:70
IP_NEIGHBOR_FLAG_STATIC
Definition:
ip_neighbor.h:41
ip_neighbor_flags_t_
ip_neighbor_flags_t_
Definition:
ip_neighbor.h:38
ip_neighbor_add
int ip_neighbor_add(const ip46_address_t *ip, ip46_type_t type, const mac_address_t *mac, u32 sw_if_index, ip_neighbor_flags_t flags, u32 *stats_index)
Definition:
ip_neighbor.c:51
mac
vl_api_mac_address_t mac
Definition:
gbp.api:120
ip_neighbor_scan_arg_t::stale_threshold
u8 stale_threshold
Definition:
ip_neighbor.h:33
src
vnet
ip
ip_neighbor.h
Generated on Mon Jun 29 2020 12:03:15 for FD.io VPP by
1.8.13