Allow setting tunnel options using the act_tunnel_key action. Options are expressed as class:type:data and multiple options may be listed using a comma delimiter. # ip link add name geneve0 type geneve dstport 0 external # tc qdisc add dev eth0 ingress # tc filter add dev eth0 protocol ip parent ffff: \ flower indev eth0 \ ip_proto udp \ action tunnel_key \ set src_ip 10.0.99.192 \ dst_ip 10.0.99.193 \ dst_port 6081 \ id 11 \ geneve_opts 0102:80:00800022,0102:80:00800022 \ action mirred egress redirect dev geneve0
Showing the changes to include/uapi/linux (1 of 2 files). Show all
Unified · Split
| @@ -36,9 +36,35 @@ enum { · 35 unmodified lines | |||
| 36 | TCA_TUNNEL_KEY_PAD, | 36 | TCA_TUNNEL_KEY_PAD, |
| 37 | TCA_TUNNEL_KEY_ENC_DST_PORT, /* be16 */ | 37 | TCA_TUNNEL_KEY_ENC_DST_PORT, /* be16 */ |
| 38 | TCA_TUNNEL_KEY_NO_CSUM, /* u8 */ | 38 | TCA_TUNNEL_KEY_NO_CSUM, /* u8 */ |
| 39 | TCA_TUNNEL_KEY_ENC_OPTS, /* Nested TCA_TUNNEL_KEY_ENC_OPTS_ | ||
| 40 | * attributes | ||
| 41 | */ | ||
| 39 | __TCA_TUNNEL_KEY_MAX, | 42 | __TCA_TUNNEL_KEY_MAX, |
| 40 | }; | 43 | }; |
| 41 | 44 | ||
| 42 | #define TCA_TUNNEL_KEY_MAX (__TCA_TUNNEL_KEY_MAX - 1) | 45 | #define TCA_TUNNEL_KEY_MAX (__TCA_TUNNEL_KEY_MAX - 1) |
| 43 | 46 | ||
| 47 | enum { | ||
| 48 | TCA_TUNNEL_KEY_ENC_OPTS_UNSPEC, | ||
| 49 | TCA_TUNNEL_KEY_ENC_OPTS_GENEVE, /* Nested | ||
| 50 | * TCA_TUNNEL_KEY_ENC_OPTS_ | ||
| 51 | * attributes | ||
| 52 | */ | ||
| 53 | __TCA_TUNNEL_KEY_ENC_OPTS_MAX, | ||
| 54 | }; | ||
| 55 | |||
| 56 | #define TCA_TUNNEL_KEY_ENC_OPTS_MAX (__TCA_TUNNEL_KEY_ENC_OPTS_MAX - 1) | ||
| 57 | |||
| 58 | enum { | ||
| 59 | TCA_TUNNEL_KEY_ENC_OPT_GENEVE_UNSPEC, | ||
| 60 | TCA_TUNNEL_KEY_ENC_OPT_GENEVE_CLASS, /* be16 */ | ||
| 61 | TCA_TUNNEL_KEY_ENC_OPT_GENEVE_TYPE, /* u8 */ | ||
| 62 | TCA_TUNNEL_KEY_ENC_OPT_GENEVE_DATA, /* 4 to 128 bytes */ | ||
| 63 | |||
| 64 | __TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX, | ||
| 65 | }; | ||
| 66 | |||
| 67 | #define TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX \ | ||
| 68 | (__TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX - 1) | ||
| 69 | |||
| 44 | #endif | 70 | #endif |