Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d6b00fec authored by Mahesh Bandewar's avatar Mahesh Bandewar Committed by David S. Miller
Browse files

macvlan: play well with ipvlan device



If device is already used as an ipvlan port then refuse to
use it as a macvlan port at early stage of port creation.

	thost1:~# ip link add link eth0 ipvl0 type ipvlan
	thost1:~# echo $?
	0
	thost1:~# ip link add link eth0 mvl0 type macvlan
	RTNETLINK answers: Device or resource busy
	thost1:~# echo $?
	2
	thost1:~#

Signed-off-by: default avatarMahesh Bandewar <maheshb@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5933fea7
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1057,6 +1057,9 @@ static int macvlan_port_create(struct net_device *dev)
	if (dev->type != ARPHRD_ETHER || dev->flags & IFF_LOOPBACK)
		return -EINVAL;

	if (netif_is_ipvlan_port(dev))
		return -EBUSY;

	port = kzalloc(sizeof(*port), GFP_KERNEL);
	if (port == NULL)
		return -ENOMEM;