lwtunnel: add options setting and dumping for geneve
To add options setting and dumping, .build_state(), .fill_encap() and
.get_encap_size() in ip_tun_lwt_ops needs to be extended:
ip_tun_build_state():
ip_tun_parse_opts():
ip_tun_parse_opts_geneve()
ip_tun_fill_encap_info():
ip_tun_fill_encap_opts():
ip_tun_fill_encap_opts_geneve()
ip_tun_encap_nlsize()
ip_tun_opts_nlsize():
if (tun_flags & TUNNEL_GENEVE_OPT)
ip_tun_parse_opts(), ip_tun_fill_encap_opts() and ip_tun_opts_nlsize()
processes LWTUNNEL_IP_OPTS.
ip_tun_parse_opts_geneve(), ip_tun_fill_encap_opts_geneve() and
if (tun_flags & TUNNEL_GENEVE_OPT) processes LWTUNNEL_IP_OPTS_GENEVE.
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0eb8eb2f96
commit
4ece477870
2 changed files with 216 additions and 16 deletions
|
|
@ -27,6 +27,7 @@ enum lwtunnel_ip_t {
|
|||
LWTUNNEL_IP_TOS,
|
||||
LWTUNNEL_IP_FLAGS,
|
||||
LWTUNNEL_IP_PAD,
|
||||
LWTUNNEL_IP_OPTS,
|
||||
__LWTUNNEL_IP_MAX,
|
||||
};
|
||||
|
||||
|
|
@ -41,11 +42,30 @@ enum lwtunnel_ip6_t {
|
|||
LWTUNNEL_IP6_TC,
|
||||
LWTUNNEL_IP6_FLAGS,
|
||||
LWTUNNEL_IP6_PAD,
|
||||
LWTUNNEL_IP6_OPTS,
|
||||
__LWTUNNEL_IP6_MAX,
|
||||
};
|
||||
|
||||
#define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1)
|
||||
|
||||
enum {
|
||||
LWTUNNEL_IP_OPTS_UNSPEC,
|
||||
LWTUNNEL_IP_OPTS_GENEVE,
|
||||
__LWTUNNEL_IP_OPTS_MAX,
|
||||
};
|
||||
|
||||
#define LWTUNNEL_IP_OPTS_MAX (__LWTUNNEL_IP_OPTS_MAX - 1)
|
||||
|
||||
enum {
|
||||
LWTUNNEL_IP_OPT_GENEVE_UNSPEC,
|
||||
LWTUNNEL_IP_OPT_GENEVE_CLASS,
|
||||
LWTUNNEL_IP_OPT_GENEVE_TYPE,
|
||||
LWTUNNEL_IP_OPT_GENEVE_DATA,
|
||||
__LWTUNNEL_IP_OPT_GENEVE_MAX,
|
||||
};
|
||||
|
||||
#define LWTUNNEL_IP_OPT_GENEVE_MAX (__LWTUNNEL_IP_OPT_GENEVE_MAX - 1)
|
||||
|
||||
enum {
|
||||
LWT_BPF_PROG_UNSPEC,
|
||||
LWT_BPF_PROG_FD,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue