aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/skbuff.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/skbuff.h')
-rw-r--r--include/linux/skbuff.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 610a201126ee..17a13e4785fc 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -641,6 +641,7 @@ typedef unsigned char *sk_buff_data_t;
641 * @no_fcs: Request NIC to treat last 4 bytes as Ethernet FCS 641 * @no_fcs: Request NIC to treat last 4 bytes as Ethernet FCS
642 * @csum_not_inet: use CRC32c to resolve CHECKSUM_PARTIAL 642 * @csum_not_inet: use CRC32c to resolve CHECKSUM_PARTIAL
643 * @dst_pending_confirm: need to confirm neighbour 643 * @dst_pending_confirm: need to confirm neighbour
644 * @decrypted: Decrypted SKB
644 * @napi_id: id of the NAPI struct this skb came from 645 * @napi_id: id of the NAPI struct this skb came from
645 * @secmark: security marking 646 * @secmark: security marking
646 * @mark: Generic packet mark 647 * @mark: Generic packet mark
@@ -675,12 +676,16 @@ struct sk_buff {
675 * UDP receive path is one user. 676 * UDP receive path is one user.
676 */ 677 */
677 unsigned long dev_scratch; 678 unsigned long dev_scratch;
678 int ip_defrag_offset;
679 }; 679 };
680 }; 680 };
681 struct rb_node rbnode; /* used in netem & tcp stack */ 681 struct rb_node rbnode; /* used in netem, ip4 defrag, and tcp stack */
682 struct list_head list;
683 };
684
685 union {
686 struct sock *sk;
687 int ip_defrag_offset;
682 }; 688 };
683 struct sock *sk;
684 689
685 union { 690 union {
686 ktime_t tstamp; 691 ktime_t tstamp;
@@ -791,6 +796,9 @@ struct sk_buff {
791 __u8 tc_redirected:1; 796 __u8 tc_redirected:1;
792 __u8 tc_from_ingress:1; 797 __u8 tc_from_ingress:1;
793#endif 798#endif
799#ifdef CONFIG_TLS_DEVICE
800 __u8 decrypted:1;
801#endif
794 802
795#ifdef CONFIG_NET_SCHED 803#ifdef CONFIG_NET_SCHED
796 __u16 tc_index; /* traffic control index */ 804 __u16 tc_index; /* traffic control index */
@@ -1030,6 +1038,7 @@ static inline struct sk_buff *alloc_skb_fclone(unsigned int size,
1030} 1038}
1031 1039
1032struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src); 1040struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src);
1041void skb_headers_offset_update(struct sk_buff *skb, int off);
1033int skb_copy_ubufs(struct sk_buff *skb, gfp_t gfp_mask); 1042int skb_copy_ubufs(struct sk_buff *skb, gfp_t gfp_mask);
1034struct sk_buff *skb_clone(struct sk_buff *skb, gfp_t priority); 1043struct sk_buff *skb_clone(struct sk_buff *skb, gfp_t priority);
1035void skb_copy_header(struct sk_buff *new, const struct sk_buff *old); 1044void skb_copy_header(struct sk_buff *new, const struct sk_buff *old);
@@ -2354,7 +2363,7 @@ static inline void skb_probe_transport_header(struct sk_buff *skb,
2354 if (skb_transport_header_was_set(skb)) 2363 if (skb_transport_header_was_set(skb))
2355 return; 2364 return;
2356 2365
2357 if (skb_flow_dissect_flow_keys_basic(skb, &keys, 0, 0, 0, 0, 0)) 2366 if (skb_flow_dissect_flow_keys_basic(skb, &keys, NULL, 0, 0, 0, 0))
2358 skb_set_transport_header(skb, keys.control.thoff); 2367 skb_set_transport_header(skb, keys.control.thoff);
2359 else 2368 else
2360 skb_set_transport_header(skb, offset_hint); 2369 skb_set_transport_header(skb, offset_hint);
@@ -2580,7 +2589,7 @@ static inline void __skb_queue_purge(struct sk_buff_head *list)
2580 kfree_skb(skb); 2589 kfree_skb(skb);
2581} 2590}
2582 2591
2583void skb_rbtree_purge(struct rb_root *root); 2592unsigned int skb_rbtree_purge(struct rb_root *root);
2584 2593
2585void *netdev_alloc_frag(unsigned int fragsz); 2594void *netdev_alloc_frag(unsigned int fragsz);
2586 2595