瀏覽代碼

qosify: add support for configuring overhead

Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau 3 年之前
父節點
當前提交
e9610794fd
共有 2 個文件被更改,包括 41 次插入1 次删除
  1. 1 0
      package/network/config/qosify/files/qosify.conf
  2. 40 1
      package/network/config/qosify/files/qosify.init

+ 1 - 0
package/network/config/qosify/files/qosify.conf

@@ -28,6 +28,7 @@ config interface wan
 	option disabled 1
 	option bandwidth_up 100mbit
 	option bandwidth_down 100mbit
+	option overhead_type none
 	# defaults:
 	option ingress 1
 	option egress 1

+ 40 - 1
package/network/config/qosify/files/qosify.init

@@ -72,7 +72,46 @@ add_interface() {
 	add_option boolean autorate_ingress
 	add_option string ingress_options
 	add_option string egress_options
-	add_option string options
+
+	config_get user_options "$cfg" options
+
+	config_get otype "$cfg" overhead_type
+	options=
+	case "$otype" in
+		none);;
+		manual)
+			config_get overhead "$cfg" overhead
+			[ -n "$overhead" ] && append options "overhead $overhead"
+
+			config_get encap "$cfg" overhead_encap
+			[ -n "$encap" ] && append options "$encap"
+		;;
+		conservative|\
+		pppoa-vcmux|\
+		pppoa-llc|\
+		pppoe-vcmux|\
+		pppoe-llcsnap|\
+		bridged-vcmux|\
+		bridged-llcsnap|\
+		ipoa-vcmux|\
+		ipoa-llcsnap|\
+		pppoe-ptm|\
+		bridged-ptm|\
+		docsis|\
+		ethernet)
+			append options "$otype"
+		;;
+	esac
+
+	config_get mpu "$cfg" overhead_mpu
+	[ -n "$mpu" ] && append options "mpu $mpu"
+
+	config_get ovlan "$cfg" overhead_vlan
+	[ "${ovlan:-0}" -ge 2 ] && append options "ether-vlan"
+	[ "${ovlan:-0}" -ge 1 ] && append options "ether-vlan"
+
+	[ -n "$user_options" ] && append options "$user_options"
+	[ -n "$options" ] && json_add_string options "$options"
 
 	json_close_object
 }