firmware/src/packages/fff/fff-layer3/Makefile

55 lines
1.2 KiB
Makefile
Raw Normal View History

include $(TOPDIR)/rules.mk
PKG_NAME:=fff-layer3
fff-layer3-vxmesh: join multple client nets with vxlan Easily span a layer 2 network over a small group of, not necessarily adjacent, routers. This patch introduces a new `vxmesh` configuration section. It takes care of setting up a shared client network using vxlan among all configured routers. As a result, clients can finally roam between the routers of the mesh. It integrates well with the underlying layer 3 routing to make best use of the infrastructure available. This way the network is not depending on a contiguous layer 2 spanning tree topology and can make use of all fallback mechanisms of the layer 3 underlay. This example config ... ``` config gateway option peer_ip6 '2001:0db8::1' # required ... config vxmesh option proto 'vxlan|vxlan6' # required option vid '42' # required # ... # any vxlan options can be included # ... # list of peers for headend replication list peer '2001:0db8::1' # list can include the ip of the router list peer '2001:0db8::2' # this way the complete config section list peer '2001:0db8::3' # can be copied to all routers in the list peer '2001:0db8::4' # group ... ``` ... will generate ... ``` config interface client ... # append and remove the vxmesh0 entry # depending on whether a vxmesh is configured ifname '... vxmesh0' ... ... config interface 'vxmesh0' option proto 'vxlan6' option vid '42' config vxlan_peer option vxlan 'vxmesh0' option dst '2001:0db8::2' config vxlan_peer option vxlan 'vxmesh0' option dst '2001:0db8::3' config vxlan_peer option vxlan 'vxmesh0' option dst '2001:0db8::4' ``` It will also take care and configure the `dhcp.@dnsmasq[0].authoritative` setting depending on whether a vxmesh is enabled or not. Signed-off-by: Johannes Kimmel <fff@bareminimum.eu>
2021-01-20 09:01:00 +01:00
PKG_RELEASE:=9
include $(INCLUDE_DIR)/package.mk
define Package/fff-layer3
SECTION:=base
CATEGORY:=Freifunk
TITLE:=Freifunk-Franken gateway configuration
URL:=https://www.freifunk-franken.de
DEPENDS:=+fff-alfred-monitoring-proxy \
+fff-babeld \
+fff-boardname \
+fff-dhcp \
+fff-layer3-config \
+fff-network \
+fff-ra \
+fff-wireguard \
+arptables \
+bmon \
+ebtables \
+ebtables-utils \
+kmod-ebtables-ipv4 \
+kmod-ebtables-ipv6 \
+kmod-sched-cake \
+gre \
+@PACKAGE_grev4 \
+@PACKAGE_grev6 \
+iperf3 \
+ip-full \
+iptables-mod-filter \
+iptables-mod-ipopt \
+iptables-mod-conntrack-extra \
+mtr \
+tc \
+tcpdump \
fff-layer3-vxmesh: join multple client nets with vxlan Easily span a layer 2 network over a small group of, not necessarily adjacent, routers. This patch introduces a new `vxmesh` configuration section. It takes care of setting up a shared client network using vxlan among all configured routers. As a result, clients can finally roam between the routers of the mesh. It integrates well with the underlying layer 3 routing to make best use of the infrastructure available. This way the network is not depending on a contiguous layer 2 spanning tree topology and can make use of all fallback mechanisms of the layer 3 underlay. This example config ... ``` config gateway option peer_ip6 '2001:0db8::1' # required ... config vxmesh option proto 'vxlan|vxlan6' # required option vid '42' # required # ... # any vxlan options can be included # ... # list of peers for headend replication list peer '2001:0db8::1' # list can include the ip of the router list peer '2001:0db8::2' # this way the complete config section list peer '2001:0db8::3' # can be copied to all routers in the list peer '2001:0db8::4' # group ... ``` ... will generate ... ``` config interface client ... # append and remove the vxmesh0 entry # depending on whether a vxmesh is configured ifname '... vxmesh0' ... ... config interface 'vxmesh0' option proto 'vxlan6' option vid '42' config vxlan_peer option vxlan 'vxmesh0' option dst '2001:0db8::2' config vxlan_peer option vxlan 'vxmesh0' option dst '2001:0db8::3' config vxlan_peer option vxlan 'vxmesh0' option dst '2001:0db8::4' ``` It will also take care and configure the `dhcp.@dnsmasq[0].authoritative` setting depending on whether a vxmesh is enabled or not. Signed-off-by: Johannes Kimmel <fff@bareminimum.eu>
2021-01-20 09:01:00 +01:00
+fff-layer3-vxmesh
endef
define Package/fff-layer3/description
This package provides the packages and settings for the layer 3 firmware
endef
define Build/Compile
# nothing
endef
define Package/fff-layer3/install
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,fff-layer3))