diff options
author | Florian Westphal <fw@strlen.de> | 2020-10-06 23:16:32 +0200 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2020-10-15 15:22:05 +0200 |
commit | 09a3b2ba0c8228d1c6bf0f030cae97addb397351 (patch) | |
tree | 4001441996dd06c5b820fabcc31f7ecaa9ba2443 /include | |
parent | b4775dec9f80b74c522edec8ebb4af5092e0e82b (diff) |
proto: add sctp crc32 checksum fixup
Stateless SCTP header mangling doesn't work reliably.
This tells the kernel to update the checksum field using
the sctp crc32 algorithm.
Note that this needs additional kernel support to work.
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/netfilter/nf_tables.h | 2 | ||||
-rw-r--r-- | include/proto.h | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/netfilter/nf_tables.h b/include/linux/netfilter/nf_tables.h index 10be073a..0b5fd5d5 100644 --- a/include/linux/netfilter/nf_tables.h +++ b/include/linux/netfilter/nf_tables.h @@ -733,10 +733,12 @@ enum nft_payload_bases { * * @NFT_PAYLOAD_CSUM_NONE: no checksumming * @NFT_PAYLOAD_CSUM_INET: internet checksum (RFC 791) + * @NFT_PAYLOAD_CSUM_SCTP: CRC-32c, for use in SCTP header (RFC 3309) */ enum nft_payload_csum_types { NFT_PAYLOAD_CSUM_NONE, NFT_PAYLOAD_CSUM_INET, + NFT_PAYLOAD_CSUM_SCTP, }; enum nft_payload_csum_flags { diff --git a/include/proto.h b/include/proto.h index 304b048e..b78bb9bc 100644 --- a/include/proto.h +++ b/include/proto.h @@ -103,6 +103,7 @@ struct proto_desc { const char *name; enum proto_desc_id id; enum proto_bases base; + enum nft_payload_csum_types checksum_type; unsigned int checksum_key; unsigned int protocol_key; unsigned int length; |