diff --git a/patches/backports/0017-netifd-update-to-latest-HEAD.patch b/patches/backports/0017-netifd-update-to-latest-HEAD.patch index 0bb67ec39..e8aa7e1be 100644 --- a/patches/backports/0017-netifd-update-to-latest-HEAD.patch +++ b/patches/backports/0017-netifd-update-to-latest-HEAD.patch @@ -1,7 +1,7 @@ -From f7aad67ef1f61a15fb09d927e331b46f6cafb44e Mon Sep 17 00:00:00 2001 +From 9f1829135434aa08a15ada5b366707b4eb38ec41 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Thu, 27 May 2021 13:24:47 +0200 -Subject: [PATCH 3/4] netifd: update to latest HEAD +Subject: [PATCH] netifd: update to latest HEAD Signed-off-by: John Crispin --- @@ -11,7 +11,7 @@ Signed-off-by: John Crispin create mode 100644 package/network/config/netifd/patches/100-script.patch diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile -index cd4f8f423d..c0a053cd4f 100644 +index cd4f8f423d..4e7c99b5e6 100644 --- a/package/network/config/netifd/Makefile +++ b/package/network/config/netifd/Makefile @@ -5,16 +5,14 @@ PKG_RELEASE:=1 @@ -21,9 +21,9 @@ index cd4f8f423d..c0a053cd4f 100644 -PKG_SOURCE_DATE:=2021-10-30 -PKG_SOURCE_VERSION:=8f82742ca4f47f459284f3a07323d04da72ea5f6 -PKG_MIRROR_HASH:=5e519bb1aec9bb30782213f32f19f12e874c909e42826618dd4332ded816d2fe -+PKG_SOURCE_DATE:=2022-05-19 -+PKG_SOURCE_VERSION:=507c0513d1766757d969530c51fe7d368354538d -+PKG_MIRROR_HASH:=706ede2ffd787a1f5388f2e80300e8f559a704dda21ebc05356074765593539c ++PKG_MIRROR_HASH:=4cf3199c2ebb96bcee183a2c9a750541afca16a16942008e865b4313c14a01bd ++PKG_SOURCE_DATE:=2023-07-03 ++PKG_SOURCE_VERSION:=e94f7a81a03992805aa443156b73721228e6e2d1 PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=GPL-2.0 @@ -62,5 +62,5 @@ index 0000000000..e7ba83f4bb + auth_type=psk-sae + ;; -- -2.25.1 +2.34.1 diff --git a/patches/backports/0060-netifd-backport-2-ubus-status-fixes.patch b/patches/backports/0060-netifd-backport-2-ubus-status-fixes.patch deleted file mode 100644 index eb0152d95..000000000 --- a/patches/backports/0060-netifd-backport-2-ubus-status-fixes.patch +++ /dev/null @@ -1,87 +0,0 @@ -From fb82ab10896f894c6fbdf9ea3f5a96de883ed1ad Mon Sep 17 00:00:00 2001 -From: John Crispin -Date: Mon, 22 May 2023 11:35:05 +0200 -Subject: [PATCH] netifd: backport 2 ubus status fixes - -Signed-off-by: John Crispin ---- - ...fd-bridge-Fix-format-string-position.patch | 32 +++++++++++++++++++ - ...ray-newline-from-device-status-vlan-.patch | 27 ++++++++++++++++ - 2 files changed, 59 insertions(+) - create mode 100644 package/network/config/netifd/patches/0002-netifd-bridge-Fix-format-string-position.patch - create mode 100644 package/network/config/netifd/patches/0003-bridge-remove-stray-newline-from-device-status-vlan-.patch - -diff --git a/package/network/config/netifd/patches/0002-netifd-bridge-Fix-format-string-position.patch b/package/network/config/netifd/patches/0002-netifd-bridge-Fix-format-string-position.patch -new file mode 100644 -index 0000000000..421a5b1594 ---- /dev/null -+++ b/package/network/config/netifd/patches/0002-netifd-bridge-Fix-format-string-position.patch -@@ -0,0 +1,32 @@ -+From ed65a00adc751d102c2041a4a9a32df9dad52b9e Mon Sep 17 00:00:00 2001 -+From: Hauke Mehrtens -+Date: Sun, 12 Feb 2023 21:01:57 +0100 -+Subject: [PATCH] netifd: bridge: Fix format string position -+ -+This fixes the following compile error: -+error: format not a string literal, argument types not checked [-Werror=format-nonliteral] -+ -+blobmsg_printf() has the following signature: -+int blobmsg_printf(struct blob_buf *buf, const char *name, const char *format, ...) -+ -+Signed-off-by: Hauke Mehrtens -+--- -+ bridge.c | 2 +- -+ 1 file changed, 1 insertion(+), 1 deletion(-) -+ -+diff --git a/bridge.c b/bridge.c -+index 7e61b9d..ae305e8 100644 -+--- a/bridge.c -++++ b/bridge.c -+@@ -934,7 +934,7 @@ bridge_dump_port(struct blob_buf *b, struct bridge_vlan_port *port) -+ bool tagged = !(port->flags & BRVLAN_F_UNTAGGED); -+ bool pvid = (port->flags & BRVLAN_F_PVID); -+ -+- blobmsg_printf(b, "%s%s%s%s\n", port->ifname, -++ blobmsg_printf(b, NULL, "%s%s%s%s\n", port->ifname, -+ tagged || pvid ? ":" : "", -+ tagged ? "t" : "", -+ pvid ? "*" : ""); -+-- -+2.34.1 -+ -diff --git a/package/network/config/netifd/patches/0003-bridge-remove-stray-newline-from-device-status-vlan-.patch b/package/network/config/netifd/patches/0003-bridge-remove-stray-newline-from-device-status-vlan-.patch -new file mode 100644 -index 0000000000..8586a00c32 ---- /dev/null -+++ b/package/network/config/netifd/patches/0003-bridge-remove-stray-newline-from-device-status-vlan-.patch -@@ -0,0 +1,27 @@ -+From fb1add3a991ef3aff54fcd87ee1185487f55f540 Mon Sep 17 00:00:00 2001 -+From: Felix Fietkau -+Date: Thu, 4 May 2023 15:14:59 +0200 -+Subject: [PATCH] bridge: remove stray newline from device status vlan port -+ list -+ -+Signed-off-by: Felix Fietkau -+--- -+ bridge.c | 2 +- -+ 1 file changed, 1 insertion(+), 1 deletion(-) -+ -+diff --git a/bridge.c b/bridge.c -+index ae305e8..02fd392 100644 -+--- a/bridge.c -++++ b/bridge.c -+@@ -934,7 +934,7 @@ bridge_dump_port(struct blob_buf *b, struct bridge_vlan_port *port) -+ bool tagged = !(port->flags & BRVLAN_F_UNTAGGED); -+ bool pvid = (port->flags & BRVLAN_F_PVID); -+ -+- blobmsg_printf(b, NULL, "%s%s%s%s\n", port->ifname, -++ blobmsg_printf(b, NULL, "%s%s%s%s", port->ifname, -+ tagged || pvid ? ":" : "", -+ tagged ? "t" : "", -+ pvid ? "*" : ""); -+-- -+2.34.1 -+ --- -2.34.1 - diff --git a/patches/base/0027-netifd-allow-disabling-unicast_to_multicast-conversi.patch b/patches/base/0027-netifd-allow-disabling-unicast_to_multicast-conversi.patch deleted file mode 100644 index 9c5e2ebcf..000000000 --- a/patches/base/0027-netifd-allow-disabling-unicast_to_multicast-conversi.patch +++ /dev/null @@ -1,164 +0,0 @@ -From fc1417c4ba00a066c54fcb2a9bd0fbab096a4d7d Mon Sep 17 00:00:00 2001 -From: John Crispin -Date: Mon, 19 Dec 2022 18:21:06 +0100 -Subject: [PATCH] netifd: allow disabling unicast_to_multicast conversion on - bridged wifi - -Signed-off-by: John Crispin ---- - ...port-for-disabling-multicast-to-unic.patch | 143 ++++++++++++++++++ - 1 file changed, 143 insertions(+) - create mode 100644 package/network/config/netifd/patches/0001-wireless-add-support-for-disabling-multicast-to-unic.patch - -diff --git a/package/network/config/netifd/patches/0001-wireless-add-support-for-disabling-multicast-to-unic.patch b/package/network/config/netifd/patches/0001-wireless-add-support-for-disabling-multicast-to-unic.patch -new file mode 100644 -index 0000000000..2dd03f0cb4 ---- /dev/null -+++ b/package/network/config/netifd/patches/0001-wireless-add-support-for-disabling-multicast-to-unic.patch -@@ -0,0 +1,143 @@ -+From a2e8cd75dbf6196f9408165e2e5f56c84fa37ca3 Mon Sep 17 00:00:00 2001 -+From: Felix Fietkau -+Date: Mon, 19 Dec 2022 18:15:01 +0100 -+Subject: [PATCH 1/2] wireless: add support for disabling multicast-to-unicast -+ per virtual interface -+ -+Signed-off-by: Felix Fietkau -+--- -+ system-linux.c | 6 ++++-- -+ wireless.c | 23 +++++++++++++++++++++++ -+ wireless.h | 2 ++ -+ 3 files changed, 29 insertions(+), 2 deletions(-) -+ -+diff --git a/system-linux.c b/system-linux.c -+index 9fe869f..f16a955 100644 -+--- a/system-linux.c -++++ b/system-linux.c -+@@ -847,8 +847,10 @@ system_bridge_set_wireless(struct device *bridge, struct device *dev) -+ bool mcast_to_ucast = dev->wireless_ap; -+ bool hairpin; -+ -+- if (bridge->settings.flags & DEV_OPT_MULTICAST_TO_UNICAST && -+- !bridge->settings.multicast_to_unicast) -++ if (dev->settings.flags & DEV_OPT_MULTICAST_TO_UNICAST) -++ mcast_to_ucast = dev->settings.multicast_to_unicast; -++ else if (bridge->settings.flags & DEV_OPT_MULTICAST_TO_UNICAST && -++ !bridge->settings.multicast_to_unicast) -+ mcast_to_ucast = false; -+ -+ hairpin = mcast_to_ucast || dev->wireless_proxyarp; -+diff --git a/wireless.c b/wireless.c -+index 118f5a7..705d6dd 100644 -+--- a/wireless.c -++++ b/wireless.c -+@@ -65,6 +65,7 @@ enum { -+ VIF_ATTR_ISOLATE, -+ VIF_ATTR_MODE, -+ VIF_ATTR_PROXYARP, -++ VIF_ATTR_MCAST_TO_UCAST, -+ __VIF_ATTR_MAX, -+ }; -+ -+@@ -74,6 +75,7 @@ static const struct blobmsg_policy vif_policy[__VIF_ATTR_MAX] = { -+ [VIF_ATTR_ISOLATE] = { .name = "isolate", .type = BLOBMSG_TYPE_BOOL }, -+ [VIF_ATTR_MODE] = { .name = "mode", .type = BLOBMSG_TYPE_STRING }, -+ [VIF_ATTR_PROXYARP] = { .name = "proxy_arp", .type = BLOBMSG_TYPE_BOOL }, -++ [VIF_ATTR_MCAST_TO_UCAST] = { .name = "multicast_to_unicast", .type = BLOBMSG_TYPE_BOOL }, -+ }; -+ -+ static const struct uci_blob_param_list vif_param = { -+@@ -85,6 +87,7 @@ enum { -+ VLAN_ATTR_DISABLED, -+ VLAN_ATTR_NETWORK, -+ VLAN_ATTR_ISOLATE, -++ VLAN_ATTR_MCAST_TO_UCAST, -+ __VLAN_ATTR_MAX, -+ }; -+ -+@@ -92,6 +95,7 @@ static const struct blobmsg_policy vlan_policy[__VLAN_ATTR_MAX] = { -+ [VLAN_ATTR_DISABLED] = { .name = "disabled", .type = BLOBMSG_TYPE_BOOL }, -+ [VLAN_ATTR_NETWORK] = { .name = "network", .type = BLOBMSG_TYPE_ARRAY }, -+ [VLAN_ATTR_ISOLATE] = { .name = "isolate", .type = BLOBMSG_TYPE_BOOL }, -++ [VLAN_ATTR_MCAST_TO_UCAST] = { .name = "multicast_to_unicast", .type = BLOBMSG_TYPE_BOOL }, -+ }; -+ -+ static const struct uci_blob_param_list vlan_param = { -+@@ -315,6 +319,17 @@ wireless_device_free_state(struct wireless_device *wdev) -+ } -+ } -+ -++static void wireless_device_set_mcast_to_unicast(struct device *dev, int val) -++{ -++ if (val < 0) { -++ dev->settings.flags &= ~DEV_OPT_MULTICAST_TO_UNICAST; -++ return; -++ } -++ -++ dev->settings.multicast_to_unicast = !!val; -++ dev->settings.flags |= DEV_OPT_MULTICAST_TO_UNICAST; -++} -++ -+ static void wireless_interface_handle_link(struct wireless_interface *vif, const char *ifname, bool up) -+ { -+ struct interface *iface; -+@@ -336,6 +351,7 @@ static void wireless_interface_handle_link(struct wireless_interface *vif, const -+ dev->wireless_proxyarp = vif->proxyarp; -+ dev->wireless = true; -+ dev->wireless_ap = vif->ap_mode; -++ wireless_device_set_mcast_to_unicast(dev, vif->multicast_to_unicast); -+ dev->bpdu_filter = dev->wireless_ap; -+ } -+ } -+@@ -368,6 +384,7 @@ static void wireless_vlan_handle_link(struct wireless_vlan *vlan, bool up) -+ dev->wireless = true; -+ dev->wireless_ap = true; -+ dev->bpdu_filter = true; -++ wireless_device_set_mcast_to_unicast(dev, vlan->multicast_to_unicast); -+ } -+ } -+ -+@@ -811,6 +828,9 @@ wireless_interface_init_config(struct wireless_interface *vif) -+ -+ cur = tb[VIF_ATTR_PROXYARP]; -+ vif->proxyarp = vif->ap_mode && cur && blobmsg_get_bool(cur); -++ -++ cur = tb[VIF_ATTR_MCAST_TO_UCAST]; -++ vif->multicast_to_unicast = cur ? blobmsg_get_bool(cur) : -1; -+ } -+ -+ /* vlist update call for wireless interface list */ -+@@ -873,6 +893,9 @@ wireless_vlan_init_config(struct wireless_vlan *vlan) -+ cur = tb[VLAN_ATTR_ISOLATE]; -+ if (cur) -+ vlan->isolate = blobmsg_get_bool(cur); -++ -++ cur = tb[VLAN_ATTR_MCAST_TO_UCAST]; -++ vlan->multicast_to_unicast = cur ? blobmsg_get_bool(cur) : -1; -+ } -+ -+ /* vlist update call for vlan list */ -+diff --git a/wireless.h b/wireless.h -+index 7b87611..690c797 100644 -+--- a/wireless.h -++++ b/wireless.h -+@@ -91,6 +91,7 @@ struct wireless_interface { -+ bool proxyarp; -+ bool isolate; -+ bool ap_mode; -++ int multicast_to_unicast; -+ }; -+ -+ struct wireless_vlan { -+@@ -106,6 +107,7 @@ struct wireless_vlan { -+ -+ const char *ifname; -+ struct blob_attr *network; -++ int multicast_to_unicast; -+ bool isolate; -+ }; -+ -+-- -+2.25.1 -+ --- -2.25.1 -