diff options
Diffstat (limited to 'include/linux/netdevice.h')
| -rw-r--r-- | include/linux/netdevice.h | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 41e1224651c..f2455681337 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
| @@ -313,10 +313,11 @@ struct napi_struct { | |||
| 313 | #ifdef CONFIG_NETPOLL | 313 | #ifdef CONFIG_NETPOLL |
| 314 | spinlock_t poll_lock; | 314 | spinlock_t poll_lock; |
| 315 | int poll_owner; | 315 | int poll_owner; |
| 316 | struct net_device *dev; | ||
| 317 | #endif | 316 | #endif |
| 317 | struct net_device *dev; | ||
| 318 | struct list_head dev_list; | 318 | struct list_head dev_list; |
| 319 | struct sk_buff *gro_list; | 319 | struct sk_buff *gro_list; |
| 320 | struct sk_buff *skb; | ||
| 320 | }; | 321 | }; |
| 321 | 322 | ||
| 322 | enum | 323 | enum |
| @@ -990,6 +991,9 @@ struct napi_gro_cb { | |||
| 990 | 991 | ||
| 991 | /* Number of segments aggregated. */ | 992 | /* Number of segments aggregated. */ |
| 992 | int count; | 993 | int count; |
| 994 | |||
| 995 | /* Free the skb? */ | ||
| 996 | int free; | ||
| 993 | }; | 997 | }; |
| 994 | 998 | ||
| 995 | #define NAPI_GRO_CB(skb) ((struct napi_gro_cb *)(skb)->cb) | 999 | #define NAPI_GRO_CB(skb) ((struct napi_gro_cb *)(skb)->cb) |
| @@ -1011,6 +1015,14 @@ struct packet_type { | |||
| 1011 | struct list_head list; | 1015 | struct list_head list; |
| 1012 | }; | 1016 | }; |
| 1013 | 1017 | ||
| 1018 | struct napi_gro_fraginfo { | ||
| 1019 | skb_frag_t frags[MAX_SKB_FRAGS]; | ||
| 1020 | unsigned int nr_frags; | ||
| 1021 | unsigned int ip_summed; | ||
| 1022 | unsigned int len; | ||
| 1023 | __wsum csum; | ||
| 1024 | }; | ||
| 1025 | |||
| 1014 | #include <linux/interrupt.h> | 1026 | #include <linux/interrupt.h> |
| 1015 | #include <linux/notifier.h> | 1027 | #include <linux/notifier.h> |
| 1016 | 1028 | ||
| @@ -1113,9 +1125,6 @@ struct softnet_data | |||
| 1113 | struct sk_buff *completion_queue; | 1125 | struct sk_buff *completion_queue; |
| 1114 | 1126 | ||
| 1115 | struct napi_struct backlog; | 1127 | struct napi_struct backlog; |
| 1116 | #ifdef CONFIG_NET_DMA | ||
| 1117 | struct dma_chan *net_dma; | ||
| 1118 | #endif | ||
| 1119 | }; | 1128 | }; |
| 1120 | 1129 | ||
| 1121 | DECLARE_PER_CPU(struct softnet_data,softnet_data); | 1130 | DECLARE_PER_CPU(struct softnet_data,softnet_data); |
| @@ -1361,8 +1370,16 @@ extern int netif_rx_ni(struct sk_buff *skb); | |||
| 1361 | #define HAVE_NETIF_RECEIVE_SKB 1 | 1370 | #define HAVE_NETIF_RECEIVE_SKB 1 |
| 1362 | extern int netif_receive_skb(struct sk_buff *skb); | 1371 | extern int netif_receive_skb(struct sk_buff *skb); |
| 1363 | extern void napi_gro_flush(struct napi_struct *napi); | 1372 | extern void napi_gro_flush(struct napi_struct *napi); |
| 1373 | extern int dev_gro_receive(struct napi_struct *napi, | ||
| 1374 | struct sk_buff *skb); | ||
| 1364 | extern int napi_gro_receive(struct napi_struct *napi, | 1375 | extern int napi_gro_receive(struct napi_struct *napi, |
| 1365 | struct sk_buff *skb); | 1376 | struct sk_buff *skb); |
| 1377 | extern void napi_reuse_skb(struct napi_struct *napi, | ||
| 1378 | struct sk_buff *skb); | ||
| 1379 | extern struct sk_buff * napi_fraginfo_skb(struct napi_struct *napi, | ||
| 1380 | struct napi_gro_fraginfo *info); | ||
| 1381 | extern int napi_gro_frags(struct napi_struct *napi, | ||
| 1382 | struct napi_gro_fraginfo *info); | ||
| 1366 | extern void netif_nit_deliver(struct sk_buff *skb); | 1383 | extern void netif_nit_deliver(struct sk_buff *skb); |
| 1367 | extern int dev_valid_name(const char *name); | 1384 | extern int dev_valid_name(const char *name); |
| 1368 | extern int dev_ioctl(struct net *net, unsigned int cmd, void __user *); | 1385 | extern int dev_ioctl(struct net *net, unsigned int cmd, void __user *); |
