[openwrt/openwrt] xfrm: support 'multicast' attribute on interfaces

LEDE Commits lede-commits at lists.infradead.org
Fri Dec 11 14:53:55 EST 2020


dedeckeh pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/5d2b577a53021372ffe8327a102859124d9dffd2

commit 5d2b577a53021372ffe8327a102859124d9dffd2
Author: Philip Prindeville <philipp at redfish-solutions.com>
AuthorDate: Mon Dec 7 13:19:30 2020 -0700

    xfrm: support 'multicast' attribute on interfaces
    
    You shouldn't need the overhead of GRE just to add multicast
    capability on a point-to-point interface (for instance, you might
    want to run mDNS over IPsec transport connections, and Avahi
    requires IFF_MULTICAST be set on interfaces, even point-to-point
    ones).
    
    Borrowed heavily from:
    
        b3c9321b9e gre: Support multicast configurable gre interfaces
    
    Signed-off-by: Philip Prindeville <philipp at redfish-solutions.com>
---
 package/network/config/xfrm/Makefile      | 2 +-
 package/network/config/xfrm/files/xfrm.sh | 7 +++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/package/network/config/xfrm/Makefile b/package/network/config/xfrm/Makefile
index 1b3b99adb0..bcee89f82c 100644
--- a/package/network/config/xfrm/Makefile
+++ b/package/network/config/xfrm/Makefile
@@ -2,7 +2,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xfrm
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_LICENSE:=GPL-2.0
 
 include $(INCLUDE_DIR)/package.mk
diff --git a/package/network/config/xfrm/files/xfrm.sh b/package/network/config/xfrm/files/xfrm.sh
index 1bd1958726..ca7c3380e6 100755
--- a/package/network/config/xfrm/files/xfrm.sh
+++ b/package/network/config/xfrm/files/xfrm.sh
@@ -11,8 +11,8 @@ proto_xfrm_setup() {
 	local cfg="$1"
 	local mode="xfrm"
 
-	local tunlink ifid mtu zone
-	json_get_vars tunlink ifid mtu zone
+	local tunlink ifid mtu zone multicast
+	json_get_vars tunlink ifid mtu zone multicast
 
 	[ -z "$tunlink" ] && {
 		proto_notify_error "$cfg" NO_TUNLINK
@@ -36,6 +36,8 @@ proto_xfrm_setup() {
 
 	json_add_string link "$tunlink"
 
+	json_add_boolean multicast "${multicast:-1}"
+
 	json_add_object 'data'
 	[ -n "$ifid" ] && json_add_int ifid "$ifid"
 	json_close_object
@@ -61,6 +63,7 @@ proto_xfrm_init_config() {
 	proto_config_add_string "tunlink"
 	proto_config_add_string "zone"
 	proto_config_add_int "ifid"
+	proto_config_add_boolean "multicast"
 }
 
 



More information about the lede-commits mailing list