X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=datapath%2Fvport-internal_dev.c;h=9647a617c9f57d1f7ee20e973dffb60c82511f86;hb=200940deb7c85de7afe3e52edabf574088ac01e3;hp=46b78d226d20d5729b05b7a3bb1fda91c2f26d4d;hpb=2a4999f3f33467f4fa22ed6e5b06350615fb2dac;p=openvswitch diff --git a/datapath/vport-internal_dev.c b/datapath/vport-internal_dev.c index 46b78d22..9647a617 100644 --- a/datapath/vport-internal_dev.c +++ b/datapath/vport-internal_dev.c @@ -87,6 +87,9 @@ static int internal_dev_mac_addr(struct net_device *dev, void *p) if (!is_valid_ether_addr(addr->sa_data)) return -EADDRNOTAVAIL; +#ifdef NET_ADDR_RANDOM + dev->addr_assign_type &= ~NET_ADDR_RANDOM; +#endif memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); return 0; } @@ -213,7 +216,7 @@ static void do_setup(struct net_device *netdev) #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39) netdev->hw_features = netdev->features & ~NETIF_F_LLTX; #endif - random_ether_addr(netdev->dev_addr); + eth_hw_addr_random(netdev); } static struct vport *internal_dev_create(const struct vport_parms *parms)