File tree Expand file tree Collapse file tree 2 files changed +20
-0
lines changed Expand file tree Collapse file tree 2 files changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -3477,6 +3477,7 @@ int netif_rx(struct sk_buff *skb);
3477
3477
int netif_rx_ni (struct sk_buff * skb );
3478
3478
int netif_receive_skb (struct sk_buff * skb );
3479
3479
int netif_receive_skb_core (struct sk_buff * skb );
3480
+ void netif_receive_skb_list (struct list_head * head );
3480
3481
gro_result_t napi_gro_receive (struct napi_struct * napi , struct sk_buff * skb );
3481
3482
void napi_gro_flush (struct napi_struct * napi , bool flush_old );
3482
3483
struct sk_buff * napi_get_frags (struct napi_struct * napi );
Original file line number Diff line number Diff line change @@ -4906,6 +4906,25 @@ int netif_receive_skb(struct sk_buff *skb)
4906
4906
}
4907
4907
EXPORT_SYMBOL (netif_receive_skb );
4908
4908
4909
+ /**
4910
+ * netif_receive_skb_list - process many receive buffers from network
4911
+ * @head: list of skbs to process.
4912
+ *
4913
+ * For now, just calls netif_receive_skb() in a loop, ignoring the
4914
+ * return value.
4915
+ *
4916
+ * This function may only be called from softirq context and interrupts
4917
+ * should be enabled.
4918
+ */
4919
+ void netif_receive_skb_list (struct list_head * head )
4920
+ {
4921
+ struct sk_buff * skb , * next ;
4922
+
4923
+ list_for_each_entry_safe (skb , next , head , list )
4924
+ netif_receive_skb (skb );
4925
+ }
4926
+ EXPORT_SYMBOL (netif_receive_skb_list );
4927
+
4909
4928
DEFINE_PER_CPU (struct work_struct , flush_works );
4910
4929
4911
4930
/* Network device is going away, flush any packets still pending */
You can’t perform that action at this time.
0 commit comments