ip_tunnels, bpf: define IP_TUNNEL_OPTS_MAX and use it
eBPF defines this as BPF_TUNLEN_MAX and OVS just uses the hard-coded value inside struct sw_flow_key. Thus, add and use IP_TUNNEL_OPTS_MAX for this, which makes the code a bit more generic and allows to remove BPF_TUNLEN_MAX from eBPF code. Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
808c1b697c
commit
fca5fdf67d
@@ -7,6 +7,8 @@
|
||||
#include <linux/socket.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/u64_stats_sync.h>
|
||||
#include <linux/bitops.h>
|
||||
|
||||
#include <net/dsfield.h>
|
||||
#include <net/gro_cells.h>
|
||||
#include <net/inet_ecn.h>
|
||||
@@ -57,6 +59,11 @@ struct ip_tunnel_key {
|
||||
#define IP_TUNNEL_INFO_TX 0x01 /* represents tx tunnel parameters */
|
||||
#define IP_TUNNEL_INFO_IPV6 0x02 /* key contains IPv6 addresses */
|
||||
|
||||
/* Maximum tunnel options length. */
|
||||
#define IP_TUNNEL_OPTS_MAX \
|
||||
GENMASK((FIELD_SIZEOF(struct ip_tunnel_info, \
|
||||
options_len) * BITS_PER_BYTE) - 1, 0)
|
||||
|
||||
struct ip_tunnel_info {
|
||||
struct ip_tunnel_key key;
|
||||
#ifdef CONFIG_DST_CACHE
|
||||
|
Reference in New Issue
Block a user