| @@ -611,9 +611,15 @@ typedef unsigned char *sk_buff_data_t; · 610 unmodified lines |
| 611 | * @next: Next buffer in list | 611 | * @next: Next buffer in list |
| 612 | * @prev: Previous buffer in list | 612 | * @prev: Previous buffer in list |
| 613 | * @tstamp: Time we arrived/left | 613 | * @tstamp: Time we arrived/left |
| | 614 | * @skb_mstamp_ns: (aka @tstamp) earliest departure time; start point |
| | 615 | * for retransmit timer |
| 614 | * @rbnode: RB tree node, alternative to next/prev for netem/tcp | 616 | * @rbnode: RB tree node, alternative to next/prev for netem/tcp |
| | 617 | * @list: queue head |
| 615 | * @sk: Socket we are owned by | 618 | * @sk: Socket we are owned by |
| | 619 | * @ip_defrag_offset: (aka @sk) alternate use of @sk, used in |
| | 620 | * fragmentation management |
| 616 | * @dev: Device we arrived on/are leaving by | 621 | * @dev: Device we arrived on/are leaving by |
| | 622 | * @dev_scratch: (aka @dev) alternate use of @dev when @dev would be %NULL |
| 617 | * @cb: Control buffer. Free for use by every layer. Put private vars here | 623 | * @cb: Control buffer. Free for use by every layer. Put private vars here |
| 618 | * @_skb_refdst: destination entry (with norefcount bit) | 624 | * @_skb_refdst: destination entry (with norefcount bit) |
| 619 | * @sp: the security path, used for xfrm | 625 | * @sp: the security path, used for xfrm |
| @@ -632,6 +638,9 @@ typedef unsigned char *sk_buff_data_t; · 12 unmodified lines |
| 632 | * @pkt_type: Packet class | 638 | * @pkt_type: Packet class |
| 633 | * @fclone: skbuff clone status | 639 | * @fclone: skbuff clone status |
| 634 | * @ipvs_property: skbuff is owned by ipvs | 640 | * @ipvs_property: skbuff is owned by ipvs |
| | 641 | * @inner_protocol_type: whether the inner protocol is |
| | 642 | * ENCAP_TYPE_ETHER or ENCAP_TYPE_IPPROTO |
| | 643 | * @remcsum_offload: remote checksum offload is enabled |
| 635 | * @offload_fwd_mark: Packet was L2-forwarded in hardware | 644 | * @offload_fwd_mark: Packet was L2-forwarded in hardware |
| 636 | * @offload_l3_fwd_mark: Packet was L3-forwarded in hardware | 645 | * @offload_l3_fwd_mark: Packet was L3-forwarded in hardware |
| 637 | * @tc_skip_classify: do not classify packet. set by IFB device | 646 | * @tc_skip_classify: do not classify packet. set by IFB device |
| @@ -650,6 +659,8 @@ typedef unsigned char *sk_buff_data_t; · 12 unmodified lines |
| 650 | * @tc_index: Traffic control index | 659 | * @tc_index: Traffic control index |
| 651 | * @hash: the packet hash | 660 | * @hash: the packet hash |
| 652 | * @queue_mapping: Queue mapping for multiqueue devices | 661 | * @queue_mapping: Queue mapping for multiqueue devices |
| | 662 | * @head_frag: skb was allocated from page fragments, |
| | 663 | * not allocated by kmalloc() or vmalloc(). |
| 653 | * @pfmemalloc: skbuff was allocated from PFMEMALLOC reserves | 664 | * @pfmemalloc: skbuff was allocated from PFMEMALLOC reserves |
| 654 | * @active_extensions: active extensions (skb_ext_id types) | 665 | * @active_extensions: active extensions (skb_ext_id types) |
| 655 | * @ndisc_nodetype: router type (from link layer) | 666 | * @ndisc_nodetype: router type (from link layer) |
| @@ -660,15 +671,28 @@ typedef unsigned char *sk_buff_data_t; · 4 unmodified lines |
| 660 | * @wifi_acked_valid: wifi_acked was set | 671 | * @wifi_acked_valid: wifi_acked was set |
| 661 | * @wifi_acked: whether frame was acked on wifi or not | 672 | * @wifi_acked: whether frame was acked on wifi or not |
| 662 | * @no_fcs: Request NIC to treat last 4 bytes as Ethernet FCS | 673 | * @no_fcs: Request NIC to treat last 4 bytes as Ethernet FCS |
| | 674 | * @encapsulation: indicates the inner headers in the skbuff are valid |
| | 675 | * @encap_hdr_csum: software checksum is needed |
| | 676 | * @csum_valid: checksum is already valid |
| 663 | * @csum_not_inet: use CRC32c to resolve CHECKSUM_PARTIAL | 677 | * @csum_not_inet: use CRC32c to resolve CHECKSUM_PARTIAL |
| | 678 | * @csum_complete_sw: checksum was completed by software |
| | 679 | * @csum_level: indicates the number of consecutive checksums found in |
| | 680 | * the packet minus one that have been verified as |
| | 681 | * CHECKSUM_UNNECESSARY (max 3) |
| 664 | * @dst_pending_confirm: need to confirm neighbour | 682 | * @dst_pending_confirm: need to confirm neighbour |
| 665 | * @decrypted: Decrypted SKB | 683 | * @decrypted: Decrypted SKB |
| 666 | * @napi_id: id of the NAPI struct this skb came from | 684 | * @napi_id: id of the NAPI struct this skb came from |
| | 685 | * @sender_cpu: (aka @napi_id) source CPU in XPS |
| 667 | * @secmark: security marking | 686 | * @secmark: security marking |
| 668 | * @mark: Generic packet mark | 687 | * @mark: Generic packet mark |
| | 688 | * @reserved_tailroom: (aka @mark) number of bytes of free space available |
| | 689 | * at the tail of an sk_buff |
| | 690 | * @vlan_present: VLAN tag is present |
| 669 | * @vlan_proto: vlan encapsulation protocol | 691 | * @vlan_proto: vlan encapsulation protocol |
| 670 | * @vlan_tci: vlan tag control information | 692 | * @vlan_tci: vlan tag control information |
| 671 | * @inner_protocol: Protocol (encapsulation) | 693 | * @inner_protocol: Protocol (encapsulation) |
| | 694 | * @inner_ipproto: (aka @inner_protocol) stores ipproto when |
| | 695 | * skb->inner_protocol_type == ENCAP_TYPE_IPPROTO; |
| 672 | * @inner_transport_header: Inner transport layer header (encapsulation) | 696 | * @inner_transport_header: Inner transport layer header (encapsulation) |
| 673 | * @inner_network_header: Network layer header (encapsulation) | 697 | * @inner_network_header: Network layer header (encapsulation) |
| 674 | * @inner_mac_header: Link layer header (encapsulation) | 698 | * @inner_mac_header: Link layer header (encapsulation) |
| @@ -750,7 +774,9 @@ struct sk_buff { · 75 unmodified lines |
| 750 | #endif | 774 | #endif |
| 751 | #define CLONED_OFFSET() offsetof(struct sk_buff, __cloned_offset) | 775 | #define CLONED_OFFSET() offsetof(struct sk_buff, __cloned_offset) |
| 752 | | 776 | |
| | 777 | /* private: */ |
| 753 | __u8 __cloned_offset[0]; | 778 | __u8 __cloned_offset[0]; |
| | 779 | /* public: */ |
| 754 | __u8 cloned:1, | 780 | __u8 cloned:1, |
| 755 | nohdr:1, | 781 | nohdr:1, |
| 756 | fclone:2, | 782 | fclone:2, |
| @@ -775,7 +801,9 @@ struct sk_buff { · 18 unmodified lines |
| 775 | #endif | 801 | #endif |
| 776 | #define PKT_TYPE_OFFSET() offsetof(struct sk_buff, __pkt_type_offset) | 802 | #define PKT_TYPE_OFFSET() offsetof(struct sk_buff, __pkt_type_offset) |
| 777 | | 803 | |
| | 804 | /* private: */ |
| 778 | __u8 __pkt_type_offset[0]; | 805 | __u8 __pkt_type_offset[0]; |
| | 806 | /* public: */ |
| 779 | __u8 pkt_type:3; | 807 | __u8 pkt_type:3; |
| 780 | __u8 ignore_df:1; | 808 | __u8 ignore_df:1; |
| 781 | __u8 nf_trace:1; | 809 | __u8 nf_trace:1; |
| @@ -798,7 +826,9 @@ struct sk_buff { · 16 unmodified lines |
| 798 | #define PKT_VLAN_PRESENT_BIT 0 | 826 | #define PKT_VLAN_PRESENT_BIT 0 |
| 799 | #endif | 827 | #endif |
| 800 | #define PKT_VLAN_PRESENT_OFFSET() offsetof(struct sk_buff, __pkt_vlan_present_offset) | 828 | #define PKT_VLAN_PRESENT_OFFSET() offsetof(struct sk_buff, __pkt_vlan_present_offset) |
| | 829 | /* private: */ |
| 801 | __u8 __pkt_vlan_present_offset[0]; | 830 | __u8 __pkt_vlan_present_offset[0]; |
| | 831 | /* public: */ |
| 802 | __u8 vlan_present:1; | 832 | __u8 vlan_present:1; |
| 803 | __u8 csum_complete_sw:1; | 833 | __u8 csum_complete_sw:1; |
| 804 | __u8 csum_level:2; | 834 | __u8 csum_level:2; |