diff options
author | Jakub Kicinski <kuba@kernel.org> | 2024-01-05 03:04:58 +0100 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-01-05 03:06:46 +0100 |
commit | e63c1822ac32a865dd02a18107fc933fd7b30f6f (patch) | |
tree | 3d3875012e8412080a5ecc5f71d8f7e849bd4a95 /include/net/tcp_ao.h | |
parent | Merge tag 'wireless-next-2024-01-03' of git://git.kernel.org/pub/scm/linux/ke... (diff) | |
parent | Merge tag 'net-6.7-rc9' of git://git.kernel.org/pub/scm/linux/kernel/git/netd... (diff) | |
download | linux-e63c1822ac32a865dd02a18107fc933fd7b30f6f.tar.xz linux-e63c1822ac32a865dd02a18107fc933fd7b30f6f.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR.
Conflicts:
drivers/net/ethernet/broadcom/bnxt/bnxt.c
e009b2efb7a8 ("bnxt_en: Remove mis-applied code from bnxt_cfg_ntp_filters()")
0f2b21477988 ("bnxt_en: Fix compile error without CONFIG_RFS_ACCEL")
https://lore.kernel.org/all/20240105115509.225aa8a2@canb.auug.org.au/
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/net/tcp_ao.h')
-rw-r--r-- | include/net/tcp_ao.h | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/include/net/tcp_ao.h b/include/net/tcp_ao.h index 0f2dcc9e8d46..471e177362b4 100644 --- a/include/net/tcp_ao.h +++ b/include/net/tcp_ao.h @@ -127,12 +127,35 @@ struct tcp_ao_info { struct rcu_head rcu; }; +#ifdef CONFIG_TCP_MD5SIG +#include <linux/jump_label.h> +extern struct static_key_false_deferred tcp_md5_needed; +#define static_branch_tcp_md5() static_branch_unlikely(&tcp_md5_needed.key) +#else +#define static_branch_tcp_md5() false +#endif +#ifdef CONFIG_TCP_AO +/* TCP-AO structures and functions */ +#include <linux/jump_label.h> +extern struct static_key_false_deferred tcp_ao_needed; +#define static_branch_tcp_ao() static_branch_unlikely(&tcp_ao_needed.key) +#else +#define static_branch_tcp_ao() false +#endif + +static inline bool tcp_hash_should_produce_warnings(void) +{ + return static_branch_tcp_md5() || static_branch_tcp_ao(); +} + #define tcp_hash_fail(msg, family, skb, fmt, ...) \ do { \ const struct tcphdr *th = tcp_hdr(skb); \ char hdr_flags[6]; \ char *f = hdr_flags; \ \ + if (!tcp_hash_should_produce_warnings()) \ + break; \ if (th->fin) \ *f++ = 'F'; \ if (th->syn) \ @@ -159,9 +182,6 @@ do { \ #ifdef CONFIG_TCP_AO /* TCP-AO structures and functions */ -#include <linux/jump_label.h> -extern struct static_key_false_deferred tcp_ao_needed; - struct tcp4_ao_context { __be32 saddr; __be32 daddr; |