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: <d60a7ac3c0f6aa2a933f48a69ab31e3637f6906c.1686076455.git.aclaudi@redhat.com>
+References: <d60a7ac3c0f6aa2a933f48a69ab31e3637f6906c.1686076455.git.aclaudi@redhat.com>
+From: Andrea Claudi <aclaudi@redhat.com>
+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 <liuhangbin@gmail.com>
+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 <liuhangbin@gmail.com>
+    Reviewed-by: Victor Nogueira <victor@mojatatu.com>
+    Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
+---
+ 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: <d60a7ac3c0f6aa2a933f48a69ab31e3637f6906c.1686076455.git.aclaudi@redhat.com>
+References: <d60a7ac3c0f6aa2a933f48a69ab31e3637f6906c.1686076455.git.aclaudi@redhat.com>
+From: Andrea Claudi <aclaudi@redhat.com>
+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 <mail@eworm.de>
+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 <mail@eworm.de>
+    Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
+---
+ 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 <aclaudi@redhat.com> - 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 <aclaudi@redhat.com> - 6.2.0-4.el9
 - Fix NVR, %autorelease not working (Andrea Claudi)