Set the default limits of non-padding Hop-by-Hop and Destination options to 2. This means that if a packet contains more then two non-padding options then it will be dropped. The previous limit was 8, but that was too liberal considering that the stack only support two Destination Options and the most Hop-by-Hop options likely to ever be in the same packet are IOAM and JUMBO. The limit can be increased via sysctl for private use and experimenation. Signed-off-by: Tom Herbert --- include/net/ipv6.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/include/net/ipv6.h b/include/net/ipv6.h index c7f597da01cd..31d270c8c2e4 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h @@ -86,9 +86,12 @@ struct ip_tunnel_info; * silently discarded. */ -/* Default limits for Hop-by-Hop and Destination options */ -#define IP6_DEFAULT_MAX_DST_OPTS_CNT 8 -#define IP6_DEFAULT_MAX_HBH_OPTS_CNT 8 +/* Default limits for Hop-by-Hop and Destination non-padding options. The + * default value for both is 2. This sets a limit at two non-padding options + * (see sysctl documention) + */ +#define IP6_DEFAULT_MAX_DST_OPTS_CNT 2 +#define IP6_DEFAULT_MAX_HBH_OPTS_CNT 2 #define IP6_DEFAULT_MAX_DST_OPTS_LEN INT_MAX /* No limit */ #define IP6_DEFAULT_MAX_HBH_OPTS_LEN INT_MAX /* No limit */ -- 2.43.0