diff options
author | Neale Ranns <nranns@cisco.com> | 2020-02-24 12:45:53 +0000 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2020-02-24 15:46:37 +0000 |
commit | e98d71b07eac32e07597e0a3c3c5f7ccd4c27ba9 (patch) | |
tree | 2d2f86ccce47756f169cb9a5ee90f6cb6342ef46 | |
parent | f0d8d8fca943a4fec10e99ee74928e41a937e584 (diff) |
ethernet: trivial additions
Type: improvement
- macros to identify SENDER and TARGET in ARP header
- count the number of bits set in a mac_address
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: Id31e27a4f5f01a8cfb70d3798416bb2519981654
-rw-r--r-- | src/vnet/ethernet/arp_packet.h | 3 | ||||
-rw-r--r-- | src/vnet/ethernet/mac_address.h | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/vnet/ethernet/arp_packet.h b/src/vnet/ethernet/arp_packet.h index a35adf17c85..6b4dfa6ab3d 100644 --- a/src/vnet/ethernet/arp_packet.h +++ b/src/vnet/ethernet/arp_packet.h @@ -146,6 +146,9 @@ typedef struct }; } ethernet_arp_header_t; +#define ARP_SENDER 0 +#define ARP_TARGET 1 + extern u8 *format_ethernet_arp_header (u8 * s, va_list * va); extern u8 *format_ethernet_arp_opcode (u8 * s, va_list * va); extern u8 *format_ethernet_arp_hardware_type (u8 * s, va_list * va); diff --git a/src/vnet/ethernet/mac_address.h b/src/vnet/ethernet/mac_address.h index aa773c5c449..68feb3977f0 100644 --- a/src/vnet/ethernet/mac_address.h +++ b/src/vnet/ethernet/mac_address.h @@ -149,6 +149,12 @@ mac_address_set_zero (mac_address_t * mac) mac->u.last_2 = 0; } +static_always_inline int +mac_address_n_bits_set (const mac_address_t * a) +{ + return (count_set_bits (mac_address_as_u64 (a))); +} + extern void mac_address_increment (mac_address_t * mac); extern uword unformat_mac_address_t (unformat_input_t * input, va_list * args); |