net: xmit_list() becomes dev_hard_start_xmit().
authorDavid S. Miller <davem@davemloft.net>
Mon, 1 Sep 2014 22:06:40 +0000 (15:06 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 2 Sep 2014 00:39:56 +0000 (17:39 -0700)
Now fundamentally we can process lists of SKBs as cheaply
as single packets.

Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c

index c89da4f306b12dfd99b12ca1a27063b6dbf07900..6857d57aa294f043b9f58b739ce5e14c849c3902 100644 (file)
@@ -2570,8 +2570,8 @@ static int xmit_one(struct sk_buff *skb, struct net_device *dev,
        return rc;
 }
 
-static struct sk_buff *xmit_list(struct sk_buff *first, struct net_device *dev,
-                                struct netdev_queue *txq, int *ret)
+struct sk_buff *dev_hard_start_xmit(struct sk_buff *first, struct net_device *dev,
+                                   struct netdev_queue *txq, int *ret)
 {
        struct sk_buff *skb = first;
        int rc = NETDEV_TX_OK;
@@ -2673,17 +2673,6 @@ out_null:
        return NULL;
 }
 
-struct sk_buff *dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev,
-                                   struct netdev_queue *txq, int *ret)
-{
-       if (likely(!skb->next)) {
-               *ret = xmit_one(skb, dev, txq, false);
-               return skb;
-       }
-
-       return xmit_list(skb, dev, txq, ret);
-}
-
 static void qdisc_pkt_len_init(struct sk_buff *skb)
 {
        const struct skb_shared_info *shinfo = skb_shinfo(skb);