aboutsummaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dev.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index cd0981977f5c..c6e29ea65bd9 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2476,6 +2476,23 @@ static DEFINE_PER_CPU(int, xmit_recursion);
2476#define RECURSION_LIMIT 10 2476#define RECURSION_LIMIT 10
2477 2477
2478/** 2478/**
2479 * dev_loopback_xmit - loop back @skb
2480 * @skb: buffer to transmit
2481 */
2482int dev_loopback_xmit(struct sk_buff *skb)
2483{
2484 skb_reset_mac_header(skb);
2485 __skb_pull(skb, skb_network_offset(skb));
2486 skb->pkt_type = PACKET_LOOPBACK;
2487 skb->ip_summed = CHECKSUM_UNNECESSARY;
2488 WARN_ON(!skb_dst(skb));
2489 skb_dst_force(skb);
2490 netif_rx_ni(skb);
2491 return 0;
2492}
2493EXPORT_SYMBOL(dev_loopback_xmit);
2494
2495/**
2479 * dev_queue_xmit - transmit a buffer 2496 * dev_queue_xmit - transmit a buffer
2480 * @skb: buffer to transmit 2497 * @skb: buffer to transmit
2481 * 2498 *