Once we allow userspace to receive gso/gro packets, userspace needs to be able to determine when checksums appear to be broken, but are not. NFQA_SKB_CSUMNOTREADY means 'checksums will be fixed in kernel later, pretend they are ok'. NFQA_SKB_GSO could be used for statistics, or to determine when packet size exceeds mtu.
Showing the changes to include/uapi/linux (1 of 2 files). Show all
Unified · Split
| @@ -45,6 +45,7 @@ enum nfqnl_attr_type { · 44 unmodified lines | |||
| 45 | NFQA_CT, /* nf_conntrack_netlink.h */ | 45 | NFQA_CT, /* nf_conntrack_netlink.h */ |
| 46 | NFQA_CT_INFO, /* enum ip_conntrack_info */ | 46 | NFQA_CT_INFO, /* enum ip_conntrack_info */ |
| 47 | NFQA_CAP_LEN, /* __u32 length of captured packet */ | 47 | NFQA_CAP_LEN, /* __u32 length of captured packet */ |
| 48 | NFQA_SKB_INFO, /* __u32 skb meta information */ | ||
| 48 | 49 | ||
| 49 | __NFQA_MAX | 50 | __NFQA_MAX |
| 50 | }; | 51 | }; |
| @@ -98,4 +99,10 @@ enum nfqnl_attr_config { · 47 unmodified lines | |||
| 98 | #define NFQA_CFG_F_CONNTRACK (1 << 1) | 99 | #define NFQA_CFG_F_CONNTRACK (1 << 1) |
| 99 | #define NFQA_CFG_F_MAX (1 << 2) | 100 | #define NFQA_CFG_F_MAX (1 << 2) |
| 100 | 101 | ||
| 102 | /* flags for NFQA_SKB_INFO */ | ||
| 103 | /* packet appears to have wrong checksums, but they are ok */ | ||
| 104 | #define NFQA_SKB_CSUMNOTREADY (1 << 0) | ||
| 105 | /* packet is GSO (i.e., exceeds device mtu) */ | ||
| 106 | #define NFQA_SKB_GSO (1 << 1) | ||
| 107 | |||
| 101 | #endif /* _NFNETLINK_QUEUE_H */ | 108 | #endif /* _NFNETLINK_QUEUE_H */ |