Loading common/linux_iphelper.sh +8 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,14 @@ unprepare_route_localnet() set_route_localnet 0 "$@" } get_uevent_devtype() { local DEVTYPE INTERFACE IFINDEX OF_NAME OF_FULLNAME OF_COMPATIBLE_N [ -f "/sys/class/net/$1/uevent" ] && { . "/sys/class/net/$1/uevent" echo -n $DEVTYPE } } resolve_lower_devices() { # $1 - bridge interface name Loading common/nft.sh +7 −4 Original line number Diff line number Diff line Loading @@ -320,7 +320,7 @@ nft_fill_ifsets() # $5 - space separated wan physical interface names (optional) # $6 - space separated wan6 physical interface names (optional) local script i j ALLDEVS devs local script i j ALLDEVS devs devtype b # if large sets exist nft works very ineffectively # looks like it analyzes the whole table blob to find required data pieces Loading Loading @@ -348,15 +348,18 @@ flush set inet $ZAPRET_NFT_TABLE lanif" nft_create_or_update_flowtable 'offload' 2>/dev/null # then add elements. some of them can cause error because unsupported for i in $ALLDEVS; do # first try to add interface itself nft_create_or_update_flowtable 'offload' $i 2>/dev/null # bridge members must be added instead of the bridge itself # some members may not support hw offload. example : lan1 lan2 lan3 support, wlan0 wlan1 - not b= devs=$(resolve_lower_devices $i) for j in $devs; do # do not display error if addition failed nft_create_or_update_flowtable 'offload' $j 2>/dev/null nft_create_or_update_flowtable 'offload' $j && b=1 2>/dev/null done [ -n "$b" ] || { # no lower devices added ? try to add interface itself nft_create_or_update_flowtable 'offload' $i 2>/dev/null } done ;; esac Loading Loading
common/linux_iphelper.sh +8 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,14 @@ unprepare_route_localnet() set_route_localnet 0 "$@" } get_uevent_devtype() { local DEVTYPE INTERFACE IFINDEX OF_NAME OF_FULLNAME OF_COMPATIBLE_N [ -f "/sys/class/net/$1/uevent" ] && { . "/sys/class/net/$1/uevent" echo -n $DEVTYPE } } resolve_lower_devices() { # $1 - bridge interface name Loading
common/nft.sh +7 −4 Original line number Diff line number Diff line Loading @@ -320,7 +320,7 @@ nft_fill_ifsets() # $5 - space separated wan physical interface names (optional) # $6 - space separated wan6 physical interface names (optional) local script i j ALLDEVS devs local script i j ALLDEVS devs devtype b # if large sets exist nft works very ineffectively # looks like it analyzes the whole table blob to find required data pieces Loading Loading @@ -348,15 +348,18 @@ flush set inet $ZAPRET_NFT_TABLE lanif" nft_create_or_update_flowtable 'offload' 2>/dev/null # then add elements. some of them can cause error because unsupported for i in $ALLDEVS; do # first try to add interface itself nft_create_or_update_flowtable 'offload' $i 2>/dev/null # bridge members must be added instead of the bridge itself # some members may not support hw offload. example : lan1 lan2 lan3 support, wlan0 wlan1 - not b= devs=$(resolve_lower_devices $i) for j in $devs; do # do not display error if addition failed nft_create_or_update_flowtable 'offload' $j 2>/dev/null nft_create_or_update_flowtable 'offload' $j && b=1 2>/dev/null done [ -n "$b" ] || { # no lower devices added ? try to add interface itself nft_create_or_update_flowtable 'offload' $i 2>/dev/null } done ;; esac Loading