aboutsummaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-08-22 19:21:53 -0400
committerDavid S. Miller <davem@davemloft.net>2014-08-25 02:02:45 -0400
commit4798248e4e023170e937a65a1d30fcc52496dd42 (patch)
treec043fec145a1c2035f4c9e4ff7b4fbedc07bb1d5 /net/core
parent4c83acbc565d53296f1731034c5041a0fbabcaeb (diff)
net: Add ops->ndo_xmit_flush()
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dev.c5
-rw-r--r--net/core/netpoll.c3
-rw-r--r--net/core/pktgen.c4
3 files changed, 4 insertions, 8 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index b6a718ec11c1..26d296c2447c 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2602,7 +2602,6 @@ EXPORT_SYMBOL(netif_skb_features);
2602int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev, 2602int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev,
2603 struct netdev_queue *txq) 2603 struct netdev_queue *txq)
2604{ 2604{
2605 const struct net_device_ops *ops = dev->netdev_ops;
2606 int rc = NETDEV_TX_OK; 2605 int rc = NETDEV_TX_OK;
2607 unsigned int skb_len; 2606 unsigned int skb_len;
2608 2607
@@ -2667,7 +2666,7 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev,
2667 2666
2668 skb_len = skb->len; 2667 skb_len = skb->len;
2669 trace_net_dev_start_xmit(skb, dev); 2668 trace_net_dev_start_xmit(skb, dev);
2670 rc = ops->ndo_start_xmit(skb, dev); 2669 rc = netdev_start_xmit(skb, dev);
2671 trace_net_dev_xmit(skb, rc, dev, skb_len); 2670 trace_net_dev_xmit(skb, rc, dev, skb_len);
2672 if (rc == NETDEV_TX_OK) 2671 if (rc == NETDEV_TX_OK)
2673 txq_trans_update(txq); 2672 txq_trans_update(txq);
@@ -2686,7 +2685,7 @@ gso:
2686 2685
2687 skb_len = nskb->len; 2686 skb_len = nskb->len;
2688 trace_net_dev_start_xmit(nskb, dev); 2687 trace_net_dev_start_xmit(nskb, dev);
2689 rc = ops->ndo_start_xmit(nskb, dev); 2688 rc = netdev_start_xmit(nskb, dev);
2690 trace_net_dev_xmit(nskb, rc, dev, skb_len); 2689 trace_net_dev_xmit(nskb, rc, dev, skb_len);
2691 if (unlikely(rc != NETDEV_TX_OK)) { 2690 if (unlikely(rc != NETDEV_TX_OK)) {
2692 if (rc & ~NETDEV_TX_MASK) 2691 if (rc & ~NETDEV_TX_MASK)
diff --git a/net/core/netpoll.c b/net/core/netpoll.c
index 907fb5e36c02..a5ad06828d67 100644
--- a/net/core/netpoll.c
+++ b/net/core/netpoll.c
@@ -72,7 +72,6 @@ module_param(carrier_timeout, uint, 0644);
72static int netpoll_start_xmit(struct sk_buff *skb, struct net_device *dev, 72static int netpoll_start_xmit(struct sk_buff *skb, struct net_device *dev,
73 struct netdev_queue *txq) 73 struct netdev_queue *txq)
74{ 74{
75 const struct net_device_ops *ops = dev->netdev_ops;
76 int status = NETDEV_TX_OK; 75 int status = NETDEV_TX_OK;
77 netdev_features_t features; 76 netdev_features_t features;
78 77
@@ -92,7 +91,7 @@ static int netpoll_start_xmit(struct sk_buff *skb, struct net_device *dev,
92 skb->vlan_tci = 0; 91 skb->vlan_tci = 0;
93 } 92 }
94 93
95 status = ops->ndo_start_xmit(skb, dev); 94 status = netdev_start_xmit(skb, dev);
96 if (status == NETDEV_TX_OK) 95 if (status == NETDEV_TX_OK)
97 txq_trans_update(txq); 96 txq_trans_update(txq);
98 97
diff --git a/net/core/pktgen.c b/net/core/pktgen.c
index 8b849ddfef2e..83e2b4b19eb7 100644
--- a/net/core/pktgen.c
+++ b/net/core/pktgen.c
@@ -3285,8 +3285,6 @@ static void pktgen_wait_for_skb(struct pktgen_dev *pkt_dev)
3285static void pktgen_xmit(struct pktgen_dev *pkt_dev) 3285static void pktgen_xmit(struct pktgen_dev *pkt_dev)
3286{ 3286{
3287 struct net_device *odev = pkt_dev->odev; 3287 struct net_device *odev = pkt_dev->odev;
3288 netdev_tx_t (*xmit)(struct sk_buff *, struct net_device *)
3289 = odev->netdev_ops->ndo_start_xmit;
3290 struct netdev_queue *txq; 3288 struct netdev_queue *txq;
3291 u16 queue_map; 3289 u16 queue_map;
3292 int ret; 3290 int ret;
@@ -3339,7 +3337,7 @@ static void pktgen_xmit(struct pktgen_dev *pkt_dev)
3339 goto unlock; 3337 goto unlock;
3340 } 3338 }
3341 atomic_inc(&(pkt_dev->skb->users)); 3339 atomic_inc(&(pkt_dev->skb->users));
3342 ret = (*xmit)(pkt_dev->skb, odev); 3340 ret = netdev_start_xmit(pkt_dev->skb, odev);
3343 3341
3344 switch (ret) { 3342 switch (ret) {
3345 case NETDEV_TX_OK: 3343 case NETDEV_TX_OK: