projects
/
linux-drm-fsl-dcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[linux-drm-fsl-dcu.git]
/
drivers
/
net
/
macvlan.c
diff --git
a/drivers/net/macvlan.c
b/drivers/net/macvlan.c
index acf93798dc675929394e82ffed96cd1616c3a31d..24ea994b6274c324143973a74aeedf78088ffc74 100644
(file)
--- a/
drivers/net/macvlan.c
+++ b/
drivers/net/macvlan.c
@@
-120,7
+120,7
@@
static int macvlan_broadcast_one(struct sk_buff *skb,
struct net_device *dev = vlan->dev;
if (local)
struct net_device *dev = vlan->dev;
if (local)
- return
vlan->forward
(dev, skb);
+ return
dev_forward_skb
(dev, skb);
skb->dev = dev;
if (ether_addr_equal_64bits(eth->h_dest, dev->broadcast))
skb->dev = dev;
if (ether_addr_equal_64bits(eth->h_dest, dev->broadcast))
@@
-128,7
+128,7
@@
static int macvlan_broadcast_one(struct sk_buff *skb,
else
skb->pkt_type = PACKET_MULTICAST;
else
skb->pkt_type = PACKET_MULTICAST;
- return
vlan->receive
(skb);
+ return
netif_rx
(skb);
}
static u32 macvlan_hash_mix(const struct macvlan_dev *vlan)
}
static u32 macvlan_hash_mix(const struct macvlan_dev *vlan)
@@
-251,7
+251,7
@@
static rx_handler_result_t macvlan_handle_frame(struct sk_buff **pskb)
skb->dev = dev;
skb->pkt_type = PACKET_HOST;
skb->dev = dev;
skb->pkt_type = PACKET_HOST;
- ret =
vlan->receive
(skb);
+ ret =
netif_rx
(skb);
out:
macvlan_count_rx(vlan, len, ret == NET_RX_SUCCESS, 0);
out:
macvlan_count_rx(vlan, len, ret == NET_RX_SUCCESS, 0);
@@
-803,10
+803,7
@@
static int macvlan_validate(struct nlattr *tb[], struct nlattr *data[])
}
int macvlan_common_newlink(struct net *src_net, struct net_device *dev,
}
int macvlan_common_newlink(struct net *src_net, struct net_device *dev,
- struct nlattr *tb[], struct nlattr *data[],
- int (*receive)(struct sk_buff *skb),
- int (*forward)(struct net_device *dev,
- struct sk_buff *skb))
+ struct nlattr *tb[], struct nlattr *data[])
{
struct macvlan_dev *vlan = netdev_priv(dev);
struct macvlan_port *port;
{
struct macvlan_dev *vlan = netdev_priv(dev);
struct macvlan_port *port;
@@
-820,13
+817,11
@@
int macvlan_common_newlink(struct net *src_net, struct net_device *dev,
if (lowerdev == NULL)
return -ENODEV;
if (lowerdev == NULL)
return -ENODEV;
- /* When creating macvlans on top of other macvlans - use
+ /* When creating macvlans o
r macvtaps o
n top of other macvlans - use
* the real device as the lowerdev.
*/
* 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;
if (!tb[IFLA_MTU])
dev->mtu = lowerdev->mtu;
@@
-850,8
+845,6
@@
int macvlan_common_newlink(struct net *src_net, struct net_device *dev,
vlan->lowerdev = lowerdev;
vlan->dev = dev;
vlan->port = port;
vlan->lowerdev = lowerdev;
vlan->dev = dev;
vlan->port = port;
- vlan->receive = receive;
- vlan->forward = forward;
vlan->set_features = MACVLAN_FEATURES;
vlan->mode = MACVLAN_MODE_VEPA;
vlan->set_features = MACVLAN_FEATURES;
vlan->mode = MACVLAN_MODE_VEPA;
@@
-896,9
+889,7
@@
EXPORT_SYMBOL_GPL(macvlan_common_newlink);
static int macvlan_newlink(struct net *src_net, struct net_device *dev,
struct nlattr *tb[], struct nlattr *data[])
{
static int macvlan_newlink(struct net *src_net, struct net_device *dev,
struct nlattr *tb[], struct nlattr *data[])
{
- return macvlan_common_newlink(src_net, dev, tb, data,
- netif_rx,
- dev_forward_skb);
+ return macvlan_common_newlink(src_net, dev, tb, data);
}
void macvlan_dellink(struct net_device *dev, struct list_head *head)
}
void macvlan_dellink(struct net_device *dev, struct list_head *head)