netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH iproute2-next v2 0/2] Implement filter terse dump mode support
@ 2020-09-30 16:59 Vlad Buslov
  2020-09-30 16:59 ` [PATCH iproute2-next v2 1/2] tc: skip actions that don't have options attribute when printing Vlad Buslov
  2020-09-30 16:59 ` [PATCH iproute2-next v2 2/2] tc: implement support for terse dump Vlad Buslov
  0 siblings, 2 replies; 11+ messages in thread
From: Vlad Buslov @ 2020-09-30 16:59 UTC (permalink / raw)
  To: dsahern, stephen
  Cc: netdev, davem, jhs, xiyou.wangcong, jiri, ivecera, Vlad Buslov

Implement support for terse dump mode which provides only essential
classifier/action info (handle, stats, cookie, etc.). Use new
TCA_DUMP_FLAGS_TERSE flag to prevent copying of unnecessary data from
kernel.

Vlad Buslov (2):
  tc: skip actions that don't have options attribute when printing
  tc: implement support for terse dump

 man/man8/tc.8     | 6 ++++++
 tc/m_bpf.c        | 2 +-
 tc/m_connmark.c   | 2 +-
 tc/m_csum.c       | 2 +-
 tc/m_ct.c         | 2 +-
 tc/m_ctinfo.c     | 2 +-
 tc/m_gact.c       | 2 +-
 tc/m_ife.c        | 2 +-
 tc/m_ipt.c        | 2 +-
 tc/m_mirred.c     | 2 +-
 tc/m_mpls.c       | 2 +-
 tc/m_nat.c        | 2 +-
 tc/m_pedit.c      | 2 +-
 tc/m_sample.c     | 2 +-
 tc/m_simple.c     | 2 +-
 tc/m_skbedit.c    | 2 +-
 tc/m_skbmod.c     | 2 +-
 tc/m_tunnel_key.c | 2 +-
 tc/m_vlan.c       | 2 +-
 tc/m_xt.c         | 2 +-
 tc/m_xt_old.c     | 2 +-
 tc/tc.c           | 6 +++++-
 tc/tc_filter.c    | 9 +++++++++
 23 files changed, 40 insertions(+), 21 deletions(-)

-- 
2.21.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH iproute2-next v2 1/2] tc: skip actions that don't have options attribute when printing
  2020-09-30 16:59 [PATCH iproute2-next v2 0/2] Implement filter terse dump mode support Vlad Buslov
@ 2020-09-30 16:59 ` Vlad Buslov
  2020-09-30 16:59 ` [PATCH iproute2-next v2 2/2] tc: implement support for terse dump Vlad Buslov
  1 sibling, 0 replies; 11+ messages in thread
From: Vlad Buslov @ 2020-09-30 16:59 UTC (permalink / raw)
  To: dsahern, stephen
  Cc: netdev, davem, jhs, xiyou.wangcong, jiri, ivecera, Vlad Buslov,
	Jiri Pirko

From: Vlad Buslov <vladbu@mellanox.com>

Modify implementations that return error from action_until->print_aopt()
callback to silently skip actions that don't have their corresponding
TCA_ACT_OPTIONS attribute set (some actions already behave like this). This
is necessary to support terse dump mode in following patch in the series.

Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
---
 tc/m_bpf.c        | 2 +-
 tc/m_connmark.c   | 2 +-
 tc/m_csum.c       | 2 +-
 tc/m_ct.c         | 2 +-
 tc/m_ctinfo.c     | 2 +-
 tc/m_gact.c       | 2 +-
 tc/m_ife.c        | 2 +-
 tc/m_ipt.c        | 2 +-
 tc/m_mirred.c     | 2 +-
 tc/m_mpls.c       | 2 +-
 tc/m_nat.c        | 2 +-
 tc/m_pedit.c      | 2 +-
 tc/m_sample.c     | 2 +-
 tc/m_simple.c     | 2 +-
 tc/m_skbedit.c    | 2 +-
 tc/m_skbmod.c     | 2 +-
 tc/m_tunnel_key.c | 2 +-
 tc/m_vlan.c       | 2 +-
 tc/m_xt.c         | 2 +-
 tc/m_xt_old.c     | 2 +-
 20 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/tc/m_bpf.c b/tc/m_bpf.c
index e8d704b557f9..6b231cb3d7b0 100644
--- a/tc/m_bpf.c
+++ b/tc/m_bpf.c
@@ -162,7 +162,7 @@ static int bpf_print_opt(struct action_util *au, FILE *f, struct rtattr *arg)
 	int d_ok = 0;
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_ACT_BPF_MAX, arg);
 
diff --git a/tc/m_connmark.c b/tc/m_connmark.c
index 4b2dc4e25ef8..38546c75b30c 100644
--- a/tc/m_connmark.c
+++ b/tc/m_connmark.c
@@ -111,7 +111,7 @@ static int print_connmark(struct action_util *au, FILE *f, struct rtattr *arg)
 	struct tc_connmark *ci;
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_CONNMARK_MAX, arg);
 	if (tb[TCA_CONNMARK_PARMS] == NULL) {
diff --git a/tc/m_csum.c b/tc/m_csum.c
index afbee9c8de0f..347e5e90e967 100644
--- a/tc/m_csum.c
+++ b/tc/m_csum.c
@@ -167,7 +167,7 @@ print_csum(struct action_util *au, FILE *f, struct rtattr *arg)
 	int uflag_count = 0;
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_CSUM_MAX, arg);
 
diff --git a/tc/m_ct.c b/tc/m_ct.c
index 70d186e859f4..20cc9c8a3102 100644
--- a/tc/m_ct.c
+++ b/tc/m_ct.c
@@ -444,7 +444,7 @@ static int print_ct(struct action_util *au, FILE *f, struct rtattr *arg)
 	int ct_action = 0;
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_CT_MAX, arg);
 	if (tb[TCA_CT_PARMS] == NULL) {
diff --git a/tc/m_ctinfo.c b/tc/m_ctinfo.c
index e5c1b43642a7..5475fe4d43da 100644
--- a/tc/m_ctinfo.c
+++ b/tc/m_ctinfo.c
@@ -189,7 +189,7 @@ static int print_ctinfo(struct action_util *au, FILE *f, struct rtattr *arg)
 	struct tc_ctinfo *ci;
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_CTINFO_MAX, arg);
 	if (!tb[TCA_CTINFO_ACT]) {
diff --git a/tc/m_gact.c b/tc/m_gact.c
index 33f326f823d1..2722e9b805f7 100644
--- a/tc/m_gact.c
+++ b/tc/m_gact.c
@@ -172,7 +172,7 @@ print_gact(struct action_util *au, FILE *f, struct rtattr *arg)
 	struct rtattr *tb[TCA_GACT_MAX + 1];
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_GACT_MAX, arg);
 
diff --git a/tc/m_ife.c b/tc/m_ife.c
index 6a85e087ede1..2491ddb861c2 100644
--- a/tc/m_ife.c
+++ b/tc/m_ife.c
@@ -228,7 +228,7 @@ static int print_ife(struct action_util *au, FILE *f, struct rtattr *arg)
 	SPRINT_BUF(b2);
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_IFE_MAX, arg);
 
diff --git a/tc/m_ipt.c b/tc/m_ipt.c
index cc95eab7fefb..046b310e64ab 100644
--- a/tc/m_ipt.c
+++ b/tc/m_ipt.c
@@ -433,7 +433,7 @@ print_ipt(struct action_util *au, FILE * f, struct rtattr *arg)
 	__u32 hook;
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	lib_dir = getenv("IPTABLES_LIB_DIR");
 	if (!lib_dir)
diff --git a/tc/m_mirred.c b/tc/m_mirred.c
index d2bdf4074a73..7c6351865788 100644
--- a/tc/m_mirred.c
+++ b/tc/m_mirred.c
@@ -282,7 +282,7 @@ print_mirred(struct action_util *au, FILE *f, struct rtattr *arg)
 	const char *dev;
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_MIRRED_MAX, arg);
 
diff --git a/tc/m_mpls.c b/tc/m_mpls.c
index 3d5d9b25fbf6..1a3bfdda104b 100644
--- a/tc/m_mpls.c
+++ b/tc/m_mpls.c
@@ -198,7 +198,7 @@ static int print_mpls(struct action_util *au, FILE *f, struct rtattr *arg)
 	__u32 val;
 
 	if (!arg)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_MPLS_MAX, arg);
 
diff --git a/tc/m_nat.c b/tc/m_nat.c
index 56e8f47cdefd..63de71014efd 100644
--- a/tc/m_nat.c
+++ b/tc/m_nat.c
@@ -147,7 +147,7 @@ print_nat(struct action_util *au, FILE * f, struct rtattr *arg)
 	int len;
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_NAT_MAX, arg);
 
diff --git a/tc/m_pedit.c b/tc/m_pedit.c
index 51dcf10930e8..ec71fcf9922e 100644
--- a/tc/m_pedit.c
+++ b/tc/m_pedit.c
@@ -746,7 +746,7 @@ static int print_pedit(struct action_util *au, FILE *f, struct rtattr *arg)
 	int err;
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_PEDIT_MAX, arg);
 
diff --git a/tc/m_sample.c b/tc/m_sample.c
index 4a30513a6247..e2467a93444a 100644
--- a/tc/m_sample.c
+++ b/tc/m_sample.c
@@ -144,7 +144,7 @@ static int print_sample(struct action_util *au, FILE *f, struct rtattr *arg)
 	struct tc_sample *p;
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_SAMPLE_MAX, arg);
 
diff --git a/tc/m_simple.c b/tc/m_simple.c
index 70897d6b7c13..bc86be27cbcc 100644
--- a/tc/m_simple.c
+++ b/tc/m_simple.c
@@ -166,7 +166,7 @@ static int print_simple(struct action_util *au, FILE *f, struct rtattr *arg)
 	char *simpdata;
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_DEF_MAX, arg);
 
diff --git a/tc/m_skbedit.c b/tc/m_skbedit.c
index 9afe2f0c049d..37625c5ab067 100644
--- a/tc/m_skbedit.c
+++ b/tc/m_skbedit.c
@@ -199,7 +199,7 @@ static int print_skbedit(struct action_util *au, FILE *f, struct rtattr *arg)
 	struct tc_skbedit *p;
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_SKBEDIT_MAX, arg);
 
diff --git a/tc/m_skbmod.c b/tc/m_skbmod.c
index d38a5c1921e7..e13d3f16bfcb 100644
--- a/tc/m_skbmod.c
+++ b/tc/m_skbmod.c
@@ -169,7 +169,7 @@ static int print_skbmod(struct action_util *au, FILE *f, struct rtattr *arg)
 	SPRINT_BUF(b2);
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_SKBMOD_MAX, arg);
 
diff --git a/tc/m_tunnel_key.c b/tc/m_tunnel_key.c
index bfec90724d72..f700f6d86c82 100644
--- a/tc/m_tunnel_key.c
+++ b/tc/m_tunnel_key.c
@@ -671,7 +671,7 @@ static int print_tunnel_key(struct action_util *au, FILE *f, struct rtattr *arg)
 	struct tc_tunnel_key *parm;
 
 	if (!arg)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_TUNNEL_KEY_MAX, arg);
 
diff --git a/tc/m_vlan.c b/tc/m_vlan.c
index 1096ba0fbf12..afc9b475ae0a 100644
--- a/tc/m_vlan.c
+++ b/tc/m_vlan.c
@@ -183,7 +183,7 @@ static int print_vlan(struct action_util *au, FILE *f, struct rtattr *arg)
 	struct tc_vlan *parm;
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	parse_rtattr_nested(tb, TCA_VLAN_MAX, arg);
 
diff --git a/tc/m_xt.c b/tc/m_xt.c
index 487ba25ad391..deaf96a26f75 100644
--- a/tc/m_xt.c
+++ b/tc/m_xt.c
@@ -320,7 +320,7 @@ print_ipt(struct action_util *au, FILE *f, struct rtattr *arg)
 	__u32 hook;
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	/* copy tcipt_globals because .opts will be modified by iptables */
 	struct xtables_globals tmp_tcipt_globals = tcipt_globals;
diff --git a/tc/m_xt_old.c b/tc/m_xt_old.c
index 6a4509a9982f..db014898590d 100644
--- a/tc/m_xt_old.c
+++ b/tc/m_xt_old.c
@@ -358,7 +358,7 @@ print_ipt(struct action_util *au, FILE * f, struct rtattr *arg)
 	__u32 hook;
 
 	if (arg == NULL)
-		return -1;
+		return 0;
 
 	set_lib_dir();
 
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH iproute2-next v2 2/2] tc: implement support for terse dump
  2020-09-30 16:59 [PATCH iproute2-next v2 0/2] Implement filter terse dump mode support Vlad Buslov
  2020-09-30 16:59 ` [PATCH iproute2-next v2 1/2] tc: skip actions that don't have options attribute when printing Vlad Buslov
@ 2020-09-30 16:59 ` Vlad Buslov
  2020-10-08  1:40   ` David Ahern
  1 sibling, 1 reply; 11+ messages in thread
From: Vlad Buslov @ 2020-09-30 16:59 UTC (permalink / raw)
  To: dsahern, stephen
  Cc: netdev, davem, jhs, xiyou.wangcong, jiri, ivecera, Vlad Buslov

From: Vlad Buslov <vladbu@mellanox.com>

Implement support for classifier/action terse dump using new TCA_DUMP_FLAGS
tlv with only available flag value TCA_DUMP_FLAGS_TERSE. Set the flag when
user requested it with following example CLI (-br for 'brief'):

> tc -s -br filter show dev ens1f0 ingress

In terse mode dump only outputs essential data needed to identify the
filter and action (handle, cookie, etc.) and stats, if requested by the
user. The intention is to significantly improve rule dump rate by omitting
all static data that do not change after rule is created.

Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
---

Notes:
    Changes V1 -> V2:
    
    - Invoke terse dump with tc command '-brief' option instead of
    filter-specific 'terse' flag.
    
    - Extend tc man and usage string with new option.

 man/man8/tc.8  | 6 ++++++
 tc/tc.c        | 6 +++++-
 tc/tc_filter.c | 9 +++++++++
 3 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/man/man8/tc.8 b/man/man8/tc.8
index 7e9019f561ea..e8622053df65 100644
--- a/man/man8/tc.8
+++ b/man/man8/tc.8
@@ -854,6 +854,12 @@ option for creating
 alias.
 .RE
 
+.TP
+.BR "\-br" , " \-brief"
+Print only essential data needed to identify the filter and action (handle,
+cookie, etc.) and stats. This option is currently only supported by
+.BR "tc filter show " command.
+
 .SH "EXAMPLES"
 .PP
 tc -g class show dev eth0
diff --git a/tc/tc.c b/tc/tc.c
index 5d57054b45fb..bdd5d4faf886 100644
--- a/tc/tc.c
+++ b/tc/tc.c
@@ -44,6 +44,7 @@ bool use_names;
 int json;
 int color;
 int oneline;
+int brief;
 
 static char *conf_file;
 
@@ -202,7 +203,8 @@ static void usage(void)
 		"       OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[aw] |\n"
 		"		    -o[neline] | -j[son] | -p[retty] | -c[olor]\n"
 		"		    -b[atch] [filename] | -n[etns] name | -N[umeric] |\n"
-		"		     -nm | -nam[es] | { -cf | -conf } path }\n");
+		"		     -nm | -nam[es] | { -cf | -conf } path\n"
+		"		     -br[ief] }\n");
 }
 
 static int do_cmd(int argc, char **argv)
@@ -336,6 +338,8 @@ int main(int argc, char **argv)
 			++json;
 		} else if (matches(argv[1], "-oneline") == 0) {
 			++oneline;
+		}else if (matches(argv[1], "-brief") == 0) {
+			++brief;
 		} else {
 			fprintf(stderr,
 				"Option \"%s\" is unknown, try \"tc -help\".\n",
diff --git a/tc/tc_filter.c b/tc/tc_filter.c
index c591a19f3123..71be2e8119c9 100644
--- a/tc/tc_filter.c
+++ b/tc/tc_filter.c
@@ -721,6 +721,15 @@ static int tc_filter_list(int cmd, int argc, char **argv)
 	if (filter_chain_index_set)
 		addattr32(&req.n, sizeof(req), TCA_CHAIN, chain_index);
 
+	if (brief) {
+		struct nla_bitfield32 flags = {
+			.value = TCA_DUMP_FLAGS_TERSE,
+			.selector = TCA_DUMP_FLAGS_TERSE
+		};
+
+		addattr_l(&req.n, MAX_MSG, TCA_DUMP_FLAGS, &flags, sizeof(flags));
+	}
+
 	if (rtnl_dump_request_n(&rth, &req.n) < 0) {
 		perror("Cannot send dump request");
 		return 1;
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH iproute2-next v2 2/2] tc: implement support for terse dump
  2020-09-30 16:59 ` [PATCH iproute2-next v2 2/2] tc: implement support for terse dump Vlad Buslov
@ 2020-10-08  1:40   ` David Ahern
  2020-10-08 12:58     ` Jamal Hadi Salim
  0 siblings, 1 reply; 11+ messages in thread
From: David Ahern @ 2020-10-08  1:40 UTC (permalink / raw)
  To: Vlad Buslov, stephen, jhs, xiyou.wangcong
  Cc: netdev, davem, jiri, ivecera, Vlad Buslov

On 9/30/20 9:59 AM, Vlad Buslov wrote:
> From: Vlad Buslov <vladbu@mellanox.com>
> 
> Implement support for classifier/action terse dump using new TCA_DUMP_FLAGS
> tlv with only available flag value TCA_DUMP_FLAGS_TERSE. Set the flag when
> user requested it with following example CLI (-br for 'brief'):
> 
>> tc -s -br filter show dev ens1f0 ingress
> 
> In terse mode dump only outputs essential data needed to identify the
> filter and action (handle, cookie, etc.) and stats, if requested by the
> user. The intention is to significantly improve rule dump rate by omitting
> all static data that do not change after rule is created.
> 

I really want to get agreement from other heavy tc users about what the
right information is for a brief mode.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH iproute2-next v2 2/2] tc: implement support for terse dump
  2020-10-08  1:40   ` David Ahern
@ 2020-10-08 12:58     ` Jamal Hadi Salim
  2020-10-08 15:34       ` Vlad Buslov
  0 siblings, 1 reply; 11+ messages in thread
From: Jamal Hadi Salim @ 2020-10-08 12:58 UTC (permalink / raw)
  To: David Ahern, Vlad Buslov, stephen, xiyou.wangcong
  Cc: netdev, davem, jiri, ivecera, Vlad Buslov

On 2020-10-07 9:40 p.m., David Ahern wrote:
> On 9/30/20 9:59 AM, Vlad Buslov wrote:
>> From: Vlad Buslov <vladbu@mellanox.com>
>>
>> Implement support for classifier/action terse dump using new TCA_DUMP_FLAGS
>> tlv with only available flag value TCA_DUMP_FLAGS_TERSE. Set the flag when
>> user requested it with following example CLI (-br for 'brief'):
>>
>>> tc -s -br filter show dev ens1f0 ingress
>>
>> In terse mode dump only outputs essential data needed to identify the
>> filter and action (handle, cookie, etc.) and stats, if requested by the
>> user. The intention is to significantly improve rule dump rate by omitting
>> all static data that do not change after rule is created.
>>
> 
> I really want to get agreement from other heavy tc users about what the
> right information is for a brief mode.

Vlad, would have been helpful in your commit log to show both
terse vs no terse (or at least the terse output). Cant tell short
of patching and testing. Having said that:
The differentiation via TCA_DUMP_FLAGS_TERSE in the request
is in my opinion sufficient to accept the patch.
Also, assuming you have tested with outstanding tc tests for the
first patch i think it looks reasoan

cheers,
jamal

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH iproute2-next v2 2/2] tc: implement support for terse dump
  2020-10-08 12:58     ` Jamal Hadi Salim
@ 2020-10-08 15:34       ` Vlad Buslov
  2020-10-09 12:03         ` Jamal Hadi Salim
  0 siblings, 1 reply; 11+ messages in thread
From: Vlad Buslov @ 2020-10-08 15:34 UTC (permalink / raw)
  To: Jamal Hadi Salim
  Cc: David Ahern, Vlad Buslov, stephen, xiyou.wangcong, netdev, davem,
	jiri, ivecera, Vlad Buslov


On Thu 08 Oct 2020 at 15:58, Jamal Hadi Salim <jhs@mojatatu.com> wrote:
> On 2020-10-07 9:40 p.m., David Ahern wrote:
>> On 9/30/20 9:59 AM, Vlad Buslov wrote:
>>> From: Vlad Buslov <vladbu@mellanox.com>
>>>
>>> Implement support for classifier/action terse dump using new TCA_DUMP_FLAGS
>>> tlv with only available flag value TCA_DUMP_FLAGS_TERSE. Set the flag when
>>> user requested it with following example CLI (-br for 'brief'):
>>>
>>>> tc -s -br filter show dev ens1f0 ingress
>>>
>>> In terse mode dump only outputs essential data needed to identify the
>>> filter and action (handle, cookie, etc.) and stats, if requested by the
>>> user. The intention is to significantly improve rule dump rate by omitting
>>> all static data that do not change after rule is created.
>>>
>>
>> I really want to get agreement from other heavy tc users about what the
>> right information is for a brief mode.
>
> Vlad, would have been helpful in your commit log to show both
> terse vs no terse (or at least the terse output). Cant tell short
> of patching and testing. Having said that:
> The differentiation via TCA_DUMP_FLAGS_TERSE in the request
> is in my opinion sufficient to accept the patch.
> Also, assuming you have tested with outstanding tc tests for the
> first patch i think it looks reasoan

Hi Jamal,

The existing terse dump tdc tests will have to be changed according with
new iproute2 tc syntax for brief(terse) output.

Regards,
Vlad


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH iproute2-next v2 2/2] tc: implement support for terse dump
  2020-10-08 15:34       ` Vlad Buslov
@ 2020-10-09 12:03         ` Jamal Hadi Salim
  2020-10-09 12:15           ` Vlad Buslov
  0 siblings, 1 reply; 11+ messages in thread
From: Jamal Hadi Salim @ 2020-10-09 12:03 UTC (permalink / raw)
  To: Vlad Buslov
  Cc: David Ahern, Vlad Buslov, stephen, xiyou.wangcong, netdev, davem,
	jiri, ivecera, Vlad Buslov

On 2020-10-08 11:34 a.m., Vlad Buslov wrote:
> 
> On Thu 08 Oct 2020 at 15:58, Jamal Hadi Salim <jhs@mojatatu.com> wrote:
>
> 
> Hi Jamal,
> 
> The existing terse dump tdc tests will have to be changed according with
> new iproute2 tc syntax for brief(terse) output.
>

Which test(s)?
I see for example d45e mentioning terse but i dont see corresponding
code in the iproute2 tree i just pulled.

I feel like changing the tests this early may not be a big issue
if they havent propagated in the wild.

cheers,
jamal



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH iproute2-next v2 2/2] tc: implement support for terse dump
  2020-10-09 12:03         ` Jamal Hadi Salim
@ 2020-10-09 12:15           ` Vlad Buslov
  2020-10-09 12:45             ` Jamal Hadi Salim
  0 siblings, 1 reply; 11+ messages in thread
From: Vlad Buslov @ 2020-10-09 12:15 UTC (permalink / raw)
  To: Jamal Hadi Salim
  Cc: David Ahern, Vlad Buslov, stephen, xiyou.wangcong, netdev, davem,
	jiri, ivecera, Vlad Buslov


On Fri 09 Oct 2020 at 15:03, Jamal Hadi Salim <jhs@mojatatu.com> wrote:
> On 2020-10-08 11:34 a.m., Vlad Buslov wrote:
>>
>> On Thu 08 Oct 2020 at 15:58, Jamal Hadi Salim <jhs@mojatatu.com> wrote:
>>
>>
>> Hi Jamal,
>>
>> The existing terse dump tdc tests will have to be changed according with
>> new iproute2 tc syntax for brief(terse) output.
>>
>
> Which test(s)?
> I see for example d45e mentioning terse but i dont see corresponding
> code in the iproute2 tree i just pulled.

Yes. The tests d45e and 7c65 were added as a part of kernel series, but
corresponding iproute2 patches were never merged. Tests expect original
"terse flag" syntax of V1 iproute2 series and will have to be changed to
use -brief option instead.

>
> I feel like changing the tests this early may not be a big issue
> if they havent propagated in the wild.
>
> cheers,
> jamal


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH iproute2-next v2 2/2] tc: implement support for terse dump
  2020-10-09 12:15           ` Vlad Buslov
@ 2020-10-09 12:45             ` Jamal Hadi Salim
  2020-10-09 16:38               ` Vlad Buslov
  0 siblings, 1 reply; 11+ messages in thread
From: Jamal Hadi Salim @ 2020-10-09 12:45 UTC (permalink / raw)
  To: Vlad Buslov
  Cc: David Ahern, Vlad Buslov, stephen, xiyou.wangcong, netdev, davem,
	jiri, ivecera, Vlad Buslov

On 2020-10-09 8:15 a.m., Vlad Buslov wrote:
> 
> On Fri 09 Oct 2020 at 15:03, Jamal Hadi Salim <jhs@mojatatu.com> wrote:

>> Which test(s)?
>> I see for example d45e mentioning terse but i dont see corresponding
>> code in the iproute2 tree i just pulled.
> 
> Yes. The tests d45e and 7c65 were added as a part of kernel series, but
> corresponding iproute2 patches were never merged. Tests expect original
> "terse flag" syntax of V1 iproute2 series and will have to be changed to
> use -brief option instead.

Then i dont see a problem in changing the tests.
If you are going to send a v3 please include my acked-by.
Would have been nice to see what terse output would have looked like.

cheers,
jamal

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH iproute2-next v2 2/2] tc: implement support for terse dump
  2020-10-09 12:45             ` Jamal Hadi Salim
@ 2020-10-09 16:38               ` Vlad Buslov
  2020-10-13  2:05                 ` David Ahern
  0 siblings, 1 reply; 11+ messages in thread
From: Vlad Buslov @ 2020-10-09 16:38 UTC (permalink / raw)
  To: Jamal Hadi Salim
  Cc: David Ahern, Vlad Buslov, stephen, xiyou.wangcong, netdev, davem,
	jiri, ivecera, Vlad Buslov


On Fri 09 Oct 2020 at 15:45, Jamal Hadi Salim <jhs@mojatatu.com> wrote:
> On 2020-10-09 8:15 a.m., Vlad Buslov wrote:
>>
>> On Fri 09 Oct 2020 at 15:03, Jamal Hadi Salim <jhs@mojatatu.com> wrote:
>
>>> Which test(s)?
>>> I see for example d45e mentioning terse but i dont see corresponding
>>> code in the iproute2 tree i just pulled.
>>
>> Yes. The tests d45e and 7c65 were added as a part of kernel series, but
>> corresponding iproute2 patches were never merged. Tests expect original
>> "terse flag" syntax of V1 iproute2 series and will have to be changed to
>> use -brief option instead.
>
> Then i dont see a problem in changing the tests.
> If you are going to send a v3 please include my acked-by.
> Would have been nice to see what terse output would have looked like.
>
> cheers,
> jamal

Sure. Just waiting for everyone to voice their opinion regarding the
output format before proceeding with any changes.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH iproute2-next v2 2/2] tc: implement support for terse dump
  2020-10-09 16:38               ` Vlad Buslov
@ 2020-10-13  2:05                 ` David Ahern
  0 siblings, 0 replies; 11+ messages in thread
From: David Ahern @ 2020-10-13  2:05 UTC (permalink / raw)
  To: Vlad Buslov, Jamal Hadi Salim
  Cc: David Ahern, Vlad Buslov, stephen, xiyou.wangcong, netdev, davem,
	jiri, ivecera, Vlad Buslov

On 10/9/20 9:38 AM, Vlad Buslov wrote:
> 
> On Fri 09 Oct 2020 at 15:45, Jamal Hadi Salim <jhs@mojatatu.com> wrote:
>> On 2020-10-09 8:15 a.m., Vlad Buslov wrote:
>>>
>>> On Fri 09 Oct 2020 at 15:03, Jamal Hadi Salim <jhs@mojatatu.com> wrote:
>>
>>>> Which test(s)?
>>>> I see for example d45e mentioning terse but i dont see corresponding
>>>> code in the iproute2 tree i just pulled.
>>>
>>> Yes. The tests d45e and 7c65 were added as a part of kernel series, but
>>> corresponding iproute2 patches were never merged. Tests expect original
>>> "terse flag" syntax of V1 iproute2 series and will have to be changed to
>>> use -brief option instead.
>>
>> Then i dont see a problem in changing the tests.
>> If you are going to send a v3 please include my acked-by.
>> Would have been nice to see what terse output would have looked like.
>>
>> cheers,
>> jamal
> 
> Sure. Just waiting for everyone to voice their opinion regarding the
> output format before proceeding with any changes.
> 

go ahead and send a v3 with example output. cc Jamal and Cong


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-10-13  2:42 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-30 16:59 [PATCH iproute2-next v2 0/2] Implement filter terse dump mode support Vlad Buslov
2020-09-30 16:59 ` [PATCH iproute2-next v2 1/2] tc: skip actions that don't have options attribute when printing Vlad Buslov
2020-09-30 16:59 ` [PATCH iproute2-next v2 2/2] tc: implement support for terse dump Vlad Buslov
2020-10-08  1:40   ` David Ahern
2020-10-08 12:58     ` Jamal Hadi Salim
2020-10-08 15:34       ` Vlad Buslov
2020-10-09 12:03         ` Jamal Hadi Salim
2020-10-09 12:15           ` Vlad Buslov
2020-10-09 12:45             ` Jamal Hadi Salim
2020-10-09 16:38               ` Vlad Buslov
2020-10-13  2:05                 ` David Ahern

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).