1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00
This commit is contained in:
suyuan 2023-11-05 20:06:00 +08:00
parent a4958be1af
commit 76d4d39977
7 changed files with 55 additions and 8 deletions

8
netifd/Makefile Executable file → Normal file
View file

@ -1,13 +1,13 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=netifd PKG_NAME:=netifd
PKG_RELEASE:=2 PKG_RELEASE:=3
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git
PKG_SOURCE_DATE:=2023-10-20 PKG_SOURCE_DATE:=2023-08-31
PKG_SOURCE_VERSION:=5590a80e2566d378be955f61c287a63fb3bdf329 PKG_SOURCE_VERSION:=1a07f1dff32b3af49e39533e33e8964b59535662
PKG_MIRROR_HASH:=eef792b4e9fa7a5227cf8c2ec4ed5e6558dd04c119cd9f97561923821fd1aa92 PKG_MIRROR_HASH:=dc621dd04c3c9631002f929cf10a4620f57af8b0baf614c590bda17957fa6201
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name> PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_LICENSE:=GPL-2.0 PKG_LICENSE:=GPL-2.0

0
netifd/files/etc/hotplug.d/iface/00-netstate Executable file → Normal file
View file

0
netifd/files/etc/uci-defaults/14_migrate-dhcp-release Executable file → Normal file
View file

0
netifd/files/etc/udhcpc.user Executable file → Normal file
View file

View file

@ -13,20 +13,21 @@ set_classless_routes() {
done done
} }
setup_interface () { setup_interface() {
proto_init_update "*" 1 proto_init_update "*" 1
proto_add_ipv4_address "$ip" "${subnet:-255.255.255.0}" proto_add_ipv4_address "$ip" "${subnet:-255.255.255.0}"
# TODO: apply $broadcast # TODO: apply $broadcast
local ip_net IP PREFIX NETWORK NETMASK BROADCAST local ip_net
ipcalc "$ip/$mask" && ip_net="$NETWORK" eval "$(ipcalc.sh "$ip/$mask")";ip_net="$NETWORK"
local i local i
for i in $router; do for i in $router; do
local gw_net local gw_net
ipcalc "$i/$mask" && gw_net="$NETWORK" eval "$(ipcalc.sh "$i/$mask")";gw_net="$NETWORK"
[ "$ip_net" != "$gw_net" ] && proto_add_ipv4_route "$i" 32 "" "$ip" [ "$ip_net" != "$gw_net" ] && proto_add_ipv4_route "$i" 32 "" "$ip"
#[ "$DEFAULTROUTE" = 0 ] || proto_add_ipv4_route 0.0.0.0 0 "$i" "$ip"
proto_add_ipv4_route 0.0.0.0 0 "$i" "$ip" proto_add_ipv4_route 0.0.0.0 0 "$i" "$ip"
local r local r

View file

@ -1,6 +1,7 @@
#!/bin/sh #!/bin/sh
ifup_all= ifup_all=
setup_wifi=
if_call() { if_call() {
local interface="$1" local interface="$1"
@ -13,6 +14,7 @@ case "$0" in
*ifdown) modes=down;; *ifdown) modes=down;;
*ifup) *ifup)
modes="down up" modes="down up"
setup_wifi=1
;; ;;
*) echo "Invalid command: $0";; *) echo "Invalid command: $0";;
esac esac
@ -23,6 +25,10 @@ while :; do
ifup_all=1 ifup_all=1
shift shift
;; ;;
-w)
setup_wifi=
shift
;;
*) *)
break break
;; ;;
@ -34,6 +40,7 @@ if [ -n "$ifup_all" ]; then
for interface in $(ubus -S list 'network.interface.*'); do for interface in $(ubus -S list 'network.interface.*'); do
if_call "${interface##network.interface.}" if_call "${interface##network.interface.}"
done done
[ -n "$setup_wifi" ] && /sbin/wifi up
exit exit
else else
ubus -S list "network.interface.$1" > /dev/null || { ubus -S list "network.interface.$1" > /dev/null || {
@ -42,3 +49,29 @@ else
} }
if_call "$1" if_call "$1"
fi fi
if [ -n "$setup_wifi" ] && grep -sq config /etc/config/wireless; then
. /lib/functions.sh
find_related_radios() {
local wdev wnet
config_get wdev "$1" device
config_get wnet "$1" network
if [ -n "$wdev" ]; then
for wnet in $wnet; do
if [ "$wnet" = "$network" ]; then
append radio_devs "$wdev" "$N"
fi
done
fi
}
network="$1"
config_load wireless
config_foreach find_related_radios wifi-iface
for dev in $(echo "$radio_devs" | sort -u); do
/sbin/wifi up "$dev"
done
fi

View file

@ -0,0 +1,13 @@
--- a/system-linux.c 2023-09-13 10:44:22.163111635 +0200
+++ b/system-linux.c 2023-09-13 10:44:47.562696256 +0200
@@ -2720,7 +2720,9 @@
system_if_dump_info(struct device *dev, struct blob_buf *b)
{
__u32 *supported, *advertising, *lp_advertising;
- bool rx_pause, tx_pause, pause_autoneg;
+ bool rx_pause = false;
+ bool tx_pause = false;
+ bool pause_autoneg = false;
struct {
struct ethtool_link_settings req;
__u32 link_mode_data[3 * 127];