diff options
Diffstat (limited to 'include/linux/skbuff.h')
-rw-r--r-- | include/linux/skbuff.h | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 881fe80f01d0..2d6a14f5f2f1 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -196,7 +196,6 @@ typedef unsigned char *sk_buff_data_t; | |||
196 | * @sk: Socket we are owned by | 196 | * @sk: Socket we are owned by |
197 | * @tstamp: Time we arrived | 197 | * @tstamp: Time we arrived |
198 | * @dev: Device we arrived on/are leaving by | 198 | * @dev: Device we arrived on/are leaving by |
199 | * @iif: ifindex of device we arrived on | ||
200 | * @transport_header: Transport layer header | 199 | * @transport_header: Transport layer header |
201 | * @network_header: Network layer header | 200 | * @network_header: Network layer header |
202 | * @mac_header: Link layer header | 201 | * @mac_header: Link layer header |
@@ -231,6 +230,8 @@ typedef unsigned char *sk_buff_data_t; | |||
231 | * @nfctinfo: Relationship of this skb to the connection | 230 | * @nfctinfo: Relationship of this skb to the connection |
232 | * @nfct_reasm: netfilter conntrack re-assembly pointer | 231 | * @nfct_reasm: netfilter conntrack re-assembly pointer |
233 | * @nf_bridge: Saved data about a bridged frame - see br_netfilter.c | 232 | * @nf_bridge: Saved data about a bridged frame - see br_netfilter.c |
233 | * @iif: ifindex of device we arrived on | ||
234 | * @queue_mapping: Queue mapping for multiqueue devices | ||
234 | * @tc_index: Traffic control index | 235 | * @tc_index: Traffic control index |
235 | * @tc_verd: traffic control verdict | 236 | * @tc_verd: traffic control verdict |
236 | * @dma_cookie: a cookie to one of several possible DMA operations | 237 | * @dma_cookie: a cookie to one of several possible DMA operations |
@@ -246,8 +247,6 @@ struct sk_buff { | |||
246 | struct sock *sk; | 247 | struct sock *sk; |
247 | ktime_t tstamp; | 248 | ktime_t tstamp; |
248 | struct net_device *dev; | 249 | struct net_device *dev; |
249 | int iif; | ||
250 | /* 4 byte hole on 64 bit*/ | ||
251 | 250 | ||
252 | struct dst_entry *dst; | 251 | struct dst_entry *dst; |
253 | struct sec_path *sp; | 252 | struct sec_path *sp; |
@@ -290,12 +289,18 @@ struct sk_buff { | |||
290 | #ifdef CONFIG_BRIDGE_NETFILTER | 289 | #ifdef CONFIG_BRIDGE_NETFILTER |
291 | struct nf_bridge_info *nf_bridge; | 290 | struct nf_bridge_info *nf_bridge; |
292 | #endif | 291 | #endif |
292 | |||
293 | int iif; | ||
294 | __u16 queue_mapping; | ||
295 | |||
293 | #ifdef CONFIG_NET_SCHED | 296 | #ifdef CONFIG_NET_SCHED |
294 | __u16 tc_index; /* traffic control index */ | 297 | __u16 tc_index; /* traffic control index */ |
295 | #ifdef CONFIG_NET_CLS_ACT | 298 | #ifdef CONFIG_NET_CLS_ACT |
296 | __u16 tc_verd; /* traffic control verdict */ | 299 | __u16 tc_verd; /* traffic control verdict */ |
297 | #endif | 300 | #endif |
298 | #endif | 301 | #endif |
302 | /* 2 byte hole */ | ||
303 | |||
299 | #ifdef CONFIG_NET_DMA | 304 | #ifdef CONFIG_NET_DMA |
300 | dma_cookie_t dma_cookie; | 305 | dma_cookie_t dma_cookie; |
301 | #endif | 306 | #endif |
@@ -1725,6 +1730,20 @@ static inline void skb_init_secmark(struct sk_buff *skb) | |||
1725 | { } | 1730 | { } |
1726 | #endif | 1731 | #endif |
1727 | 1732 | ||
1733 | static inline void skb_set_queue_mapping(struct sk_buff *skb, u16 queue_mapping) | ||
1734 | { | ||
1735 | #ifdef CONFIG_NETDEVICES_MULTIQUEUE | ||
1736 | skb->queue_mapping = queue_mapping; | ||
1737 | #endif | ||
1738 | } | ||
1739 | |||
1740 | static inline void skb_copy_queue_mapping(struct sk_buff *to, const struct sk_buff *from) | ||
1741 | { | ||
1742 | #ifdef CONFIG_NETDEVICES_MULTIQUEUE | ||
1743 | to->queue_mapping = from->queue_mapping; | ||
1744 | #endif | ||
1745 | } | ||
1746 | |||
1728 | static inline int skb_is_gso(const struct sk_buff *skb) | 1747 | static inline int skb_is_gso(const struct sk_buff *skb) |
1729 | { | 1748 | { |
1730 | return skb_shinfo(skb)->gso_size; | 1749 | return skb_shinfo(skb)->gso_size; |