git://git.onelab.eu
/
sliver-openvswitch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ovs-ctl: Make "force-reload-kmod" warn when DHCP clients must be restarted.
[sliver-openvswitch.git]
/
datapath
/
vport-internal_dev.c
diff --git
a/datapath/vport-internal_dev.c
b/datapath/vport-internal_dev.c
index
c56f3b2
..
9647a61
100644
(file)
--- a/
datapath/vport-internal_dev.c
+++ b/
datapath/vport-internal_dev.c
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (c) 2007-201
1
Nicira Networks.
+ * Copyright (c) 2007-201
2
Nicira Networks.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of version 2 of the GNU General Public
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of version 2 of the GNU General Public
@@
-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;
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;
}
memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
return 0;
}
@@
-203,7
+206,7
@@
static void do_setup(struct net_device *netdev)
netdev->tx_queue_len = 0;
netdev->features = NETIF_F_LLTX | NETIF_F_SG | NETIF_F_FRAGLIST |
netdev->tx_queue_len = 0;
netdev->features = NETIF_F_LLTX | NETIF_F_SG | NETIF_F_FRAGLIST |
-
NETIF_F_HIGHDMA | NETIF_F_HW_CSUM | NETIF_F_TSO;
+ NETIF_F_HIGHDMA | NETIF_F_HW_CSUM | NETIF_F_TSO;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)
netdev->vlan_features = netdev->features;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)
netdev->vlan_features = netdev->features;
@@
-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
#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)
}
static struct vport *internal_dev_create(const struct vport_parms *parms)
@@
-239,9
+242,14
@@
static struct vport *internal_dev_create(const struct vport_parms *parms)
goto error_free_vport;
}
goto error_free_vport;
}
+ dev_net_set(netdev_vport->dev, ovs_dp_get_net(vport->dp));
internal_dev = internal_dev_priv(netdev_vport->dev);
internal_dev->vport = vport;
internal_dev = internal_dev_priv(netdev_vport->dev);
internal_dev->vport = vport;
+ /* Restrict bridge port to current netns. */
+ if (vport->port_no == OVSP_LOCAL)
+ netdev_vport->dev->features |= NETIF_F_NETNS_LOCAL;
+
err = register_netdevice(netdev_vport->dev);
if (err)
goto error_free_netdev;
err = register_netdevice(netdev_vport->dev);
if (err)
goto error_free_netdev;