goto error_free_vport;
        }
 
-       vport_gen_rand_ether_addr(mutable->eth_addr);
+       random_ether_addr(mutable->eth_addr);
 
        get_random_bytes(&initial_frag_id, sizeof(int));
        atomic_set(&tnl_vport->frag_id, initial_frag_id);
 
 
 #include "vport-generic.h"
 
-void vport_gen_rand_ether_addr(u8 *addr)
-{
-       random_ether_addr(addr);
-
-       /* Set the OUI to the Nicira one. */
-       addr[0] = 0x00;
-       addr[1] = 0x23;
-       addr[2] = 0x20;
-
-       /* Set the top bit to indicate random address. */
-       addr[3] |= 0x80;
-}
-
 unsigned vport_gen_get_dev_flags(const struct vport *vport)
 {
        return IFF_UP | IFF_RUNNING | IFF_LOWER_UP;
 
 
 #include "vport.h"
 
-void vport_gen_rand_ether_addr(u8 *addr);
 unsigned vport_gen_get_dev_flags(const struct vport *);
 int vport_gen_is_running(const struct vport *);
 unsigned char vport_gen_get_operstate(const struct vport *);
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39)
        netdev->hw_features = netdev->features & ~NETIF_F_LLTX;
 #endif
-       vport_gen_rand_ether_addr(netdev->dev_addr);
+       random_ether_addr(netdev->dev_addr);
 }
 
 static struct vport *internal_dev_create(const struct vport_parms *parms)
 
        if (err)
                goto error_free_patchconf;
 
-       vport_gen_rand_ether_addr(patchconf->eth_addr);
+       random_ether_addr(patchconf->eth_addr);
 
        rcu_assign_pointer(patch_vport->patchconf, patchconf);