mirror of
https://git.proxmox.com/git/mirror_iproute2
synced 2025-08-13 10:56:55 +00:00
ip/tunnel: Be consistent when printing tunnel collect metadata
Print only "external" if collect meta data attribute is given: rest of parameters are irrelevant. This is to follow gre6. For both JSON and non-JSON output use "external" for all tunnels including vxlan and geneve. Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com> Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
parent
6517b5c0ac
commit
00ff4b8e31
@ -230,6 +230,11 @@ static void geneve_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
|
||||
if (!tb)
|
||||
return;
|
||||
|
||||
if (tb[IFLA_GENEVE_COLLECT_METADATA]) {
|
||||
print_bool(PRINT_ANY, "external", "external", true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!tb[IFLA_GENEVE_ID] ||
|
||||
RTA_PAYLOAD(tb[IFLA_GENEVE_ID]) < sizeof(__u32))
|
||||
return;
|
||||
@ -292,9 +297,6 @@ static void geneve_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
|
||||
"dstport %u ",
|
||||
rta_getattr_be16(tb[IFLA_GENEVE_PORT]));
|
||||
|
||||
if (tb[IFLA_GENEVE_COLLECT_METADATA])
|
||||
print_bool(PRINT_ANY, "collect_metadata", "external ", true);
|
||||
|
||||
if (tb[IFLA_GENEVE_UDP_CSUM]) {
|
||||
if (is_json_context()) {
|
||||
print_bool(PRINT_JSON,
|
||||
|
@ -381,6 +381,12 @@ static void vxlan_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
|
||||
if (!tb)
|
||||
return;
|
||||
|
||||
if (tb[IFLA_VXLAN_COLLECT_METADATA] &&
|
||||
rta_getattr_u8(tb[IFLA_VXLAN_COLLECT_METADATA])) {
|
||||
print_bool(PRINT_ANY, "external", "external", true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!tb[IFLA_VXLAN_ID] ||
|
||||
RTA_PAYLOAD(tb[IFLA_VXLAN_ID]) < sizeof(__u32))
|
||||
return;
|
||||
@ -582,10 +588,6 @@ static void vxlan_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
|
||||
rta_getattr_u8(tb[IFLA_VXLAN_REMCSUM_RX]))
|
||||
print_bool(PRINT_ANY, "remcsum_rx", "remcsumrx ", true);
|
||||
|
||||
if (tb[IFLA_VXLAN_COLLECT_METADATA] &&
|
||||
rta_getattr_u8(tb[IFLA_VXLAN_COLLECT_METADATA]))
|
||||
print_bool(PRINT_ANY, "collect_metadata", "external ", true);
|
||||
|
||||
if (tb[IFLA_VXLAN_GBP])
|
||||
print_bool(PRINT_ANY, "gbp", "gbp ", true);
|
||||
if (tb[IFLA_VXLAN_GPE])
|
||||
|
@ -391,7 +391,7 @@ get_failed:
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void gre_print_direct_opt(FILE *f, struct rtattr *tb[])
|
||||
static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
|
||||
{
|
||||
char s2[64];
|
||||
const char *local = "any";
|
||||
@ -401,6 +401,14 @@ static void gre_print_direct_opt(FILE *f, struct rtattr *tb[])
|
||||
__u8 ttl = 0;
|
||||
__u8 tos = 0;
|
||||
|
||||
if (!tb)
|
||||
return;
|
||||
|
||||
if (tb[IFLA_GRE_COLLECT_METADATA]) {
|
||||
print_bool(PRINT_ANY, "external", "external", true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (tb[IFLA_GRE_REMOTE]) {
|
||||
unsigned int addr = rta_getattr_u32(tb[IFLA_GRE_REMOTE]);
|
||||
|
||||
@ -451,6 +459,9 @@ static void gre_print_direct_opt(FILE *f, struct rtattr *tb[])
|
||||
print_bool(PRINT_JSON, "pmtudisc", NULL, true);
|
||||
}
|
||||
|
||||
if (tb[IFLA_GRE_IGNORE_DF] && rta_getattr_u8(tb[IFLA_GRE_IGNORE_DF]))
|
||||
print_bool(PRINT_ANY, "ignore_df", "ignore-df ", true);
|
||||
|
||||
if (tb[IFLA_GRE_IFLAGS])
|
||||
iflags = rta_getattr_u16(tb[IFLA_GRE_IFLAGS]);
|
||||
|
||||
@ -484,20 +495,6 @@ static void gre_print_direct_opt(FILE *f, struct rtattr *tb[])
|
||||
"fwmark", "fwmark 0x%x ", fwmark);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
|
||||
{
|
||||
if (!tb)
|
||||
return;
|
||||
|
||||
if (!tb[IFLA_GRE_COLLECT_METADATA])
|
||||
gre_print_direct_opt(f, tb);
|
||||
else
|
||||
print_bool(PRINT_ANY, "external", "external ", true);
|
||||
|
||||
if (tb[IFLA_GRE_IGNORE_DF] && rta_getattr_u8(tb[IFLA_GRE_IGNORE_DF]))
|
||||
print_bool(PRINT_ANY, "ignore_df", "ignore-df ", true);
|
||||
|
||||
if (tb[IFLA_GRE_ERSPAN_INDEX]) {
|
||||
__u32 erspan_idx = rta_getattr_u32(tb[IFLA_GRE_ERSPAN_INDEX]);
|
||||
|
@ -439,7 +439,7 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
|
||||
return;
|
||||
|
||||
if (tb[IFLA_GRE_COLLECT_METADATA]) {
|
||||
print_bool(PRINT_ANY, "collect_metadata", "external", true);
|
||||
print_bool(PRINT_ANY, "external", "external", true);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -341,8 +341,10 @@ static void ip6tunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb
|
||||
if (!tb)
|
||||
return;
|
||||
|
||||
if (tb[IFLA_IPTUN_COLLECT_METADATA])
|
||||
print_bool(PRINT_ANY, "external", "external ", true);
|
||||
if (tb[IFLA_IPTUN_COLLECT_METADATA]) {
|
||||
print_bool(PRINT_ANY, "external", "external", true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (tb[IFLA_IPTUN_FLAGS])
|
||||
flags = rta_getattr_u32(tb[IFLA_IPTUN_FLAGS]);
|
||||
|
@ -371,8 +371,10 @@ static void iptunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[
|
||||
if (!tb)
|
||||
return;
|
||||
|
||||
if (tb[IFLA_IPTUN_COLLECT_METADATA])
|
||||
print_bool(PRINT_ANY, "external", "external ", true);
|
||||
if (tb[IFLA_IPTUN_COLLECT_METADATA]) {
|
||||
print_bool(PRINT_ANY, "external", "external", true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (tb[IFLA_IPTUN_PROTO]) {
|
||||
switch (rta_getattr_u8(tb[IFLA_IPTUN_PROTO])) {
|
||||
|
Loading…
Reference in New Issue
Block a user