X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fethernet%2Fmac_address.h;h=aa773c5c44945a0a031a70e4013a7222895012e7;hb=cbe25aab3be72154f2c706c39eeba6a77f34450f;hp=87a66a242be9d1b35de76c8a9f56e1920f20023e;hpb=37029305c671f4e2d091d6f6c22142634e409043;p=vpp.git diff --git a/src/vnet/ethernet/mac_address.h b/src/vnet/ethernet/mac_address.h index 87a66a242be..aa773c5c449 100644 --- a/src/vnet/ethernet/mac_address.h +++ b/src/vnet/ethernet/mac_address.h @@ -70,6 +70,17 @@ ethernet_mac_address_is_zero (const u8 * mac) return ((*((u32 *) mac) == 0) && (*((u16 *) (mac + 4)) == 0)); } +static inline void +ethernet_mac_address_generate (u8 * mac) +{ + u32 rnd = clib_cpu_time_now (); + rnd = random_u32 (&rnd); + + memcpy (mac + 2, &rnd, sizeof (rnd)); + mac[0] = 2; + mac[1] = 0xfe; +} + static inline int ethernet_mac_address_equal (const u8 * a, const u8 * b) { @@ -138,6 +149,7 @@ mac_address_set_zero (mac_address_t * mac) mac->u.last_2 = 0; } +extern void mac_address_increment (mac_address_t * mac); extern uword unformat_mac_address_t (unformat_input_t * input, va_list * args); extern u8 *format_mac_address_t (u8 * s, va_list * args);