ARP Event reply sw_if_index was getting passed in host byte order.
Change-Id: Ifae8673906ac2c4233f146786a3d02c38280809b
Signed-off-by: Wojciech Dec <wdec@cisco.com>
static void
vl_api_ip4_arp_event_t_handler (vl_api_ip4_arp_event_t * mp)
{
static void
vl_api_ip4_arp_event_t_handler (vl_api_ip4_arp_event_t * mp)
{
+ u32 sw_if_index = ntohl (mp->sw_if_index);
errmsg ("arp %s event: address %U new mac %U sw_if_index %d",
mp->mac_ip ? "mac/ip binding" : "address resolution",
format_ip4_address, &mp->address,
errmsg ("arp %s event: address %U new mac %U sw_if_index %d",
mp->mac_ip ? "mac/ip binding" : "address resolution",
format_ip4_address, &mp->address,
- format_ethernet_address, mp->new_mac, mp->sw_if_index);
+ format_ethernet_address, mp->new_mac, sw_if_index);
static void
vl_api_ip6_nd_event_t_handler (vl_api_ip6_nd_event_t * mp)
{
static void
vl_api_ip6_nd_event_t_handler (vl_api_ip6_nd_event_t * mp)
{
+ u32 sw_if_index = ntohl (mp->sw_if_index);
errmsg ("ip6 nd %s event: address %U new mac %U sw_if_index %d",
mp->mac_ip ? "mac/ip binding" : "address resolution",
format_ip6_address, mp->address,
errmsg ("ip6 nd %s event: address %U new mac %U sw_if_index %d",
mp->mac_ip ? "mac/ip binding" : "address resolution",
format_ip6_address, mp->address,
- format_ethernet_address, mp->new_mac, mp->sw_if_index);
+ format_ethernet_address, mp->new_mac, sw_if_index);
- if (sw_if_index == event->sw_if_index &&
+ if (sw_if_index == ntohl(event->sw_if_index) &&
(!event->mac_ip ||
/* for BD case, also check IP address with 10 sec timeout */
(address == event->address &&
(!event->mac_ip ||
/* for BD case, also check IP address with 10 sec timeout */
(address == event->address &&
/* *INDENT-ON* */
arp_event_last_time = now;
/* *INDENT-ON* */
arp_event_last_time = now;
- event->sw_if_index = sw_if_index;
+ event->sw_if_index = htonl (sw_if_index);
if (event->mac_ip)
event->address = address;
return 0;
if (event->mac_ip)
event->address = address;
return 0;
- if (sw_if_index == event->sw_if_index &&
+ if (sw_if_index == ntohl(event->sw_if_index) &&
(!event->mac_ip ||
/* for BD case, also check IP address with 10 sec timeout */
(ip6_address_is_equal (address,
(!event->mac_ip ||
/* for BD case, also check IP address with 10 sec timeout */
(ip6_address_is_equal (address,
/* *INDENT-ON* */
nd_event_last_time = now;
/* *INDENT-ON* */
nd_event_last_time = now;
- event->sw_if_index = sw_if_index;
+ event->sw_if_index = htonl (sw_if_index);
if (event->mac_ip)
clib_memcpy (event->address, address, sizeof (event->address));
return 0;
if (event->mac_ip)
clib_memcpy (event->address, address, sizeof (event->address));
return 0;