ip: Protocol Independent IP Neighbors
[vpp.git] / src / vnet / ethernet / mac_address.h
index 87a66a2..aa773c5 100644 (file)
@@ -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);