qosmngr: resolve vlan qos issues

In 5.04, broadcom seems to have removed the support for skbvlan extension
from the kernel, although its presence still in the userspace application
is confusing, ideally, it should be removed from the userspace application
as well. Instead of skbvlan, the vlan extension is used for configuring the
vlan qos.

Hence, the qosmngr is updated to use vlan extension instead of skbvlan.
This commit is contained in:
Rahul 2021-07-15 12:05:56 +05:30
parent b84033c641
commit f709852ae3
2 changed files with 23 additions and 3 deletions

View file

@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=qosmngr
PKG_VERSION:=1.0.0
PKG_VERSION:=1.0.1
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)

View file

@ -299,7 +299,20 @@ broute_filter_on_dst_mac() {
}
broute_filter_on_pcp() {
BR_RULE="$BR_RULE --skbvlan-prio $1"
# 5.04 onwards the vlan extension in ebtables is used for classification
# on the basis of vlan params which needs proto to be defined as 802_1Q in
# order to add a rule, now, proto can also be defined by specifying proto uci
# option as well as the rule may have a vlan id as well in which case the
# proto will already be present, hence, this check to not add --proto more
# than once
case "$BR_RULE" in
*proto*)
BR_RULE="$BR_RULE --vlan-prio $1"
;;
*)
BR_RULE="$BR_RULE --proto 802_1Q --vlan-prio $1"
;;
esac
}
broute_filter_on_ether_type() {
@ -307,7 +320,14 @@ broute_filter_on_ether_type() {
}
broute_filter_on_vid() {
BR_RULE="$BR_RULE --skbvlan-id $1"
case "$BR_RULE" in
*proto*)
BR_RULE="$BR_RULE --vlan-id $1"
;;
*)
BR_RULE="$BR_RULE --proto 802_1Q --vlan-id $1"
;;
esac
}
broute_rule_set_traffic_class() {