mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-15 03:51:51 +00:00
commit
e00236fb31
4 changed files with 11 additions and 9 deletions
|
@ -11,7 +11,7 @@
|
||||||
function device_notvirtual(dev)
|
function device_notvirtual(dev)
|
||||||
for _, iface in ipairs(net:get_networks()) do
|
for _, iface in ipairs(net:get_networks()) do
|
||||||
local ifacen = iface:name()
|
local ifacen = iface:name()
|
||||||
local ifacename = uci:get("network",ifacen,"ifname")
|
local ifacename = uci:get("network",ifacen,"device")
|
||||||
local ifacetype = uci:get("network",ifacen,"type") or ""
|
local ifacetype = uci:get("network",ifacen,"type") or ""
|
||||||
local ifaceproto = uci:get("network",ifacen,"proto") or ""
|
local ifaceproto = uci:get("network",ifacen,"proto") or ""
|
||||||
--if ifacename == dev and (ifacetype == "macvlan" or ifacetype == "bridge" or ifaceproto == "6in4") then
|
--if ifacename == dev and (ifacetype == "macvlan" or ifacetype == "bridge" or ifaceproto == "6in4") then
|
||||||
|
|
|
@ -39,7 +39,7 @@ omr_intf_set() {
|
||||||
uci -q set network.$1.modalias="$(cat /sys/class/net/${ifname}/device/uevent | grep MODALIAS | cut -d '=' -f2 | tr -d '\n')-$mac"
|
uci -q set network.$1.modalias="$(cat /sys/class/net/${ifname}/device/uevent | grep MODALIAS | cut -d '=' -f2 | tr -d '\n')-$mac"
|
||||||
uci -q set network.$1.product="$(cat /sys/class/net/${ifname}/device/uevent | grep PRODUCT | cut -d '=' -f2 | tr -d '\n')"
|
uci -q set network.$1.product="$(cat /sys/class/net/${ifname}/device/uevent | grep PRODUCT | cut -d '=' -f2 | tr -d '\n')"
|
||||||
elif [ -n "$devicepath" ] && ([ "$(echo ${devicepath} | grep virtual)" != "" ] || [ "$(echo ${devicepath} | grep virtual)" = "" ] && [ "$(cat /sys/class/net/${ifname}/device/uevent | grep PRODUCT)" = "" ] || [ "$(cat /sys/class/net/${ifname}/device/uevent | grep PCI_SLOT_NAME)" != "" ] || [ "$(cat /sys/class/net/${ifname}tmp/device/uevent)" != "" ]); then
|
elif [ -n "$devicepath" ] && ([ "$(echo ${devicepath} | grep virtual)" != "" ] || [ "$(echo ${devicepath} | grep virtual)" = "" ] && [ "$(cat /sys/class/net/${ifname}/device/uevent | grep PRODUCT)" = "" ] || [ "$(cat /sys/class/net/${ifname}/device/uevent | grep PCI_SLOT_NAME)" != "" ] || [ "$(cat /sys/class/net/${ifname}tmp/device/uevent)" != "" ]); then
|
||||||
uci -q delete network.$1.device
|
#uci -q delete network.$1.device
|
||||||
uci -q delete network.$1.modalias
|
uci -q delete network.$1.modalias
|
||||||
uci -q delete network.$1.product
|
uci -q delete network.$1.product
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -13,6 +13,7 @@ _save_macaddr() {
|
||||||
local _macaddr
|
local _macaddr
|
||||||
uci -q get "network.$1_dev.ifname" >/dev/null && {
|
uci -q get "network.$1_dev.ifname" >/dev/null && {
|
||||||
_ifname=$(uci -q get "network.$1.ifname")
|
_ifname=$(uci -q get "network.$1.ifname")
|
||||||
|
[ -z "$_ifname" ] && _ifname=$(uci -q get "network.$1.device")
|
||||||
if [ -n "$(uci -q get network.$1.macaddr)" ] && [ "$(uci -q get network.$1.macaddr)" != "$(uci -q get network.$1_dev.macaddr)" ]; then
|
if [ -n "$(uci -q get network.$1.macaddr)" ] && [ "$(uci -q get network.$1.macaddr)" != "$(uci -q get network.$1_dev.macaddr)" ]; then
|
||||||
uci -q set network.$1_dev.macaddr="$(uci -q get network.$1.macaddr)"
|
uci -q set network.$1_dev.macaddr="$(uci -q get network.$1.macaddr)"
|
||||||
else
|
else
|
||||||
|
@ -25,6 +26,7 @@ _save_macaddr() {
|
||||||
}
|
}
|
||||||
[ -z "$(uci -q get network.$1.macaddr)" ] && {
|
[ -z "$(uci -q get network.$1.macaddr)" ] && {
|
||||||
_ifname=$(uci -q get "network.$1.ifname")
|
_ifname=$(uci -q get "network.$1.ifname")
|
||||||
|
[ -z "$_ifname" ] && _ifname=$(uci -q get "network.$1.device")
|
||||||
[ -n "$_ifname" ] && [ -z "$(echo $_ifname | grep '\.')" ] && {
|
[ -n "$_ifname" ] && [ -z "$(echo $_ifname | grep '\.')" ] && {
|
||||||
_macaddr=$(ip link show dev $_ifname 2>/dev/null | grep link | awk '{print $2}')
|
_macaddr=$(ip link show dev $_ifname 2>/dev/null | grep link | awk '{print $2}')
|
||||||
[ -n "$_macaddr" ] && {
|
[ -n "$_macaddr" ] && {
|
||||||
|
@ -42,8 +44,6 @@ _delete_device() {
|
||||||
uci -q batch <<-EOF
|
uci -q batch <<-EOF
|
||||||
delete network.$1
|
delete network.$1
|
||||||
commit network
|
commit network
|
||||||
delete macvlan.$1
|
|
||||||
commit macvlan
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
@ -67,7 +67,7 @@ _setup_interface() {
|
||||||
[ -z "$(uci -q get network.$1.masterintf)" ] && uci -q set network.$1.masterintf=$(uci -q get network.$1_dev.ifname)
|
[ -z "$(uci -q get network.$1.masterintf)" ] && uci -q set network.$1.masterintf=$(uci -q get network.$1_dev.ifname)
|
||||||
[ -n "$(uci -q get network.$1.masterintf)" ] && uci -q set network.$1_dev.ifname=$(uci -q get network.$1.masterintf)
|
[ -n "$(uci -q get network.$1.masterintf)" ] && uci -q set network.$1_dev.ifname=$(uci -q get network.$1.masterintf)
|
||||||
[ -n "$(uci -q get network.$1.macaddr)" ] && uci -q set network.$1_dev.macaddr=$(uci -q get network.$1.macaddr)
|
[ -n "$(uci -q get network.$1.macaddr)" ] && uci -q set network.$1_dev.macaddr=$(uci -q get network.$1.macaddr)
|
||||||
uci set network.$1.ifname=$1
|
uci set network.$1.device=$1
|
||||||
uci -q commit network
|
uci -q commit network
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
@ -75,9 +75,11 @@ _setup_interface() {
|
||||||
uci -q batch <<-EOF
|
uci -q batch <<-EOF
|
||||||
set network.$1_dev=device
|
set network.$1_dev=device
|
||||||
set network.$1_dev.name=$1
|
set network.$1_dev.name=$1
|
||||||
set network.$1_dev.type=macvlan
|
set network.$1_dev.type='macvlan'
|
||||||
set network.$1_dev.ifname=$_ifname
|
set network.$1_dev.ifname=$_ifname
|
||||||
set network.$1.ifname=$1
|
set network.$1_dev.mode='private'
|
||||||
|
set network.$1_dev.multicast=0
|
||||||
|
set network.$1.device=$1
|
||||||
set network.$1.masterintf=$_ifname
|
set network.$1.masterintf=$_ifname
|
||||||
set network.$1.type=macvlan
|
set network.$1.type=macvlan
|
||||||
set network.$1.defaultroute=0
|
set network.$1.defaultroute=0
|
||||||
|
@ -86,7 +88,7 @@ _setup_interface() {
|
||||||
|
|
||||||
#_macaddr=$(uci -q get "network.$1.macaddr")
|
#_macaddr=$(uci -q get "network.$1.macaddr")
|
||||||
#_setup_macaddr "$1" "${_macaddr:-auto$(date +%s)}"
|
#_setup_macaddr "$1" "${_macaddr:-auto$(date +%s)}"
|
||||||
_setup_macaddr "$1" "auto$(date +%s)"
|
_setup_macaddr "$1" "$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')"
|
||||||
uci -q set network.$1_dev.mtu=$(uci -q get network.$1.mtu)
|
uci -q set network.$1_dev.mtu=$(uci -q get network.$1.mtu)
|
||||||
uci -q commit network
|
uci -q commit network
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ _setup_macvlan() {
|
||||||
set network.$1.masterintf=$_ifname
|
set network.$1.masterintf=$_ifname
|
||||||
EOF
|
EOF
|
||||||
_macaddr=$(uci -q get "network.$1.macaddr")
|
_macaddr=$(uci -q get "network.$1.macaddr")
|
||||||
_setup_macaddr "$1_dev" "${_macaddr:-auto$(date +%s)}"
|
_setup_macaddr "$1_dev" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}"
|
||||||
}
|
}
|
||||||
|
|
||||||
#_setup_macvlan_update() {
|
#_setup_macvlan_update() {
|
||||||
|
|
Loading…
Reference in a new issue