Last active
December 30, 2015 02:39
-
-
Save kevinwallace/7763791 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From ecbfba5bfd8f84511793901a2f82210c8db08213 Mon Sep 17 00:00:00 2001 | |
From: Kevin Wallace <kevin@pentabarf.net> | |
Date: Tue, 3 Dec 2013 01:45:13 -0800 | |
Subject: [PATCH] macvlan: Support creating macvtaps from macvlans | |
When running in a network namespace whose only link to the outside | |
world is a macvlan device, not being able to create a macvtap off of | |
it is a real pain. | |
So modify macvtap creation to automatically forward a creation of a | |
macvtap on a macvlan to become a creation of a macvtap on the | |
underlying network device, just like is currently done with | |
macvlan-on-macvlan devices. | |
v2: Use netif_is_macvlan and macvlan_dev_real_dev helpers to make it | |
more clear what we're doing. | |
Signed-off-by: Kevin Wallace <kevin@pentabarf.net> | |
--- | |
drivers/net/macvlan.c | 8 +++----- | |
1 file changed, 3 insertions(+), 5 deletions(-) | |
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c | |
index acf9379..cfb9157 100644 | |
--- a/drivers/net/macvlan.c | |
+++ b/drivers/net/macvlan.c | |
@@ -820,13 +820,11 @@ int macvlan_common_newlink(struct net *src_net, struct net_device *dev, | |
if (lowerdev == NULL) | |
return -ENODEV; | |
- /* When creating macvlans on top of other macvlans - use | |
+ /* When creating macvlans or macvtaps on top of other macvlans - use | |
* the real device as the lowerdev. | |
*/ | |
- if (lowerdev->rtnl_link_ops == dev->rtnl_link_ops) { | |
- struct macvlan_dev *lowervlan = netdev_priv(lowerdev); | |
- lowerdev = lowervlan->lowerdev; | |
- } | |
+ if (netif_is_macvlan(lowerdev)) | |
+ lowerdev = macvlan_dev_real_dev(lowerdev); | |
if (!tb[IFLA_MTU]) | |
dev->mtu = lowerdev->mtu; | |
-- | |
1.8.3.2 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment