* [PATCH iproute2 0/7] ip6/tunnel: Unify tclass, flowlabel and encap_limit output
@ 2018-01-08 17:06 Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 1/7] ip6/tunnel: Fix tclass output Serhey Popovych
` (7 more replies)
0 siblings, 8 replies; 10+ messages in thread
From: Serhey Popovych @ 2018-01-08 17:06 UTC (permalink / raw)
To: netdev
With this series I want to improve printing of tclass,
flowlabel and encapsulation limit (encap_limit) options.
Everything within this series is open for your comments,
suggestions and criticism.
See individual patch description message for details.
Thanks,
Serhii
Serhey Popovych (7):
ip6/tunnel: Fix tclass output
ip6tnl/tunnel: Do not print obscure flowinfo
ip6/tunnel: Unify tclass printing
ip6/tunnel: Unify flowlabel printing
ip6/tunnel: Unify encap_limit printing
gre6/tunnel: Output flowlabel after tclass
ip6tnl/tunnel: Output hoplimit before encapsulation limit
ip/link_gre6.c | 54 ++++++++++++++++------------------------------
ip/link_ip6tnl.c | 63 ++++++++++++++++++------------------------------------
2 files changed, 40 insertions(+), 77 deletions(-)
--
1.7.10.4
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH iproute2 1/7] ip6/tunnel: Fix tclass output
2018-01-08 17:06 [PATCH iproute2 0/7] ip6/tunnel: Unify tclass, flowlabel and encap_limit output Serhey Popovych
@ 2018-01-08 17:06 ` Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 2/7] ip6tnl/tunnel: Do not print obscure flowinfo Serhey Popovych
` (6 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Serhey Popovych @ 2018-01-08 17:06 UTC (permalink / raw)
To: netdev
In link_gre6.c it seems copy paste error: tclass is 8 bits,
not 20 as flowlabel.
In link_iptnl.c rename "flowinfo_tclass" to "tclass" as it
correct name since flowinfo is implementation internal name
used to label combined within u32 attribute tclass and
flowlabel.
Fixes: 1facc1c61c07 ("ip: link_ip6tnl.c: add json output support")
Fixes: 2e706e12d9b0 ("Merge branch 'master' into net-next")
Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
---
ip/link_gre6.c | 2 +-
ip/link_ip6tnl.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ip/link_gre6.c b/ip/link_gre6.c
index 7ae4b49..87c313c 100644
--- a/ip/link_gre6.c
+++ b/ip/link_gre6.c
@@ -475,7 +475,7 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
if (is_json_context()) {
SPRINT_BUF(b1);
- snprintf(b1, sizeof(b1), "0x%05x",
+ snprintf(b1, sizeof(b1), "0x%02x",
ntohl(flowinfo & IP6_FLOWINFO_TCLASS) >> 20);
print_string(PRINT_JSON, "tclass", NULL, b1);
} else {
diff --git a/ip/link_ip6tnl.c b/ip/link_ip6tnl.c
index 84205b1..8e84ed0 100644
--- a/ip/link_ip6tnl.c
+++ b/ip/link_ip6tnl.c
@@ -416,7 +416,7 @@ static void ip6tunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb
SPRINT_BUF(b1);
snprintf(b1, sizeof(b1), "0x%02x", (__u8)(val >> 20));
- print_string(PRINT_JSON, "flowinfo_tclass", NULL, b1);
+ print_string(PRINT_JSON, "tclass", NULL, b1);
} else {
printf("tclass 0x%02x ", (__u8)(val >> 20));
}
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH iproute2 2/7] ip6tnl/tunnel: Do not print obscure flowinfo
2018-01-08 17:06 [PATCH iproute2 0/7] ip6/tunnel: Unify tclass, flowlabel and encap_limit output Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 1/7] ip6/tunnel: Fix tclass output Serhey Popovych
@ 2018-01-08 17:06 ` Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 3/7] ip6/tunnel: Unify tclass printing Serhey Popovych
` (5 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Serhey Popovych @ 2018-01-08 17:06 UTC (permalink / raw)
To: netdev
It is implementation internal and main purpose
of printing it seems debugging.
Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
---
ip/link_ip6tnl.c | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/ip/link_ip6tnl.c b/ip/link_ip6tnl.c
index 8e84ed0..e084975 100644
--- a/ip/link_ip6tnl.c
+++ b/ip/link_ip6tnl.c
@@ -440,16 +440,6 @@ static void ip6tunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb
}
}
- if (is_json_context()) {
- SPRINT_BUF(flwinfo);
-
- snprintf(flwinfo, sizeof(flwinfo), "0x%08x", ntohl(flowinfo));
- print_string(PRINT_JSON, "flowinfo", NULL, flwinfo);
- } else {
- printf("(flowinfo 0x%08x) ", ntohl(flowinfo));
-
- }
-
if (flags & IP6_TNL_F_RCV_DSCP_COPY)
print_bool(PRINT_ANY,
"ip6_tnl_f_rcv_dscp_copy",
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH iproute2 3/7] ip6/tunnel: Unify tclass printing
2018-01-08 17:06 [PATCH iproute2 0/7] ip6/tunnel: Unify tclass, flowlabel and encap_limit output Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 1/7] ip6/tunnel: Fix tclass output Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 2/7] ip6tnl/tunnel: Do not print obscure flowinfo Serhey Popovych
@ 2018-01-08 17:06 ` Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 4/7] ip6/tunnel: Unify flowlabel printing Serhey Popovych
` (4 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Serhey Popovych @ 2018-01-08 17:06 UTC (permalink / raw)
To: netdev
Use @s2 buffer to store string representation of
tclass and get rid of extra SPRINT_BUF(): no
need to preserve @s2 contents for later.
Use print_string(PRINT_ANY, ...) with prepared by
snprintf() string for both PRINT_JSON and PRINT_FP
cases.
While there use __u32 for flowinfo in link_gre6.c
and check for IFLA_GRE_FLOWINFO attribute presense.
Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
---
ip/link_gre6.c | 16 +++++-----------
ip/link_ip6tnl.c | 16 +++++-----------
2 files changed, 10 insertions(+), 22 deletions(-)
diff --git a/ip/link_gre6.c b/ip/link_gre6.c
index 87c313c..a02dd4a 100644
--- a/ip/link_gre6.c
+++ b/ip/link_gre6.c
@@ -380,7 +380,7 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
unsigned int iflags = 0;
unsigned int oflags = 0;
unsigned int flags = 0;
- unsigned int flowinfo = 0;
+ __u32 flowinfo = 0;
struct in6_addr in6_addr_any = IN6ADDR_ANY_INIT;
if (!tb)
@@ -471,17 +471,11 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
"ip6_tnl_f_use_orig_tclass",
"tclass inherit ",
true);
- } else {
- if (is_json_context()) {
- SPRINT_BUF(b1);
+ } else if (tb[IFLA_GRE_FLOWINFO]) {
+ __u32 val = ntohl(flowinfo & IP6_FLOWINFO_TCLASS) >> 20;
- snprintf(b1, sizeof(b1), "0x%02x",
- ntohl(flowinfo & IP6_FLOWINFO_TCLASS) >> 20);
- print_string(PRINT_JSON, "tclass", NULL, b1);
- } else {
- fprintf(f, "tclass 0x%02x ",
- ntohl(flowinfo & IP6_FLOWINFO_TCLASS) >> 20);
- }
+ snprintf(s2, sizeof(s2), "0x%02x", val);
+ print_string(PRINT_ANY, "tclass", "tclass %s ", s2);
}
if (flags & IP6_TNL_F_RCV_DSCP_COPY)
diff --git a/ip/link_ip6tnl.c b/ip/link_ip6tnl.c
index e084975..05322fd 100644
--- a/ip/link_ip6tnl.c
+++ b/ip/link_ip6tnl.c
@@ -404,22 +404,16 @@ static void ip6tunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb
"hoplimit %u ",
rta_getattr_u8(tb[IFLA_IPTUN_TTL]));
- if (flags & IP6_TNL_F_USE_ORIG_TCLASS)
+ if (flags & IP6_TNL_F_USE_ORIG_TCLASS) {
print_bool(PRINT_ANY,
"ip6_tnl_f_use_orig_tclass",
"tclass inherit ",
true);
- else if (tb[IFLA_IPTUN_FLOWINFO]) {
- __u32 val = ntohl(flowinfo & IP6_FLOWINFO_TCLASS);
+ } else if (tb[IFLA_IPTUN_FLOWINFO]) {
+ __u32 val = ntohl(flowinfo & IP6_FLOWINFO_TCLASS) >> 20;
- if (is_json_context()) {
- SPRINT_BUF(b1);
-
- snprintf(b1, sizeof(b1), "0x%02x", (__u8)(val >> 20));
- print_string(PRINT_JSON, "tclass", NULL, b1);
- } else {
- printf("tclass 0x%02x ", (__u8)(val >> 20));
- }
+ snprintf(s2, sizeof(s2), "0x%02x", val);
+ print_string(PRINT_ANY, "tclass", "tclass %s ", s2);
}
if (flags & IP6_TNL_F_USE_ORIG_FLOWLABEL) {
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH iproute2 4/7] ip6/tunnel: Unify flowlabel printing
2018-01-08 17:06 [PATCH iproute2 0/7] ip6/tunnel: Unify tclass, flowlabel and encap_limit output Serhey Popovych
` (2 preceding siblings ...)
2018-01-08 17:06 ` [PATCH iproute2 3/7] ip6/tunnel: Unify tclass printing Serhey Popovych
@ 2018-01-08 17:06 ` Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 5/7] ip6/tunnel: Unify encap_limit printing Serhey Popovych
` (3 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Serhey Popovych @ 2018-01-08 17:06 UTC (permalink / raw)
To: netdev
Use @s2 buffer to store string representation of
flowlabel and get rid of extra SPRINT_BUF(): no
need to preserve @s2 contents for later.
Use print_string(PRINT_ANY, ...) with prepared by
snprintf() string for both PRINT_JSON and PRINT_FP
cases.
Omit flowlabel from output if no flowinfo attribute
is given and IP6_TNL_F_USE_ORIG_FLOWLABEL isn't set.
Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
---
ip/link_gre6.c | 15 ++++-----------
ip/link_ip6tnl.c | 14 ++++----------
2 files changed, 8 insertions(+), 21 deletions(-)
diff --git a/ip/link_gre6.c b/ip/link_gre6.c
index a02dd4a..1205946 100644
--- a/ip/link_gre6.c
+++ b/ip/link_gre6.c
@@ -452,18 +452,11 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
"ip6_tnl_f_use_orig_flowlabel",
"flowlabel inherit ",
true);
- } else {
- if (is_json_context()) {
- SPRINT_BUF(b1);
-
- snprintf(b1, sizeof(b1), "0x%05x",
- ntohl(flowinfo & IP6_FLOWINFO_FLOWLABEL));
- print_string(PRINT_JSON, "flowlabel", NULL, b1);
+ } else if (tb[IFLA_GRE_FLOWINFO]) {
+ __u32 val = ntohl(flowinfo & IP6_FLOWINFO_FLOWLABEL);
- } else {
- fprintf(f, "flowlabel 0x%05x ",
- ntohl(flowinfo & IP6_FLOWINFO_FLOWLABEL));
- }
+ snprintf(s2, sizeof(s2), "0x%05x", val);
+ print_string(PRINT_ANY, "flowlabel", "flowlabel %s ", s2);
}
if (flags & IP6_TNL_F_USE_ORIG_TCLASS) {
diff --git a/ip/link_ip6tnl.c b/ip/link_ip6tnl.c
index 05322fd..7000056 100644
--- a/ip/link_ip6tnl.c
+++ b/ip/link_ip6tnl.c
@@ -421,17 +421,11 @@ static void ip6tunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb
"ip6_tnl_f_use_orig_flowlabel",
"flowlabel inherit ",
true);
- } else {
- if (is_json_context()) {
- SPRINT_BUF(b1);
+ } else if (tb[IFLA_IPTUN_FLOWINFO]) {
+ __u32 val = ntohl(flowinfo & IP6_FLOWINFO_FLOWLABEL);
- snprintf(b1, sizeof(b1), "0x%05x",
- ntohl(flowinfo & IP6_FLOWINFO_FLOWLABEL));
- print_string(PRINT_JSON, "flowlabel", NULL, b1);
- } else {
- printf("flowlabel 0x%05x ",
- ntohl(flowinfo & IP6_FLOWINFO_FLOWLABEL));
- }
+ snprintf(s2, sizeof(s2), "0x%05x", val);
+ print_string(PRINT_ANY, "flowlabel", "flowlabel %s ", s2);
}
if (flags & IP6_TNL_F_RCV_DSCP_COPY)
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH iproute2 5/7] ip6/tunnel: Unify encap_limit printing
2018-01-08 17:06 [PATCH iproute2 0/7] ip6/tunnel: Unify tclass, flowlabel and encap_limit output Serhey Popovych
` (3 preceding siblings ...)
2018-01-08 17:06 ` [PATCH iproute2 4/7] ip6/tunnel: Unify flowlabel printing Serhey Popovych
@ 2018-01-08 17:06 ` Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 6/7] gre6/tunnel: Output flowlabel after tclass Serhey Popovych
` (2 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Serhey Popovych @ 2018-01-08 17:06 UTC (permalink / raw)
To: netdev
Use %u format specifier to print it in link_gre6.c and
make code more readable.
Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
---
ip/link_gre6.c | 11 ++++-------
ip/link_ip6tnl.c | 12 ++++++------
2 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/ip/link_gre6.c b/ip/link_gre6.c
index 1205946..8014207 100644
--- a/ip/link_gre6.c
+++ b/ip/link_gre6.c
@@ -433,18 +433,15 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
print_int(PRINT_JSON, "ttl", NULL, ttl);
}
- if (flags & IP6_TNL_F_IGN_ENCAP_LIMIT)
+ if (flags & IP6_TNL_F_IGN_ENCAP_LIMIT) {
print_bool(PRINT_ANY,
"ip6_tnl_f_ign_encap_limit",
"encaplimit none ",
true);
- else if (tb[IFLA_GRE_ENCAP_LIMIT]) {
- int encap_limit = rta_getattr_u8(tb[IFLA_GRE_ENCAP_LIMIT]);
+ } else if (tb[IFLA_GRE_ENCAP_LIMIT]) {
+ __u8 val = rta_getattr_u8(tb[IFLA_GRE_ENCAP_LIMIT]);
- print_int(PRINT_ANY,
- "encap_limit",
- "encaplimit %d ",
- encap_limit);
+ print_uint(PRINT_ANY, "encap_limit", "encaplimit %u ", val);
}
if (flags & IP6_TNL_F_USE_ORIG_FLOWLABEL) {
diff --git a/ip/link_ip6tnl.c b/ip/link_ip6tnl.c
index 7000056..379eb33 100644
--- a/ip/link_ip6tnl.c
+++ b/ip/link_ip6tnl.c
@@ -387,16 +387,16 @@ static void ip6tunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb
print_uint(PRINT_ANY, "link_index", "dev %u ", link);
}
- if (flags & IP6_TNL_F_IGN_ENCAP_LIMIT)
+ if (flags & IP6_TNL_F_IGN_ENCAP_LIMIT) {
print_bool(PRINT_ANY,
"ip6_tnl_f_ign_encap_limit",
"encaplimit none ",
true);
- else if (tb[IFLA_IPTUN_ENCAP_LIMIT])
- print_uint(PRINT_ANY,
- "encap_limit",
- "encaplimit %u ",
- rta_getattr_u8(tb[IFLA_IPTUN_ENCAP_LIMIT]));
+ } else if (tb[IFLA_IPTUN_ENCAP_LIMIT]) {
+ __u8 val = rta_getattr_u8(tb[IFLA_IPTUN_ENCAP_LIMIT]);
+
+ print_uint(PRINT_ANY, "encap_limit", "encaplimit %u ", val);
+ }
if (tb[IFLA_IPTUN_TTL])
print_uint(PRINT_ANY,
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH iproute2 6/7] gre6/tunnel: Output flowlabel after tclass
2018-01-08 17:06 [PATCH iproute2 0/7] ip6/tunnel: Unify tclass, flowlabel and encap_limit output Serhey Popovych
` (4 preceding siblings ...)
2018-01-08 17:06 ` [PATCH iproute2 5/7] ip6/tunnel: Unify encap_limit printing Serhey Popovych
@ 2018-01-08 17:06 ` Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 7/7] ip6tnl/tunnel: Output hoplimit before encapsulation limit Serhey Popovych
2018-01-09 16:12 ` [PATCH iproute2 0/7] ip6/tunnel: Unify tclass, flowlabel and encap_limit output Stephen Hemminger
7 siblings, 0 replies; 10+ messages in thread
From: Serhey Popovych @ 2018-01-08 17:06 UTC (permalink / raw)
To: netdev
To follow ip6tnl output print flowlabel after tclass
in link_gre6.c.
Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
---
ip/link_gre6.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/ip/link_gre6.c b/ip/link_gre6.c
index 8014207..55bd1fb 100644
--- a/ip/link_gre6.c
+++ b/ip/link_gre6.c
@@ -444,18 +444,6 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
print_uint(PRINT_ANY, "encap_limit", "encaplimit %u ", val);
}
- if (flags & IP6_TNL_F_USE_ORIG_FLOWLABEL) {
- print_bool(PRINT_ANY,
- "ip6_tnl_f_use_orig_flowlabel",
- "flowlabel inherit ",
- true);
- } else if (tb[IFLA_GRE_FLOWINFO]) {
- __u32 val = ntohl(flowinfo & IP6_FLOWINFO_FLOWLABEL);
-
- snprintf(s2, sizeof(s2), "0x%05x", val);
- print_string(PRINT_ANY, "flowlabel", "flowlabel %s ", s2);
- }
-
if (flags & IP6_TNL_F_USE_ORIG_TCLASS) {
print_bool(PRINT_ANY,
"ip6_tnl_f_use_orig_tclass",
@@ -468,6 +456,18 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
print_string(PRINT_ANY, "tclass", "tclass %s ", s2);
}
+ if (flags & IP6_TNL_F_USE_ORIG_FLOWLABEL) {
+ print_bool(PRINT_ANY,
+ "ip6_tnl_f_use_orig_flowlabel",
+ "flowlabel inherit ",
+ true);
+ } else if (tb[IFLA_GRE_FLOWINFO]) {
+ __u32 val = ntohl(flowinfo & IP6_FLOWINFO_FLOWLABEL);
+
+ snprintf(s2, sizeof(s2), "0x%05x", val);
+ print_string(PRINT_ANY, "flowlabel", "flowlabel %s ", s2);
+ }
+
if (flags & IP6_TNL_F_RCV_DSCP_COPY)
print_bool(PRINT_ANY,
"ip6_tnl_f_rcv_dscp_copy",
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH iproute2 7/7] ip6tnl/tunnel: Output hoplimit before encapsulation limit
2018-01-08 17:06 [PATCH iproute2 0/7] ip6/tunnel: Unify tclass, flowlabel and encap_limit output Serhey Popovych
` (5 preceding siblings ...)
2018-01-08 17:06 ` [PATCH iproute2 6/7] gre6/tunnel: Output flowlabel after tclass Serhey Popovych
@ 2018-01-08 17:06 ` Serhey Popovych
2018-01-09 16:12 ` [PATCH iproute2 0/7] ip6/tunnel: Unify tclass, flowlabel and encap_limit output Stephen Hemminger
7 siblings, 0 replies; 10+ messages in thread
From: Serhey Popovych @ 2018-01-08 17:06 UTC (permalink / raw)
To: netdev
To follow gre6 output print hoplimit before encapsulation
limit in link_ip6tnl.c.
Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
---
ip/link_ip6tnl.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/ip/link_ip6tnl.c b/ip/link_ip6tnl.c
index 379eb33..bbc7878 100644
--- a/ip/link_ip6tnl.c
+++ b/ip/link_ip6tnl.c
@@ -387,6 +387,13 @@ static void ip6tunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb
print_uint(PRINT_ANY, "link_index", "dev %u ", link);
}
+ if (tb[IFLA_IPTUN_TTL]) {
+ print_uint(PRINT_ANY,
+ "ttl",
+ "hoplimit %u ",
+ rta_getattr_u8(tb[IFLA_IPTUN_TTL]));
+ }
+
if (flags & IP6_TNL_F_IGN_ENCAP_LIMIT) {
print_bool(PRINT_ANY,
"ip6_tnl_f_ign_encap_limit",
@@ -398,12 +405,6 @@ static void ip6tunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb
print_uint(PRINT_ANY, "encap_limit", "encaplimit %u ", val);
}
- if (tb[IFLA_IPTUN_TTL])
- print_uint(PRINT_ANY,
- "ttl",
- "hoplimit %u ",
- rta_getattr_u8(tb[IFLA_IPTUN_TTL]));
-
if (flags & IP6_TNL_F_USE_ORIG_TCLASS) {
print_bool(PRINT_ANY,
"ip6_tnl_f_use_orig_tclass",
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH iproute2 0/7] ip6/tunnel: Unify tclass, flowlabel and encap_limit output
2018-01-08 17:06 [PATCH iproute2 0/7] ip6/tunnel: Unify tclass, flowlabel and encap_limit output Serhey Popovych
` (6 preceding siblings ...)
2018-01-08 17:06 ` [PATCH iproute2 7/7] ip6tnl/tunnel: Output hoplimit before encapsulation limit Serhey Popovych
@ 2018-01-09 16:12 ` Stephen Hemminger
2018-01-10 15:35 ` Serhey Popovych
7 siblings, 1 reply; 10+ messages in thread
From: Stephen Hemminger @ 2018-01-09 16:12 UTC (permalink / raw)
To: Serhey Popovych; +Cc: netdev
On Mon, 8 Jan 2018 19:06:31 +0200
Serhey Popovych <serhe.popovych@gmail.com> wrote:
> With this series I want to improve printing of tclass,
> flowlabel and encapsulation limit (encap_limit) options.
>
> Everything within this series is open for your comments,
> suggestions and criticism.
>
> See individual patch description message for details.
>
> Thanks,
> Serhii
>
> Serhey Popovych (7):
> ip6/tunnel: Fix tclass output
> ip6tnl/tunnel: Do not print obscure flowinfo
> ip6/tunnel: Unify tclass printing
> ip6/tunnel: Unify flowlabel printing
> ip6/tunnel: Unify encap_limit printing
> gre6/tunnel: Output flowlabel after tclass
> ip6tnl/tunnel: Output hoplimit before encapsulation limit
>
> ip/link_gre6.c | 54 ++++++++++++++++------------------------------
> ip/link_ip6tnl.c | 63 ++++++++++++++++++------------------------------------
> 2 files changed, 40 insertions(+), 77 deletions(-)
>
I am confused. this patch series arrived after the v3 version.
Which one is correct?
Also when sending multiple versions of a patch series is it is
best practice to include a revision history in the cover letter like:
v2
ip6/tunnel - incorporate review feedback in fou
v3
ip/gre - fix spelling errors
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH iproute2 0/7] ip6/tunnel: Unify tclass, flowlabel and encap_limit output
2018-01-09 16:12 ` [PATCH iproute2 0/7] ip6/tunnel: Unify tclass, flowlabel and encap_limit output Stephen Hemminger
@ 2018-01-10 15:35 ` Serhey Popovych
0 siblings, 0 replies; 10+ messages in thread
From: Serhey Popovych @ 2018-01-10 15:35 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: netdev
[-- Attachment #1.1: Type: text/plain, Size: 1427 bytes --]
Stephen Hemminger wrote:
> On Mon, 8 Jan 2018 19:06:31 +0200
> Serhey Popovych <serhe.popovych@gmail.com> wrote:
>
>> With this series I want to improve printing of tclass,
>> flowlabel and encapsulation limit (encap_limit) options.
>>
>> Everything within this series is open for your comments,
>> suggestions and criticism.
>>
>> See individual patch description message for details.
>>
>> Thanks,
>> Serhii
>>
>> Serhey Popovych (7):
>> ip6/tunnel: Fix tclass output
>> ip6tnl/tunnel: Do not print obscure flowinfo
>> ip6/tunnel: Unify tclass printing
>> ip6/tunnel: Unify flowlabel printing
>> ip6/tunnel: Unify encap_limit printing
>> gre6/tunnel: Output flowlabel after tclass
>> ip6tnl/tunnel: Output hoplimit before encapsulation limit
>>
>> ip/link_gre6.c | 54 ++++++++++++++++------------------------------
>> ip/link_ip6tnl.c | 63 ++++++++++++++++++------------------------------------
>> 2 files changed, 40 insertions(+), 77 deletions(-)
>>
>
>
> I am confused. this patch series arrived after the v3 version.
> Which one is correct?
>
> Also when sending multiple versions of a patch series is it is
> best practice to include a revision history in the cover letter like:
>
>
> v2
> ip6/tunnel - incorporate review feedback in fou
>
> v3
> ip/gre - fix spelling errors
>
>
Ah, sorry for that inconvenience. Addressed with v4.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2018-01-10 15:35 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-08 17:06 [PATCH iproute2 0/7] ip6/tunnel: Unify tclass, flowlabel and encap_limit output Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 1/7] ip6/tunnel: Fix tclass output Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 2/7] ip6tnl/tunnel: Do not print obscure flowinfo Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 3/7] ip6/tunnel: Unify tclass printing Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 4/7] ip6/tunnel: Unify flowlabel printing Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 5/7] ip6/tunnel: Unify encap_limit printing Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 6/7] gre6/tunnel: Output flowlabel after tclass Serhey Popovych
2018-01-08 17:06 ` [PATCH iproute2 7/7] ip6tnl/tunnel: Output hoplimit before encapsulation limit Serhey Popovych
2018-01-09 16:12 ` [PATCH iproute2 0/7] ip6/tunnel: Unify tclass, flowlabel and encap_limit output Stephen Hemminger
2018-01-10 15:35 ` Serhey Popovych
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.