Hi, Comments inline
Hans On Thu, Jun 6, 2019 at 3:52 PM André Valentin <avalen...@marcant.net> wrote: > > This package adds scripts for xfrm interfaces support. > Example configuration via /etc/config/network: > > config interface 'xfrm0' > option proto 'xfrm' > option mtu '1300' > option zone 'VPN' > option tunlink 'wan' > option ifid 30 > > config interface 'xfrm0_static' > option proto 'static' > option ifname '@xfrm0' > option ip6addr 'fe80::1/64' > option ipaddr '10.0.0.1/30' > > > --- > package/network/config/xfrm/Makefile | 44 +++++++++++++++++++++++++ > package/network/config/xfrm/files/xfrm.sh | 54 > +++++++++++++++++++++++++++++++ > 2 files changed, 98 insertions(+) > create mode 100644 package/network/config/xfrm/Makefile > create mode 100755 package/network/config/xfrm/files/xfrm.sh > > diff --git a/package/network/config/xfrm/Makefile > b/package/network/config/xfrm/Makefile > new file mode 100644 > index 0000000000..943a4ba326 > --- /dev/null > +++ b/package/network/config/xfrm/Makefile > @@ -0,0 +1,44 @@ > +# > +# Copyright (C) 2014 OpenWrt.org > +# > +# This is free software, licensed under the GNU General Public License v2. > +# See /LICENSE for more information. > +# Please leave the Copyright header out as I don't think you have any contractual agreement with OpenWrt > + > +include $(TOPDIR)/rules.mk > + > +PKG_NAME:=xfrm > +PKG_VERSION:=1 > +PKG_RELEASE:=3 Why is PKG_RELEASE set to 3 ? > +PKG_LICENSE:=GPL-2.0 > + > +include $(INCLUDE_DIR)/package.mk > + > +define Package/xfrm/Default > + SECTION:=net > + CATEGORY:=Network > + MAINTAINER:=Andre Valentin <avalen...@marcant.net> > +endef > + > +define Package/xfrm > +$(call Package/xfrm/Default) > + TITLE:=XFRM IPsec Tunnel Interface config support > + DEPENDS:=+kmod-xfrm-interface > +endef > + > +define Package/xfrm/description > + XFRM IPsec Tunnel Interface config support (IPv4 and IPv6) in > /etc/config/network. > +endef > + > +define Build/Compile > +endef > + > +define Build/Configure > +endef > + > +define Package/xfrm/install > + $(INSTALL_DIR) $(1)/lib/netifd/proto > + $(INSTALL_BIN) ./files/xfrm.sh $(1)/lib/netifd/proto/xfrm.sh > +endef > + > +$(eval $(call BuildPackage,xfrm)) > diff --git a/package/network/config/xfrm/files/xfrm.sh > b/package/network/config/xfrm/files/xfrm.sh > new file mode 100755 > index 0000000000..b93e090e90 > --- /dev/null > +++ b/package/network/config/xfrm/files/xfrm.sh > @@ -0,0 +1,54 @@ > +#!/bin/sh > + > +[ -n "$INCLUDE_ONLY" ] || { > + . /lib/functions.sh > + . /lib/functions/network.sh > + . ../netifd-proto.sh > + init_proto "$@" > +} > + > +proto_xfrm_setup() { > + local cfg="$1" > + local mode="xfrm" > + > + local df tunlink ifid mtu zone > + json_get_vars df tunlink ifid mtu zone > + > + proto_init_update "$cfg" 1 > + > + proto_add_tunnel > + json_add_string mode "$mode" > + json_add_int mtu "${mtu:-1280}" > + [ -n "$tunlink" ] && json_add_string link "$tunlink" > + > + json_add_object 'data' > + [ -n "$ifid" ] && json_add_int ifid "$ifid" > + json_close_object > + > + proto_close_tunnel > + > + proto_add_data > + [ -n "$zone" ] && json_add_string zone "$zone" > + proto_close_data > + > + proto_send_update "$cfg" > +} > + > +proto_xfrm_teardown() { > + local cfg="$1" > +} > + > +proto_xfrm_init_config() { > + no_device=1 > + available=1 > + > + proto_config_add_int "mtu" > + proto_config_add_string "tunlink" > + proto_config_add_string "zone" > + proto_config_add_int "ifid" > +} > + > + > +[ -n "$INCLUDE_ONLY" ] || { > + [ -f /lib/modules/$(uname -r)/xfrm_interface.ko -o -d > /sys/module/xfrm_interface ] && add_protocol xfrm > +} > -- > 2.11.0 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel