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 | 45 | NFQA_CT, /* nf_conntrack_netlink.h */ |
| 46 | 46 | NFQA_CT_INFO, /* enum ip_conntrack_info */ |
| 47 | 47 | NFQA_CAP_LEN, /* __u32 length of captured packet */ |
| 48 | + NFQA_SKB_INFO, /* __u32 skb meta information */ | |
| 48 | 49 | |
| 49 | 50 | __NFQA_MAX |
| 50 | 51 | }; |
| @@ -98,4 +99,10 @@ enum nfqnl_attr_config { · 47 unmodified lines | ||
| 98 | 99 | #define NFQA_CFG_F_CONNTRACK (1 << 1) |
| 99 | 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 | 108 | #endif /* _NFNETLINK_QUEUE_H */ |