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:
7 * http://www.apache.org/licenses/LICENSE-2.0
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.
15 #ifndef included_arping_arping_h
16 #define included_arping_arping_h
18 #include <vnet/ip/ip_types.h>
19 #include <vnet/ethernet/arp_packet.h>
21 #define ARPING_DEFAULT_INTERVAL 1.0
22 #define ARPING_DEFAULT_REPEAT 1
24 typedef struct arping6_ip6_reply_t
28 } arping6_ip6_reply_t;
30 typedef CLIB_PACKED (union arping46_reply_ {
31 ethernet_arp_ip4_over_ethernet_address_t from4;
32 arping6_ip6_reply_t from6;
35 typedef struct arping_intf_t
37 CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
42 arping46_reply_t recv;
46 typedef struct arping_main_t
48 arping_intf_t *arping_interfaces;
49 arping_intf_t **interfaces;
53 typedef struct arping_args_t
65 arping46_reply_t recv;
69 extern arping_main_t arping_main;
71 extern clib_error_t *arping_plugin_api_hookup (vlib_main_t *vm);
72 extern void arping_run_command (vlib_main_t *vm, arping_args_t *args);
74 #endif /* included_arping_arping_h */