FD.io VPP  v21.06
Vector Packet Processing
arping.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021 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 #ifndef included_arping_arping_h
16 #define included_arping_arping_h
17 
18 #include <vnet/ip/ip_types.h>
20 
21 #define ARPING_DEFAULT_INTERVAL 1.0
22 #define ARPING_DEFAULT_REPEAT 1
23 
24 typedef struct arping6_ip6_reply_t
25 {
27  ip6_address_t ip6;
29 
30 typedef CLIB_PACKED (union arping46_reply_ {
31  ethernet_arp_ip4_over_ethernet_address_t from4;
32  arping6_ip6_reply_t from6;
33 }) arping46_reply_t;
34 
35 typedef struct arping_intf_t
36 {
37  CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
41 
42  arping46_reply_t recv;
45 
46 typedef struct arping_main_t
47 {
52 
53 typedef struct arping_args_t
54 {
61 
62  /* reply */
65  arping46_reply_t recv;
68 
70 
72 extern void arping_run_command (vlib_main_t *vm, arping_args_t *args);
73 
74 #endif /* included_arping_arping_h */
u32 reply_count
Definition: arping.h:64
arping_intf_t ** interfaces
Definition: arping.h:49
#define CLIB_CACHE_LINE_ALIGN_MARK(mark)
Definition: cache.h:60
f64 interval
Definition: arping.h:58
f64 interval
Definition: arping.h:38
unsigned char u8
Definition: types.h:56
u32 sw_if_index
Definition: arping.h:56
double f64
Definition: types.h:142
unsigned int u32
Definition: types.h:88
clib_error_t * arping_plugin_api_hookup(vlib_main_t *vm)
Definition: arping_api.c:67
arping_main_t arping_main
Definition: arping.c:26
u16 msg_id_base
Definition: arping.h:50
u8 is_garp
Definition: arping.h:59
arping46_reply_t recv
Definition: arping.h:65
clib_error_t * error
Definition: arping.h:66
u32 repeat
Definition: arping.h:39
unsigned short u16
Definition: types.h:57
arping_intf_t * arping_interfaces
Definition: arping.h:48
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
Definition: nat44_ei.c:3047
ip_address_t address
Definition: arping.h:55
void arping_run_command(vlib_main_t *vm, arping_args_t *args)
Definition: arping.c:634
struct arping_intf_t arping_intf_t
struct arping_args_t arping_args_t
typedef CLIB_PACKED(union arping46_reply_ { ethernet_arp_ip4_over_ethernet_address_t from4;arping6_ip6_reply_t from6;}) arping46_reply_t
mac_address_t mac
Definition: arping.h:26
signed int i32
Definition: types.h:77
u32 reply_count
Definition: arping.h:43
u32 repeat
Definition: arping.h:57
u8 silence
Definition: arping.h:60
struct arping_main_t arping_main_t
struct arping6_ip6_reply_t arping6_ip6_reply_t
arping46_reply_t recv
Definition: arping.h:42
ip_address_t address
Definition: arping.h:40
ip6_address_t ip6
Definition: arping.h:27