gre/gre6: Unify attribute addition to netlink buffer
There are couple of minor improvements:
1) Check erspan_ver == 2 in gre6. It still could
be 1 if erspan_idx is 0.
2) Add tunnel encapsulation attributes only when
collect metadata not in effect in gre.
3) Trivial: address checkpatch issues.
Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
parent
00ff4b8e31
commit
de54cdd3de
|
|
@ -362,6 +362,8 @@ get_failed:
|
|||
addattr_l(n, 1024, IFLA_GRE_LOCAL, &saddr, 4);
|
||||
addattr_l(n, 1024, IFLA_GRE_REMOTE, &daddr, 4);
|
||||
addattr_l(n, 1024, IFLA_GRE_PMTUDISC, &pmtudisc, 1);
|
||||
if (ignore_df)
|
||||
addattr8(n, 1024, IFLA_GRE_IGNORE_DF, ignore_df & 1);
|
||||
if (link)
|
||||
addattr32(n, 1024, IFLA_GRE_LINK, link);
|
||||
addattr_l(n, 1024, IFLA_GRE_TTL, &ttl, 1);
|
||||
|
|
@ -370,24 +372,23 @@ get_failed:
|
|||
if (erspan_ver) {
|
||||
addattr8(n, 1024, IFLA_GRE_ERSPAN_VER, erspan_ver);
|
||||
if (erspan_ver == 1 && erspan_idx != 0) {
|
||||
addattr32(n, 1024, IFLA_GRE_ERSPAN_INDEX, erspan_idx);
|
||||
addattr32(n, 1024,
|
||||
IFLA_GRE_ERSPAN_INDEX, erspan_idx);
|
||||
} else if (erspan_ver == 2) {
|
||||
addattr8(n, 1024, IFLA_GRE_ERSPAN_DIR, erspan_dir);
|
||||
addattr16(n, 1024, IFLA_GRE_ERSPAN_HWID, erspan_hwid);
|
||||
addattr8(n, 1024,
|
||||
IFLA_GRE_ERSPAN_DIR, erspan_dir);
|
||||
addattr16(n, 1024,
|
||||
IFLA_GRE_ERSPAN_HWID, erspan_hwid);
|
||||
}
|
||||
}
|
||||
addattr16(n, 1024, IFLA_GRE_ENCAP_TYPE, encaptype);
|
||||
addattr16(n, 1024, IFLA_GRE_ENCAP_FLAGS, encapflags);
|
||||
addattr16(n, 1024, IFLA_GRE_ENCAP_SPORT, htons(encapsport));
|
||||
addattr16(n, 1024, IFLA_GRE_ENCAP_DPORT, htons(encapdport));
|
||||
} else {
|
||||
addattr_l(n, 1024, IFLA_GRE_COLLECT_METADATA, NULL, 0);
|
||||
}
|
||||
|
||||
addattr16(n, 1024, IFLA_GRE_ENCAP_TYPE, encaptype);
|
||||
addattr16(n, 1024, IFLA_GRE_ENCAP_FLAGS, encapflags);
|
||||
addattr16(n, 1024, IFLA_GRE_ENCAP_SPORT, htons(encapsport));
|
||||
addattr16(n, 1024, IFLA_GRE_ENCAP_DPORT, htons(encapdport));
|
||||
|
||||
if (ignore_df)
|
||||
addattr8(n, 1024, IFLA_GRE_IGNORE_DF, ignore_df & 1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -406,10 +406,13 @@ get_failed:
|
|||
if (erspan_ver) {
|
||||
addattr8(n, 1024, IFLA_GRE_ERSPAN_VER, erspan_ver);
|
||||
if (erspan_ver == 1 && erspan_idx != 0) {
|
||||
addattr32(n, 1024, IFLA_GRE_ERSPAN_INDEX, erspan_idx);
|
||||
} else {
|
||||
addattr8(n, 1024, IFLA_GRE_ERSPAN_DIR, erspan_dir);
|
||||
addattr16(n, 1024, IFLA_GRE_ERSPAN_HWID, erspan_hwid);
|
||||
addattr32(n, 1024,
|
||||
IFLA_GRE_ERSPAN_INDEX, erspan_idx);
|
||||
} else if (erspan_ver == 2) {
|
||||
addattr8(n, 1024,
|
||||
IFLA_GRE_ERSPAN_DIR, erspan_dir);
|
||||
addattr16(n, 1024,
|
||||
IFLA_GRE_ERSPAN_HWID, erspan_hwid);
|
||||
}
|
||||
}
|
||||
addattr16(n, 1024, IFLA_GRE_ENCAP_TYPE, encaptype);
|
||||
|
|
@ -604,7 +607,7 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
|
|||
}
|
||||
|
||||
static void gre_print_help(struct link_util *lu, int argc, char **argv,
|
||||
FILE *f)
|
||||
FILE *f)
|
||||
{
|
||||
print_usage(f);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue