diff --git a/0004-u32-fix-TC_U32_TERMINAL-printing.patch b/0004-u32-fix-TC_U32_TERMINAL-printing.patch new file mode 100644 index 0000000..270f656 --- /dev/null +++ b/0004-u32-fix-TC_U32_TERMINAL-printing.patch @@ -0,0 +1,65 @@ +From 80e59389e93bf3f45204a38536f3f228adf153c7 Mon Sep 17 00:00:00 2001 +Message-Id: <80e59389e93bf3f45204a38536f3f228adf153c7.1686076455.git.aclaudi@redhat.com> +In-Reply-To: +References: +From: Andrea Claudi +Date: Tue, 6 Jun 2023 20:05:15 +0200 +Subject: [PATCH] u32: fix TC_U32_TERMINAL printing + +Jira: https://issues.redhat.com/browse/RHEL-337 +Upstream Status: iproute2-next.git commit 2854d69a + +commit 2854d69a99f6e38d0d2426bd641a56d7a85bc61b +Author: Hangbin Liu +Date: Wed Mar 1 22:21:00 2023 +0800 + + u32: fix TC_U32_TERMINAL printing + + We previously printed an asterisk if there was no 'sel' or + 'TC_U32_TERMINAL' flag. However, + commit 1ff227545ce1 ("u32: fix json formatting of flowid") + changed the logic to print an asterisk only if there is a + 'TC_U32_TERMINAL' flag. Therefore, we need to fix this + regression. + + Before the fix, the tdc u32 test failed: + + 1..11 + not ok 1 afa9 - Add u32 with source match + Could not match regex pattern. Verify command output: + filter protocol ip pref 1 u32 chain 0 + filter protocol ip pref 1 u32 chain 0 fh 800: ht divisor 1 + filter protocol ip pref 1 u32 chain 0 fh 800::800 order 2048 key ht 800 bkt 0 *flowid 1:1 not_in_hw + match 7f000001/ffffffff at 12 + action order 1: gact action pass + random type none pass val 0 + index 1 ref 1 bind 1 + + After fix, the test passed: + 1..11 + ok 1 afa9 - Add u32 with source match + + Fixes: 1ff227545ce1 ("u32: fix json formatting of flowid") + Signed-off-by: Hangbin Liu + Reviewed-by: Victor Nogueira + Signed-off-by: Stephen Hemminger +--- + tc/f_u32.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tc/f_u32.c b/tc/f_u32.c +index bfe9e5f9..de2d0c9e 100644 +--- a/tc/f_u32.c ++++ b/tc/f_u32.c +@@ -1273,7 +1273,7 @@ static int u32_print_opt(struct filter_util *qu, FILE *f, struct rtattr *opt, + if (tb[TCA_U32_CLASSID]) { + __u32 classid = rta_getattr_u32(tb[TCA_U32_CLASSID]); + SPRINT_BUF(b1); +- if (sel && (sel->flags & TC_U32_TERMINAL)) ++ if (!sel || !(sel->flags & TC_U32_TERMINAL)) + print_string(PRINT_FP, NULL, "*", NULL); + + print_string(PRINT_ANY, "flowid", "flowid %s ", +-- +2.40.1 + diff --git a/0005-tc-add-missing-separator.patch b/0005-tc-add-missing-separator.patch new file mode 100644 index 0000000..8c27fca --- /dev/null +++ b/0005-tc-add-missing-separator.patch @@ -0,0 +1,43 @@ +From 8bc9a4f3855d28ae718f14875dd78d49d53c4349 Mon Sep 17 00:00:00 2001 +Message-Id: <8bc9a4f3855d28ae718f14875dd78d49d53c4349.1686076455.git.aclaudi@redhat.com> +In-Reply-To: +References: +From: Andrea Claudi +Date: Tue, 6 Jun 2023 20:08:25 +0200 +Subject: [PATCH] tc: add missing separator + +Jira: https://issues.redhat.com/browse/RHEL-586 +Upstream Status: iproute2-next.git commit 4e0e56e0 + +commit 4e0e56e0ef05387f7f5d8ab41fe6ec6a1897b26d +Author: Christian Hesse +Date: Thu Feb 23 11:15:03 2023 +0100 + + tc: add missing separator + + This is missing a separator, that was accidently removed + when JSON was added. + + Fixes: 010a8388aea1 ("tc: Add JSON output to tc-class") + Signed-off-by: Christian Hesse + Signed-off-by: Stephen Hemminger +--- + tc/tc_class.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tc/tc_class.c b/tc/tc_class.c +index c1feb009..096fa2ec 100644 +--- a/tc/tc_class.c ++++ b/tc/tc_class.c +@@ -356,7 +356,7 @@ int print_class(struct nlmsghdr *n, void *arg) + print_string(PRINT_ANY, "parent", "parent %s ", abuf); + } + if (t->tcm_info) +- print_0xhex(PRINT_ANY, "leaf", "leaf %x", t->tcm_info>>16); ++ print_0xhex(PRINT_ANY, "leaf", "leaf %x: ", t->tcm_info>>16); + + q = get_qdisc_kind(RTA_DATA(tb[TCA_KIND])); + if (tb[TCA_OPTIONS]) { +-- +2.40.1 + diff --git a/iproute.spec b/iproute.spec index 947b347..5ecba2e 100644 --- a/iproute.spec +++ b/iproute.spec @@ -1,7 +1,7 @@ Summary: Advanced IP routing and network device configuration tools Name: iproute Version: 6.2.0 -Release: 4%{?dist}%{?buildid} +Release: 5%{?dist}%{?buildid} %if 0%{?rhel} Group: Applications/System %endif @@ -11,6 +11,8 @@ Source1: rt_dsfield.deprecated Patch0: 0001-Update-kernel-headers.patch Patch1: 0002-macvlan-Add-bclim-parameter.patch Patch2: 0003-mptcp-add-support-for-implicit-flag.patch +Patch3: 0004-u32-fix-TC_U32_TERMINAL-printing.patch +Patch4: 0005-tc-add-missing-separator.patch License: GPL-2.0-or-later AND NIST-PD BuildRequires: bison @@ -142,6 +144,10 @@ cat %{SOURCE1} >>%{buildroot}%{_sysconfdir}/iproute2/rt_dsfield %{_includedir}/iproute2/bpf_elf.h %changelog +* Tue Jun 06 2023 Andrea Claudi - 6.2.0-5.el9 +- tc: add missing separator (Andrea Claudi) [RHEL-337] +- u32: fix TC_U32_TERMINAL printing (Andrea Claudi) [RHEL-586] + * Mon Jun 05 2023 Andrea Claudi - 6.2.0-4.el9 - Fix NVR, %autorelease not working (Andrea Claudi)