Compare commits

...

9 Commits

Author SHA1 Message Date
Arun Muthusamy
f7342e1fbf qos: Execute certain scripts after service instance starts 2022-02-24 08:42:38 +01:00
Amin Ben Ramdhane
160165e80f bbf: 6.6.2 2022-02-23 20:31:16 +01:00
Anjan Chanda
996cb66482 map-controller: 6.0.4: add Config.in 2022-02-23 18:36:12 +01:00
Jakob Olsson
0b7cd0e437 map-controller: 6.0.4 2022-02-23 18:30:28 +01:00
Jakob Olsson
53e48827f3 map-agent: 7.1.7 2022-02-23 18:29:33 +01:00
Stanislaw Gruszka
a4e2799b90 multi-ap: ts rework for eth suport 2022-02-23 18:29:08 +01:00
Anjan Chanda
a5a05dffa8 map-agent: 7.1.6 2022-02-23 18:29:08 +01:00
Anjan Chanda
9c9ab20ce8 map-agent: 7.1.5 2022-02-23 18:29:08 +01:00
Anjan Chanda
a225352493 ieee1905: 4.6.16 2022-02-23 18:29:08 +01:00
9 changed files with 161 additions and 75 deletions

View File

@@ -5,11 +5,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libbbfdm
PKG_VERSION:=6.6.1
PKG_VERSION:=6.6.2
PKG_FIXUP:=autoreconf
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/bbf.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=4eff4ace6eb798c499a89252ffee1cda5aef135f
PKG_SOURCE_VERSION:=be6a8fc69fc257f6e3bbd8864b7b1d25b8e77190
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip

View File

@@ -0,0 +1,14 @@
if (PACKAGE_map-plugin)
menu "Configurations"
config MULTIAP_DYNAMIC_CNTLR_SYNC_CONFIG
bool "Sync configuration between dynamic controllers in the network"
default n
config MULTIAP_FUZZ_1905_CMDUS
bool "Include support to fuzz 1905 CMDUs for testing purpose"
default n
endmenu
endif

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ieee1905
PKG_VERSION:=4.6.10
PKG_VERSION:=4.6.16
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=67412a55087a932a2127a062faf9183d2848b940
PKG_SOURCE_VERSION:=be0d54ed751ef697e0cd5cf1393dc6932672d8ef
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/ieee1905.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
@@ -57,6 +57,10 @@ $(call Package/ieee1905/Default,$(1))
+libjson-c +libblobmsg-json +ieee1905 +libieee1905
endef
define Package/map-plugin/config
source "$(SOURCE)/Config.map-plugin.in"
endef
define Package/ieee1905/description
This package provides IEEE Std 1905.1 stack.
endef
@@ -74,6 +78,11 @@ ifeq ($(CONFIG_IEEE1905_PLATFORM_HAS_WIFI),y)
TARGET_CFLAGS += -DHAS_WIFI
endif
ifeq ($(CONFIG_MULTIAP_DYNAMIC_CNTLR_SYNC_CONFIG),y)
TARGET_CFLAGS += -DDYNAMIC_CNTLR_SYNC_CONFIG
endif
MAKE_PATH:=src

10
map-agent/Config.in Normal file
View File

@@ -0,0 +1,10 @@
if (PACKAGE_map-agent)
menu "Configurations"
config AGENT_SYNC_DYNAMIC_CNTLR_CONFIG
bool "Support Dynamic Controller configuration sync"
default y if MULTIAP_DYNAMIC_CNTLR_SYNC_CONFIG
endmenu
endif

View File

@@ -5,9 +5,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=map-agent
PKG_VERSION:=7.1.4
PKG_VERSION:=7.1.7
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=f6b35c7c909618e6407449062e56ed6ddc4f9e02
PKG_SOURCE_VERSION:=25d9004691ef667ceddc6c5cae8b98f858ef78d9
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_LICENSE:=PROPRIETARY IOPSYS
@@ -50,7 +50,7 @@ define Package/dynbhd/description
endef
define Package/map-agent/config
#source "$(SOURCE)/Config.in"
source "$(SOURCE)/Config.in"
endef
TARGET_CFLAGS += \
@@ -58,6 +58,10 @@ TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include/libnl3 \
-D_GNU_SOURCE
ifeq ($(CONFIG_AGENT_SYNC_DYNAMIC_CNTLR_CONFIG),y)
TARGET_CFLAGS += -DAGENT_SYNC_DYNAMIC_CNTLR_CONFIG
endif
MAKE_PATH:=src
define Package/map-agent/install

View File

@@ -64,21 +64,26 @@ EOF
iface=$1 # real iface
vid=$2 # Vlan ID
bridge=$3 # bridge iface should be connected
vlan_dev=$4
old_bridge="$(_get_bridge $iface)" # bridge iface is connected to
vlan_dev=${iface}_vlan${vid} # name of vlan device to create
# remove interface from bridge if it is in one
[ -n "$old_bridge" ] && brctl delif $old_bridge $iface &> /dev/null
# create vlan device
ip link show $vlan_dev &> /dev/null && vlanctl --if-delete $vlan_dev &> /dev/null
# (re)create vlan device
ip link show $vlan_dev && vlanctl --if-delete $vlan_dev
vlanctl --mcast --if-create-name $iface $vlan_dev --if $iface --set-if-mode-rg
vlanctl --if $iface --tx --tags 0 --default-miss-drop
vlanctl --if $iface --tx --tags 1 --default-miss-drop
vlanctl --if $iface --tx --tags 2 --default-miss-drop
vlanctl --if $iface --rx --tags 0 --default-miss-drop
vlanctl --if $iface --rx --tags 1 --default-miss-drop
vlanctl --if $iface --rx --tags 2 --default-miss-drop
# bring the vlan device up and add back to bridge if it was in one
brctl addif $bridge $vlan_dev &> /dev/null
ip link set $vlan_dev up
echo $vlan_dev
}
ts_create_fh() {
@@ -94,59 +99,32 @@ EOF
}
# create vlan device
set_wireless_bridge $iface $bridge
vlan_dev=$(_create_vlan_dev $iface $vid $bridge)
#set_wireless_bridge $iface $bridge
vlan_dev=${iface}_vlan${vid}
ip link set $vlan_dev down
_create_vlan_dev $iface $vid $bridge $vlan_dev
# add rules
# Note: removing these for now since these packets are read directly from the iface anyway
# vlanctl --if $iface --rx --tags 0 --filter-ethertype 0x888e --set-rxif $vlan_dev --rule-append # incoming EAPOL
# vlanctl --if $iface --rx --tags 0 --filter-ethertype 0x886c --set-rxif $vlan_dev --rule-append # incoming brcm
# EAPOL frames
vlanctl --if $iface --rx --tags 0 --filter-ethertype 34958 --set-rxif $vlan_dev --rule-append
vlanctl --if $iface --rx --tags 1 --filter-ethertype 34958 --pop-tag --set-rxif $vlan_dev --rule-append
vlanctl --if $iface --tx --tags 0 --filter-txif $vlan_dev --filter-ethertype 34958 --rule-append
# 8021q vlan id TAG/UNTAG
vlanctl --if $iface --rx --tags 0 --set-rxif $vlan_dev --push-tag --set-vid $vid 0 --rule-append
vlanctl --if $iface --tx --tags 1 --filter-txif $vlan_dev --filter-vid $vid 0 --pop-tag --dscp2pbits 0 --rule-append
ip link set $iface up
ip link set $vlan_dev up
}
# Note: Currently not used (will be needed for Profile 1)
ts_create_bh() {
iface=$1 # bh iface
vid=$2 # primary vid
profile=$3 # agent profile (1 or 2)
[ -n "$iface" ] && [ -n "$vid" ] && [ -n "$profile" ] || {
cat <<EOF
Adding BH device requires IFACE, VID and PROFILE (1 or 2).
EOF
exit 1
}
# create vlan device
vlan_dev=$(_create_vlan_dev $iface $vid)
# add rules
case "$profile" in
1 | profile_1 | profile1 | Profile_1 | Profile1)
vlanctl --if $iface --rx --tags 0 --set-rxif $vlan_dev --push-tag --set-vid $vid 0 --rule-append
vlanctl --if $iface --tx --tags 1 --filter-txif $vlan_dev --pop-tag --rule-append
;;
2 | profile_2 | profile2 | Profile_2 | Profile2)
vlanctl --if $iface --rx --tags 1 --set-rxif $vlan_dev --rule-append
vlanctl --if $iface --tx --tags 1 --filter-txif $vlan_dev --rule-append # note: already default
vlanctl --if $iface --tx --tags 0 --filter-ethertype 0x893a --filter-txif $vlan_dev --push-tag --set-vid $vid 0 --rule-append # note: outgoing IEEE1905.1
vlanctl --if $iface --tx --tags 0 --filter-ethertype 0x888e --filter-txif $vlan_dev --push-tag --set-vid $vid 0 --rule-append # note: outgoing EAPOL
;;
*)
ts_delete $iface
ts_usage
exit 1
;;
esac
set_wireless_bridge $iface $bridge
}
ts_create_bh_drv() {
iface=$1 # bh iface
vid=$2 # primary vid
profile=$3 # agent profile (1 or 2)
bridge=$4 # bridge interface should be connected to
[ -n "$iface" ] && [ -n "$vid" ] && [ -n "$profile" ] || {
@@ -156,7 +134,7 @@ EOF
exit 1
}
[ -n "$bridge" ] && set_wireless_bridge $iface $bridge
#[ -n "$bridge" ] && set_wireless_bridge $iface $bridge
old_vid=$(wl -i $1 map_8021q_settings)
old_vid=${old_vid##* }
@@ -171,28 +149,29 @@ EOF
wl -i $iface up &> /dev/null
}
ts_create_eth() {
iface=$1 # Multi-AP Logical Ethernet Interface
vid=$2 # primary vid
pbits=$3 # default pbits to apply
vlan_bridge=$4 # name of ts subsystem bridge
lan_bridge=$5 # name of node local bridge
ts_create_lei() {
vid=$1 # primary vid
pbits=$2 # default pbits to apply
vlan_bridge=$3 # name of ts subsystem bridge
lan_bridge=$4 # name of node local bridge
[ -n "$iface" ] && [ -n "$vid" ] && [ -n "$pbits" ] && [ -n "$vlan_bridge" ] && [ -n "$lan_bridge" ] || {
[ -n "$vid" ] && [ -n "$pbits" ] && [ -n "$vlan_bridge" ] && [ -n "$lan_bridge" ] || {
cat <<EOF
Adding ETH device requires IFACE, VID, PBITS and name of vlan and lan bridges.
EOF
exit 1
}
ip link set lei down
ip link set lei_map down
ip link show lei &> /dev/null || {
ip link add link lei name lei_lan type vlan id 1 2>/dev/null
}
old_bridge="$(_get_bridge lei_lan)"
[ -n "$old_bridge" ] && brctl delif $old_bridge lei_lan &> /dev/null
old_vid=$(ip -d link show lei_lan | sed -n 's/vlan.*id \([0-9][0-9]*\) .*/\1/p')
ip link show lei_lan || ip link del lei_lan
ip link add link lei name lei_lan type vlan id ${vid}
[ "$old_vid" != "$vid" ] && {
ip link del lei_lan
ip link add link lei name lei_lan type vlan id ${vid}
}
brctl addif ${lan_bridge} lei_lan &>/dev/null
brctl addif ${vlan_bridge} lei_map &>/dev/null
@@ -202,6 +181,57 @@ EOF
ip link set lei_lan up
}
_create_eth() {
iface=$1 # Multi-AP Logical Ethernet Interface
vid=$2 # primary vid
bridge=$3 # name of ts subsystem bridge
pbits=0
[ -n "$iface" ] && [ -n "$vid" ] && [ -n "$bridge" ] || {
cat <<EOF
Adding ETH device requires IFACE, VID, PBITS and name of vlan and lan bridges.
EOF
exit 1
}
dbg create $@
ip link set $iface down
vlan_dev=${iface}_vlan${vid}
ip link set $vlan_dev down
_create_vlan_dev $iface $vid $bridge $vlan_dev
vlanctl --if $iface --rx --tags 0 --set-rxif $vlan_dev --push-tag --set-vid $vid 0 --set-pbits $pbits 0 --rule-append
vlanctl --if $iface --tx --tags 1 --filter-vid $vid 0 --filter-txif $vlan_dev --pop-tag --rule-append
[ $# -le 3 ] && exit 0
shift 3
while [ -n "$1" ] ; do
vid=$1
vlanctl --if $iface --rx --tags 1 --filter-vid $vid 0 --set-rxif $vlan_dev --rule-append
vlanctl --if $iface --tx --tags 1 --filter-vid $vid 0 --filter-txif $vlan_dev --rule-append
shift
done
ip link set $iface up
ip link set $vlan_dev up
}
ts_create_eths() {
pvid=$1 # primary vid
bridge=$2 # name of ts subsystem bridge
shift 2
# TODO use ieee1905 bridge
for iface in $(uci get network.br_lan.ports) ; do
[ "$iface" = "lei_lan" ] && continue
_create_eth $iface $pvid $bridge $@
ubus call ieee1905 del_interface "{\"ifname\":\"$iface\"}"
done
}
ts_create_dhcp() {
local diff=""
@@ -349,9 +379,9 @@ EOF
case "$type" in
fh) ts_create_fh $@;;
# bh) ts_create_bh $@;;
bh) ts_create_bh_drv $@;;
eth) ts_create_eth $@;;
bh) ts_create_bh $@;;
lei) ts_create_lei $@;;
eths) ts_create_eths $@;;
dhcp) ts_create_dhcp $@;;
--help|help) ts_usage;;
*) ts_usage; exit 1;;

10
map-controller/Config.in Normal file
View File

@@ -0,0 +1,10 @@
if (PACKAGE_map-controller)
menu "Configurations"
config CONTROLLER_SYNC_DYNAMIC_CNTLR_CONFIG
bool "Support Dynamic Controller configuration sync"
default y if MULTIAP_DYNAMIC_CNTLR_SYNC_CONFIG
endmenu
endif

View File

@@ -5,9 +5,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=map-controller
PKG_VERSION:=6.0.3
PKG_VERSION:=6.0.4
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=132bc92f12dcc3c6584307c80eef012fc1f26c28
PKG_SOURCE_VERSION:=005f085252640decd55c83bfbd9da6fa32071593
PKG_LICENSE:=PROPRIETARY IOPSYS
PKG_LICENSE_FILES:=LICENSE
@@ -34,7 +34,7 @@ define Package/map-controller/description
endef
define Package/map-controller/config
#source "$(SOURCE)/Config.in"
source "$(SOURCE)/Config.in"
endef
TARGET_CFLAGS += \
@@ -44,6 +44,10 @@ TARGET_CFLAGS += \
MAKE_PATH:=src
ifeq ($(CONFIG_CONTROLLER_SYNC_DYNAMIC_CNTLR_CONFIG),y)
TARGET_CFLAGS += -DCONTROLLER_SYNC_DYNAMIC_CNTLR_CONFIG
endif
define Package/map-controller/install
$(INSTALL_DIR) $(1)/etc
$(CP) ./files/* $(1)/

View File

@@ -28,6 +28,11 @@ boot() {
start
}
service_running() {
setup_qos
start
}
service_triggers() {
procd_add_reload_trigger qos
}