diff --git a/0001-Update-kernel-headers.patch b/0001-Update-kernel-headers.patch
new file mode 100644
index 0000000..b28b099
--- /dev/null
+++ b/0001-Update-kernel-headers.patch
@@ -0,0 +1,38 @@
+From d60a7ac3c0f6aa2a933f48a69ab31e3637f6906c Mon Sep 17 00:00:00 2001
+Message-Id: <d60a7ac3c0f6aa2a933f48a69ab31e3637f6906c.1683109787.git.aclaudi@redhat.com>
+From: Andrea Claudi <aclaudi@redhat.com>
+Date: Wed, 3 May 2023 11:19:24 +0200
+Subject: [PATCH] Update kernel headers
+
+Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2186945
+Upstream Status: iproute2-next.git commit 88786cd1
+
+commit 88786cd1a96a89427bc22061c7736eb2eac31121
+Author: David Ahern <dsahern@kernel.org>
+Date:   Thu Mar 30 09:43:49 2023 -0600
+
+    Update kernel headers
+
+    Update kernel headers to commit:
+        da617cd8d906 ("smsc911x: remove superfluous variable init")
+
+    Signed-off-by: David Ahern <dsahern@kernel.org>
+---
+ include/uapi/linux/if_link.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h
+index 147ad0a3..644d3554 100644
+--- a/include/uapi/linux/if_link.h
++++ b/include/uapi/linux/if_link.h
+@@ -628,6 +628,7 @@ enum {
+ 	IFLA_MACVLAN_MACADDR_COUNT,
+ 	IFLA_MACVLAN_BC_QUEUE_LEN,
+ 	IFLA_MACVLAN_BC_QUEUE_LEN_USED,
++	IFLA_MACVLAN_BC_CUTOFF,
+ 	__IFLA_MACVLAN_MAX,
+ };
+ 
+-- 
+2.40.1
+
diff --git a/0002-macvlan-Add-bclim-parameter.patch b/0002-macvlan-Add-bclim-parameter.patch
new file mode 100644
index 0000000..69575cb
--- /dev/null
+++ b/0002-macvlan-Add-bclim-parameter.patch
@@ -0,0 +1,149 @@
+From 7d1444d9563575ec3346620f12788799080db8c5 Mon Sep 17 00:00:00 2001
+Message-Id: <7d1444d9563575ec3346620f12788799080db8c5.1683109787.git.aclaudi@redhat.com>
+In-Reply-To: <d60a7ac3c0f6aa2a933f48a69ab31e3637f6906c.1683109787.git.aclaudi@redhat.com>
+References: <d60a7ac3c0f6aa2a933f48a69ab31e3637f6906c.1683109787.git.aclaudi@redhat.com>
+From: Andrea Claudi <aclaudi@redhat.com>
+Date: Wed, 3 May 2023 11:19:24 +0200
+Subject: [PATCH] macvlan: Add bclim parameter
+
+Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2186945
+Upstream Status: iproute2-next.git commit e8a3fb47
+
+commit e8a3fb470b4e96aa35a2731c7cc175b946c0a62d
+Author: Herbert Xu <herbert@gondor.apana.org.au>
+Date:   Thu Mar 30 11:07:25 2023 +0800
+
+    macvlan: Add bclim parameter
+
+    This patch adds support for setting the broadcast queueing threshold
+    on macvlan devices.  This controls which multicast packets will be
+    processed in a workqueue instead of inline.
+
+    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+
+     ip/iplink_macvlan.c          |   26 ++++++++++++++++++++++++--
+     man/man8/ip-link.8.in        |   18 ++++++++++++++++++
+     3 files changed, 43 insertions(+), 2 deletions(-)
+
+    Signed-off-by: David Ahern <dsahern@kernel.org>
+---
+ ip/iplink_macvlan.c   | 26 ++++++++++++++++++++++++--
+ man/man8/ip-link.8.in | 18 ++++++++++++++++++
+ 2 files changed, 42 insertions(+), 2 deletions(-)
+
+diff --git a/ip/iplink_macvlan.c b/ip/iplink_macvlan.c
+index 0f13637d..6bdc76d1 100644
+--- a/ip/iplink_macvlan.c
++++ b/ip/iplink_macvlan.c
+@@ -26,13 +26,14 @@
+ static void print_explain(struct link_util *lu, FILE *f)
+ {
+ 	fprintf(f,
+-		"Usage: ... %s mode MODE [flag MODE_FLAG] MODE_OPTS [bcqueuelen BC_QUEUE_LEN]\n"
++		"Usage: ... %s mode MODE [flag MODE_FLAG] MODE_OPTS [bcqueuelen BC_QUEUE_LEN] [bclim BCLIM]\n"
+ 		"\n"
+ 		"MODE: private | vepa | bridge | passthru | source\n"
+ 		"MODE_FLAG: null | nopromisc | nodst\n"
+ 		"MODE_OPTS: for mode \"source\":\n"
+ 		"\tmacaddr { { add | del } <macaddr> | set [ <macaddr> [ <macaddr>  ... ] ] | flush }\n"
+-		"BC_QUEUE_LEN: Length of the rx queue for broadcast/multicast: [0-4294967295]\n",
++		"BC_QUEUE_LEN: Length of the rx queue for broadcast/multicast: [0-4294967295]\n"
++		"BCLIM: Threshold for broadcast queueing: 32-bit integer\n",
+ 		lu->id
+ 	);
+ }
+@@ -67,6 +68,12 @@ static int bc_queue_len_arg(const char *arg)
+ 	return -1;
+ }
+ 
++static int bclim_arg(const char *arg)
++{
++	fprintf(stderr, "Error: illegal value for \"bclim\": \"%s\"\n", arg);
++	return -1;
++}
++
+ static int macvlan_parse_opt(struct link_util *lu, int argc, char **argv,
+ 			  struct nlmsghdr *n)
+ {
+@@ -168,6 +175,15 @@ static int macvlan_parse_opt(struct link_util *lu, int argc, char **argv,
+ 				return bc_queue_len_arg(*argv);
+ 			}
+ 			addattr32(n, 1024, IFLA_MACVLAN_BC_QUEUE_LEN, bc_queue_len);
++		} else if (!strcmp(*argv, "bclim")) {
++			__s32 bclim;
++			NEXT_ARG();
++
++			if (get_s32(&bclim, *argv, 0)) {
++				return bclim_arg(*argv);
++			}
++			addattr_l(n, 1024, IFLA_MACVLAN_BC_CUTOFF,
++				  &bclim, sizeof(bclim));
+ 		} else if (matches(*argv, "help") == 0) {
+ 			explain(lu);
+ 			return -1;
+@@ -245,6 +261,12 @@ static void macvlan_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]
+ 		print_luint(PRINT_ANY, "usedbcqueuelen", "usedbcqueuelen %lu ", bc_queue_len);
+ 	}
+ 
++	if (tb[IFLA_MACVLAN_BC_CUTOFF] &&
++		RTA_PAYLOAD(tb[IFLA_MACVLAN_BC_CUTOFF]) >= sizeof(__s32)) {
++		__s32 bclim = rta_getattr_s32(tb[IFLA_MACVLAN_BC_CUTOFF]);
++		print_int(PRINT_ANY, "bclim", "bclim %d ", bclim);
++	}
++
+ 	/* in source mode, there are more options to print */
+ 
+ 	if (mode != MACVLAN_MODE_SOURCE)
+diff --git a/man/man8/ip-link.8.in b/man/man8/ip-link.8.in
+index eeddf493..62aebabd 100644
+--- a/man/man8/ip-link.8.in
++++ b/man/man8/ip-link.8.in
+@@ -1455,6 +1455,7 @@ the following additional arguments are supported:
+ .BR mode " { " private " | " vepa " | " bridge " | " passthru
+ .RB " [ " nopromisc " ] | " source " [ " nodst " ] } "
+ .RB " [ " bcqueuelen " { " LENGTH " } ] "
++.RB " [ " bclim " " LIMIT " ] "
+ 
+ .in +8
+ .sp
+@@ -1513,6 +1514,13 @@ will be the maximum length that any macvlan interface has requested.
+ When listing device parameters both the bcqueuelen parameter
+ as well as the actual used bcqueuelen are listed to better help
+ the user understand the setting.
++
++.BR bclim " " LIMIT
++- Set the threshold for broadcast queueing.
++.BR LIMIT " must be a 32-bit integer."
++Setting this to -1 disables broadcast queueing altogether.  Otherwise
++a multicast address will be queued as broadcast if the number of devices
++using it is greater than the given value.
+ .in -8
+ 
+ .TP
+@@ -2675,6 +2683,9 @@ Update the broadcast/multicast queue length.
+ [
+ .BI bcqueuelen "  LENGTH  "
+ ]
++[
++.BI bclim " LIMIT "
++]
+ 
+ .in +8
+ .BI bcqueuelen " LENGTH "
+@@ -2688,6 +2699,13 @@ will be the maximum length that any macvlan interface has requested.
+ When listing device parameters both the bcqueuelen parameter
+ as well as the actual used bcqueuelen are listed to better help
+ the user understand the setting.
++
++.BI bclim " LIMIT "
++- Set the threshold for broadcast queueing.
++.IR LIMIT " must be a 32-bit integer."
++Setting this to -1 disables broadcast queueing altogether.  Otherwise
++a multicast address will be queued as broadcast if the number of devices
++using it is greater than the given value.
+ .in -8
+ 
+ .TP
+-- 
+2.40.1
+
diff --git a/iproute.spec b/iproute.spec
index 4c52db5..977c954 100644
--- a/iproute.spec
+++ b/iproute.spec
@@ -1,13 +1,15 @@
 Summary:            Advanced IP routing and network device configuration tools
 Name:               iproute
 Version:            6.2.0
-Release:            1%{?dist}%{?buildid}
+Release:            2%{?dist}%{?buildid}
 %if 0%{?rhel}
 Group:              Applications/System
 %endif
 URL:                https://kernel.org/pub/linux/utils/net/%{name}2/
 Source0:            https://kernel.org/pub/linux/utils/net/%{name}2/%{name}2-%{version}.tar.xz
 Source1:            rt_dsfield.deprecated
+Patch0:             0001-Update-kernel-headers.patch
+Patch1:             0002-macvlan-Add-bclim-parameter.patch
 
 License:            GPL-2.0-or-later AND NIST-PD
 BuildRequires:      bison
@@ -139,6 +141,10 @@ cat %{SOURCE1} >>%{buildroot}%{_sysconfdir}/iproute2/rt_dsfield
 %{_includedir}/iproute2/bpf_elf.h
 
 %changelog
+* Wed May 03 2023 Andrea Claudi <aclaudi@redhat.com> - 6.2.0-2.el9
+- macvlan: Add bclim parameter (Andrea Claudi) [2186945]
+- Update kernel headers (Andrea Claudi) [2186945]
+
 * Thu Apr 27 2023 Andrea Claudi <aclaudi@redhat.com> - 6.2.0-1.el9
 - New version 6.2.0 (Andrea Claudi) [RHEL-428]