aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Dichtel <nicolas.dichtel@6wind.com>2015-04-02 11:07:03 -0400
committerDavid S. Miller <davem@davemloft.net>2015-04-02 14:05:00 -0400
commitee9b9596a8dd90fc59a910f840a419321be5917b (patch)
treebc34df5cbbe218eca75c5068b5fd10fb15401dc1
parent1e99584b911cb6f3d2a681e2532d8dc3f9339c9c (diff)
ipmr,ip6mr: implement ndo_get_iflink
Don't use dev->iflink anymore. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv4/ipmr.c7
-rw-r--r--net/ipv6/ip6mr.c7
2 files changed, 12 insertions, 2 deletions
diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c
index eec68b0c3bc8..d2e3b3ef039e 100644
--- a/net/ipv4/ipmr.c
+++ b/net/ipv4/ipmr.c
@@ -473,8 +473,14 @@ static netdev_tx_t reg_vif_xmit(struct sk_buff *skb, struct net_device *dev)
473 return NETDEV_TX_OK; 473 return NETDEV_TX_OK;
474} 474}
475 475
476static int reg_vif_get_iflink(const struct net_device *dev)
477{
478 return 0;
479}
480
476static const struct net_device_ops reg_vif_netdev_ops = { 481static const struct net_device_ops reg_vif_netdev_ops = {
477 .ndo_start_xmit = reg_vif_xmit, 482 .ndo_start_xmit = reg_vif_xmit,
483 .ndo_get_iflink = reg_vif_get_iflink,
478}; 484};
479 485
480static void reg_vif_setup(struct net_device *dev) 486static void reg_vif_setup(struct net_device *dev)
@@ -509,7 +515,6 @@ static struct net_device *ipmr_reg_vif(struct net *net, struct mr_table *mrt)
509 free_netdev(dev); 515 free_netdev(dev);
510 return NULL; 516 return NULL;
511 } 517 }
512 dev->iflink = 0;
513 518
514 rcu_read_lock(); 519 rcu_read_lock();
515 in_dev = __in_dev_get_rcu(dev); 520 in_dev = __in_dev_get_rcu(dev);
diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c
index 18a5ab286420..003431f5b4b6 100644
--- a/net/ipv6/ip6mr.c
+++ b/net/ipv6/ip6mr.c
@@ -718,8 +718,14 @@ static netdev_tx_t reg_vif_xmit(struct sk_buff *skb,
718 return NETDEV_TX_OK; 718 return NETDEV_TX_OK;
719} 719}
720 720
721static int reg_vif_get_iflink(const struct net_device *dev)
722{
723 return 0;
724}
725
721static const struct net_device_ops reg_vif_netdev_ops = { 726static const struct net_device_ops reg_vif_netdev_ops = {
722 .ndo_start_xmit = reg_vif_xmit, 727 .ndo_start_xmit = reg_vif_xmit,
728 .ndo_get_iflink = reg_vif_get_iflink,
723}; 729};
724 730
725static void reg_vif_setup(struct net_device *dev) 731static void reg_vif_setup(struct net_device *dev)
@@ -752,7 +758,6 @@ static struct net_device *ip6mr_reg_vif(struct net *net, struct mr6_table *mrt)
752 free_netdev(dev); 758 free_netdev(dev);
753 return NULL; 759 return NULL;
754 } 760 }
755 dev->iflink = 0;
756 761
757 if (dev_open(dev)) 762 if (dev_open(dev))
758 goto failure; 763 goto failure;