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.
Showing the changes to include/uapi/linux (1 of 2 files). Show all
Unified · Split
| @@ -27,6 +27,7 @@ enum lwtunnel_ip_t { · 26 unmodified lines | |||
| 27 | LWTUNNEL_IP_TOS, | 27 | LWTUNNEL_IP_TOS, |
| 28 | LWTUNNEL_IP_FLAGS, | 28 | LWTUNNEL_IP_FLAGS, |
| 29 | LWTUNNEL_IP_PAD, | 29 | LWTUNNEL_IP_PAD, |
| 30 | LWTUNNEL_IP_OPTS, | ||
| 30 | __LWTUNNEL_IP_MAX, | 31 | __LWTUNNEL_IP_MAX, |
| 31 | }; | 32 | }; |
| 32 | 33 | ||
| @@ -41,11 +42,30 @@ enum lwtunnel_ip6_t { · 8 unmodified lines | |||
| 41 | LWTUNNEL_IP6_TC, | 42 | LWTUNNEL_IP6_TC, |
| 42 | LWTUNNEL_IP6_FLAGS, | 43 | LWTUNNEL_IP6_FLAGS, |
| 43 | LWTUNNEL_IP6_PAD, | 44 | LWTUNNEL_IP6_PAD, |
| 45 | LWTUNNEL_IP6_OPTS, | ||
| 44 | __LWTUNNEL_IP6_MAX, | 46 | __LWTUNNEL_IP6_MAX, |
| 45 | }; | 47 | }; |
| 46 | 48 | ||
| 47 | #define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1) | 49 | #define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1) |
| 48 | 50 | ||
| 51 | enum { | ||
| 52 | LWTUNNEL_IP_OPTS_UNSPEC, | ||
| 53 | LWTUNNEL_IP_OPTS_GENEVE, | ||
| 54 | __LWTUNNEL_IP_OPTS_MAX, | ||
| 55 | }; | ||
| 56 | |||
| 57 | #define LWTUNNEL_IP_OPTS_MAX (__LWTUNNEL_IP_OPTS_MAX - 1) | ||
| 58 | |||
| 59 | enum { | ||
| 60 | LWTUNNEL_IP_OPT_GENEVE_UNSPEC, | ||
| 61 | LWTUNNEL_IP_OPT_GENEVE_CLASS, | ||
| 62 | LWTUNNEL_IP_OPT_GENEVE_TYPE, | ||
| 63 | LWTUNNEL_IP_OPT_GENEVE_DATA, | ||
| 64 | __LWTUNNEL_IP_OPT_GENEVE_MAX, | ||
| 65 | }; | ||
| 66 | |||
| 67 | #define LWTUNNEL_IP_OPT_GENEVE_MAX (__LWTUNNEL_IP_OPT_GENEVE_MAX - 1) | ||
| 68 | |||
| 49 | enum { | 69 | enum { |
| 50 | LWT_BPF_PROG_UNSPEC, | 70 | LWT_BPF_PROG_UNSPEC, |
| 51 | LWT_BPF_PROG_FD, | 71 | LWT_BPF_PROG_FD, |