mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-15 03:51:51 +00:00
commit
122823cf98
12 changed files with 112 additions and 128 deletions
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
|
@ -9,7 +9,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
OMR_TARGET: [bpi-r1, bpi-r2, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800]
|
OMR_TARGET: [bpi-r1, bpi-r2, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800]
|
||||||
OMR_KERNEL: [5.4, 5.14]
|
OMR_KERNEL: [5.4, 5.15]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
#
|
|
||||||
# Copyright (C) 2018 Chion Tang <tech@chionlab.moe>
|
|
||||||
#
|
|
||||||
# This is free software, licensed under the GNU General Public License v2.
|
|
||||||
# See /LICENSE for more information.
|
|
||||||
#
|
|
||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
|
||||||
include $(INCLUDE_DIR)/kernel.mk
|
|
||||||
|
|
||||||
PKG_NAME:=fullconenat
|
|
||||||
PKG_RELEASE:=1
|
|
||||||
|
|
||||||
PKG_SOURCE_DATE:=2019-10-21
|
|
||||||
PKG_SOURCE_PROTO:=git
|
|
||||||
PKG_SOURCE_URL:=https://github.com/Chion82/netfilter-full-cone-nat.git
|
|
||||||
PKG_SOURCE_VERSION:=0cf3b48fd7d2fa81d0297d1fff12bbd0580fc435
|
|
||||||
|
|
||||||
PKG_LICENSE:=GPL-2.0
|
|
||||||
PKG_LICENSE_FILES:=LICENSE
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
|
||||||
|
|
||||||
define Package/iptables-mod-fullconenat
|
|
||||||
SUBMENU:=Firewall
|
|
||||||
SECTION:=net
|
|
||||||
CATEGORY:=Network
|
|
||||||
TITLE:=FULLCONENAT iptables extension
|
|
||||||
DEPENDS:=+iptables +kmod-ipt-fullconenat
|
|
||||||
MAINTAINER:=Chion Tang <tech@chionlab.moe>
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/iptables-mod-fullconenat/install
|
|
||||||
$(INSTALL_DIR) $(1)/usr/lib/iptables
|
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/libipt_FULLCONENAT.so $(1)/usr/lib/iptables
|
|
||||||
endef
|
|
||||||
|
|
||||||
define KernelPackage/ipt-fullconenat
|
|
||||||
SUBMENU:=Netfilter Extensions
|
|
||||||
TITLE:=FULLCONENAT netfilter module
|
|
||||||
DEPENDS:=+kmod-nf-ipt +kmod-nf-nat
|
|
||||||
MAINTAINER:=Chion Tang <tech@chionlab.moe>
|
|
||||||
KCONFIG:=CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CONNTRACK_CHAIN_EVENTS=y
|
|
||||||
FILES:=$(PKG_BUILD_DIR)/xt_FULLCONENAT.ko
|
|
||||||
endef
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/kernel-defaults.mk
|
|
||||||
|
|
||||||
define Build/Prepare
|
|
||||||
$(call Build/Prepare/Default)
|
|
||||||
$(CP) ./files/Makefile $(PKG_BUILD_DIR)/
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Build/Compile
|
|
||||||
+$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
|
|
||||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
|
||||||
ARCH="$(LINUX_KARCH)" \
|
|
||||||
M="$(PKG_BUILD_DIR)" \
|
|
||||||
EXTRA_CFLAGS="$(BUILDFLAGS)" \
|
|
||||||
modules
|
|
||||||
$(call Build/Compile/Default)
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(eval $(call BuildPackage,iptables-mod-fullconenat))
|
|
||||||
$(eval $(call KernelPackage,ipt-fullconenat))
|
|
|
@ -1,27 +0,0 @@
|
||||||
## Netfilter and iptables extension for [FULLCONENAT](https://github.com/Chion82/netfilter-full-cone-nat) target ported to OpenWrt.
|
|
||||||
|
|
||||||
Compile
|
|
||||||
---
|
|
||||||
```
|
|
||||||
# cd to OpenWrt source path
|
|
||||||
# Clone this repo
|
|
||||||
git clone -b master --single-branch https://github.com/LGA1150/openwrt-fullconenat package/fullconenat
|
|
||||||
# Select Network -> Firewall -> iptables-mod-fullconenat
|
|
||||||
make menuconfig
|
|
||||||
# Compile
|
|
||||||
make V=s
|
|
||||||
```
|
|
||||||
|
|
||||||
Usage
|
|
||||||
---
|
|
||||||
You can apply [this patch](https://github.com/LGA1150/fullconenat-fw3-patch) to OpenWrt's Firewall3 (Recommended).
|
|
||||||
|
|
||||||
Or manually add the following rules to `/etc/firewall.user`
|
|
||||||
```
|
|
||||||
iptables -t nat -A zone_wan_prerouting -j FULLCONENAT
|
|
||||||
iptables -t nat -A zone_wan_postrouting -j FULLCONENAT
|
|
||||||
```
|
|
||||||
|
|
||||||
Workaround for conflicting with module `nf_conntrack_netlink`
|
|
||||||
---
|
|
||||||
This module uses conntrack events to register a callback function. In the same netns, only one callback method can be registered, that causes conflicts with `nf_conntrack_netlink`, which also uses conntrack events. Qualcomm Shortcut FE has introduced a patch to allow multiple callbacks to be registered. To apply, put [this patch](https://github.com/coolsnowwolf/lede/blob/master/target/linux/generic/hack-4.14/952-net-conntrack-events-support-multiple-registrant.patch) into `target/linux/generic/hack-4.14`.
|
|
|
@ -1,7 +0,0 @@
|
||||||
libipt_FULLCONENAT.so: libipt_FULLCONENAT.o
|
|
||||||
$(CC) -shared -lxtables -o $@ $^;
|
|
||||||
libipt_FULLCONENAT.o: libipt_FULLCONENAT.c
|
|
||||||
$(CC) ${CFLAGS} -fPIC -D_INIT=$*_init -c -o $@ $<;
|
|
||||||
|
|
||||||
obj-m += xt_FULLCONENAT.o
|
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
diff --git a/xt_FULLCONENAT.c b/xt_FULLCONENAT.c
|
|
||||||
index 9e52eba..8658c5f 100644
|
|
||||||
--- a/xt_FULLCONENAT.c
|
|
||||||
+++ b/xt_FULLCONENAT.c
|
|
||||||
@@ -702,9 +702,11 @@ static struct xt_target tg_reg[] __read_mostly = {
|
|
||||||
|
|
||||||
static int __init fullconenat_tg_init(void)
|
|
||||||
{
|
|
||||||
+ printk(KERN_INFO "xt_FULLCONENAT: RFC3489 Full Cone NAT module\n"
|
|
||||||
+ "xt_FULLCONENAT: Copyright (C) 2018 Chion Tang <tech@chionlab.moe>\n");
|
|
||||||
wq = create_singlethread_workqueue("xt_FULLCONENAT");
|
|
||||||
if (wq == NULL) {
|
|
||||||
- printk("xt_FULLCONENAT: warning: failed to create workqueue\n");
|
|
||||||
+ printk(KERN_WARNING "xt_FULLCONENAT: warning: failed to create workqueue\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
return xt_register_targets(tg_reg, ARRAY_SIZE(tg_reg));
|
|
|
@ -201,7 +201,7 @@ function wizard_add()
|
||||||
ucic:set("sqm","wan" .. i,"script","simple.qos")
|
ucic:set("sqm","wan" .. i,"script","simple.qos")
|
||||||
ucic:set("sqm","wan" .. i,"qdisc_advanced","0")
|
ucic:set("sqm","wan" .. i,"qdisc_advanced","0")
|
||||||
ucic:set("sqm","wan" .. i,"linklayer","none")
|
ucic:set("sqm","wan" .. i,"linklayer","none")
|
||||||
ucic:set("sqm","wan" .. i,"enabled","0")
|
ucic:set("sqm","wan" .. i,"enabled","1")
|
||||||
ucic:set("sqm","wan" .. i,"debug_logging","0")
|
ucic:set("sqm","wan" .. i,"debug_logging","0")
|
||||||
ucic:set("sqm","wan" .. i,"verbosity","5")
|
ucic:set("sqm","wan" .. i,"verbosity","5")
|
||||||
ucic:set("sqm","wan" .. i,"download","0")
|
ucic:set("sqm","wan" .. i,"download","0")
|
||||||
|
|
|
@ -213,6 +213,7 @@ interface_multipath_settings() {
|
||||||
[ -n "$netmask" ] && [ "$(echo $netmask | grep '/')" != "" ] && netmask=""
|
[ -n "$netmask" ] && [ "$(echo $netmask | grep '/')" != "" ] && netmask=""
|
||||||
[ -z "$netmask" ] && netmask=$(ip -4 addr show dev $iface | grep peer | awk '{print $4}' | cut -d/ -f2 | tr -d "\n")
|
[ -z "$netmask" ] && netmask=$(ip -4 addr show dev $iface | grep peer | awk '{print $4}' | cut -d/ -f2 | tr -d "\n")
|
||||||
[ -z "$netmask" ] && netmask=$(ip -4 addr show dev $iface | grep inet | awk '{print $2}' | cut -d/ -f2 | tr -d "\n")
|
[ -z "$netmask" ] && netmask=$(ip -4 addr show dev $iface | grep inet | awk '{print $2}' | cut -d/ -f2 | tr -d "\n")
|
||||||
|
[ -n "$ipaddr" ] && ipaddr=$(echo $ipaddr | cut -d/ -f1 | tr -d "\n")
|
||||||
[ -n "$ipaddr" ] && [ -n "$netmask" ] && netmask=`ipcalc.sh $ipaddr $netmask | sed -n '/PREFIX=/{;s/.*=//;s/ .*//;p;}'`
|
[ -n "$ipaddr" ] && [ -n "$netmask" ] && netmask=`ipcalc.sh $ipaddr $netmask | sed -n '/PREFIX=/{;s/.*=//;s/ .*//;p;}'`
|
||||||
[ -n "$ipaddr" ] && [ -n "$netmask" ] && network=`ipcalc.sh $ipaddr $netmask | sed -n '/NETWORK=/{;s/.*=//;s/ .*//;p;}'`
|
[ -n "$ipaddr" ] && [ -n "$netmask" ] && network=`ipcalc.sh $ipaddr $netmask | sed -n '/NETWORK=/{;s/.*=//;s/ .*//;p;}'`
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -597,7 +597,7 @@ del_server_route() {
|
||||||
remove_route() {
|
remove_route() {
|
||||||
local serverip="$1"
|
local serverip="$1"
|
||||||
[ -n "$serverip" ] && serverip="$(resolveip -4 -t 5 $serverip | head -n 1 | tr -d '\n')"
|
[ -n "$serverip" ] && serverip="$(resolveip -4 -t 5 $serverip | head -n 1 | tr -d '\n')"
|
||||||
[ -n "$serverip" ] && _log "Delete default route via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE"
|
[ -n "$serverip" ] && _log "Delete default route to $serverip via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE"
|
||||||
local metric
|
local metric
|
||||||
metric=$(uci -q get network.$OMR_TRACKER_INTERFACE.metric)
|
metric=$(uci -q get network.$OMR_TRACKER_INTERFACE.metric)
|
||||||
[ -n "$metric" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$serverip" ] && [ -n "$(ip route show $serverip dev $OMR_TRACKER_DEVICE metric $metric)" ] && ip route del $serverip dev $OMR_TRACKER_DEVICE metric $metric >/dev/null 2>&1
|
[ -n "$metric" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$serverip" ] && [ -n "$(ip route show $serverip dev $OMR_TRACKER_DEVICE metric $metric)" ] && ip route del $serverip dev $OMR_TRACKER_DEVICE metric $metric >/dev/null 2>&1
|
||||||
|
@ -617,11 +617,11 @@ del_server_route6() {
|
||||||
remove_route() {
|
remove_route() {
|
||||||
local serverip="$1"
|
local serverip="$1"
|
||||||
[ -n "$serverip" ] && serverip="$(resolveip -6 -t 5 $serverip | head -n 1 | tr -d '\n')"
|
[ -n "$serverip" ] && serverip="$(resolveip -6 -t 5 $serverip | head -n 1 | tr -d '\n')"
|
||||||
[ -n "$serverip" ] && _log "Delete default route via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE"
|
[ -n "$serverip" ] && _log "Delete default route to $serverip via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE"
|
||||||
local metric
|
local metric
|
||||||
metric=$(uci -q get network.$OMR_TRACKER_INTERFACE.metric)
|
metric=$(uci -q get network.$OMR_TRACKER_INTERFACE.metric)
|
||||||
[ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$metric" ] && [ -n "$(ip -6 route show $serverip dev $OMR_TRACKER_DEVICE metric $metric)" ] && ip -6 route del $serverip dev $OMR_TRACKER_DEVICE metric $metric >/dev/null 2>&1
|
[ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$metric" ] && [ -n "$serverip"] && [ -n "$(ip -6 route show $serverip dev $OMR_TRACKER_DEVICE metric $metric)" ] && ip -6 route del $serverip dev $OMR_TRACKER_DEVICE metric $metric >/dev/null 2>&1
|
||||||
[ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$metric" ] && [ -n "$(ip -6 route show $serverip dev $OMR_TRACKER_DEVICE)" ] && ip -6 route del $serverip dev $OMR_TRACKER_DEVICE >/dev/null 2>&1
|
[ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$metric" ] && [ -n "$serverip" ] && [ -n "$(ip -6 route show $serverip dev $OMR_TRACKER_DEVICE)" ] && ip -6 route del $serverip dev $OMR_TRACKER_DEVICE >/dev/null 2>&1
|
||||||
}
|
}
|
||||||
config_list_foreach $server ip remove_route
|
config_list_foreach $server ip remove_route
|
||||||
if [ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
|
if [ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
|
||||||
|
@ -836,11 +836,13 @@ if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "om
|
||||||
fi
|
fi
|
||||||
if ([ "$default_gw" != "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]) && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ]; then
|
if ([ "$default_gw" != "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]) && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ]; then
|
||||||
_log "Tunnel up : Replace default route by $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE"
|
_log "Tunnel up : Replace default route by $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE"
|
||||||
|
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Current route: $(ip r)"
|
||||||
ip route replace default scope global nexthop via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE 2>&1 >/dev/null
|
ip route replace default scope global nexthop via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE 2>&1 >/dev/null
|
||||||
if [ "$(pgrep openmptcprouter-vps)" = "" ]; then
|
if [ "$(pgrep openmptcprouter-vps)" = "" ]; then
|
||||||
/etc/init.d/openmptcprouter-vps restart >/dev/null 2>&1
|
/etc/init.d/openmptcprouter-vps restart >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
[ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && conntrack -D -p udp 2>&1 >/dev/null
|
[ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && conntrack -D -p udp 2>&1 >/dev/null
|
||||||
|
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "New route: $(ip r)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set VPN MTU
|
# Set VPN MTU
|
||||||
|
|
|
@ -10,7 +10,7 @@ if [ "$(uci -q get openmptcprouter.settings.version)" = "" ]; then
|
||||||
set sqm.wan1.script="simple.qos"
|
set sqm.wan1.script="simple.qos"
|
||||||
set sqm.wan1.qdisc_advanced='0'
|
set sqm.wan1.qdisc_advanced='0'
|
||||||
set sqm.wan1.linklayer='none'
|
set sqm.wan1.linklayer='none'
|
||||||
set sqm.wan1.enabled='0'
|
set sqm.wan1.enabled='1'
|
||||||
set sqm.wan1.interface="${wan1}"
|
set sqm.wan1.interface="${wan1}"
|
||||||
set sqm.wan1.download='0'
|
set sqm.wan1.download='0'
|
||||||
set sqm.wan1.upload='0'
|
set sqm.wan1.upload='0'
|
||||||
|
@ -23,7 +23,7 @@ if [ "$(uci -q get openmptcprouter.settings.version)" = "" ]; then
|
||||||
set sqm.wan2.script="simple.qos"
|
set sqm.wan2.script="simple.qos"
|
||||||
set sqm.wan2.qdisc_advanced='0'
|
set sqm.wan2.qdisc_advanced='0'
|
||||||
set sqm.wan2.linklayer='none'
|
set sqm.wan2.linklayer='none'
|
||||||
set sqm.wan2.enabled='0'
|
set sqm.wan2.enabled='1'
|
||||||
set sqm.wan2.interface="${wan2}"
|
set sqm.wan2.interface="${wan2}"
|
||||||
set sqm.wan2.download='0'
|
set sqm.wan2.download='0'
|
||||||
set sqm.wan2.upload='0'
|
set sqm.wan2.upload='0'
|
||||||
|
@ -41,7 +41,7 @@ if [ "$(uci -q get openmptcprouter.settings.version)" = "" ]; then
|
||||||
set sqm.wan3.script="simple.qos"
|
set sqm.wan3.script="simple.qos"
|
||||||
set sqm.wan3.qdisc_advanced='0'
|
set sqm.wan3.qdisc_advanced='0'
|
||||||
set sqm.wan3.linklayer='none'
|
set sqm.wan3.linklayer='none'
|
||||||
set sqm.wan3.enabled='0'
|
set sqm.wan3.enabled='1'
|
||||||
set sqm.wan3.interface="${wan3}"
|
set sqm.wan3.interface="${wan3}"
|
||||||
set sqm.wan3.download='0'
|
set sqm.wan3.download='0'
|
||||||
set sqm.wan3.upload='0'
|
set sqm.wan3.upload='0'
|
||||||
|
@ -60,7 +60,7 @@ if [ "$(uci -q get openmptcprouter.settings.version)" = "" ]; then
|
||||||
set sqm.wan4.script="simple.qos"
|
set sqm.wan4.script="simple.qos"
|
||||||
set sqm.wan4.qdisc_advanced='0'
|
set sqm.wan4.qdisc_advanced='0'
|
||||||
set sqm.wan4.linklayer='none'
|
set sqm.wan4.linklayer='none'
|
||||||
set sqm.wan4.enabled='0'
|
set sqm.wan4.enabled='1'
|
||||||
set sqm.wan4.interface="${wan4}"
|
set sqm.wan4.interface="${wan4}"
|
||||||
set sqm.wan4.download='0'
|
set sqm.wan4.download='0'
|
||||||
set sqm.wan4.upload='0'
|
set sqm.wan4.upload='0'
|
||||||
|
|
54
r8168/Makefile
Normal file
54
r8168/Makefile
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
#
|
||||||
|
# Download realtek r8168 linux driver from official site:
|
||||||
|
# [https://www.realtek.com/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software]
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
|
||||||
|
PKG_NAME:=r8168
|
||||||
|
PKG_VERSION:=8.049.02
|
||||||
|
PKG_RELEASE:=$(AUTORELEAE)
|
||||||
|
|
||||||
|
PKG_SOURCE_PROTO:=git
|
||||||
|
PKG_SOURCE_URL:=https://github.com/BROBIRD/openwrt-r8168.git
|
||||||
|
PKG_SOURCE_DATE:=2021-10-08
|
||||||
|
PKG_SOURCE_VERSION:=2b969c15afe403a685fc7ee069620782241e3ad6
|
||||||
|
PKG_MIRROR_HASH:=e4632c10d460f005eff76da8a183d7ff0c8819b0d099872589b7b06a9b8d9952
|
||||||
|
|
||||||
|
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||||
|
|
||||||
|
MAKE_PATH:=src
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define KernelPackage/r8168
|
||||||
|
TITLE:=Driver for Realtek r8168 chipsets
|
||||||
|
SUBMENU:=Network Devices
|
||||||
|
VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
|
||||||
|
FILES:= $(PKG_BUILD_DIR)/src/r8168.ko
|
||||||
|
AUTOLOAD:=$(call AutoProbe,r8168)
|
||||||
|
CONFLICTS:=kmod-r8169
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/r8168/description
|
||||||
|
This package contains a driver for Realtek r8168 chipsets.
|
||||||
|
endef
|
||||||
|
|
||||||
|
R8168_MAKEOPTS= -C $(PKG_BUILD_DIR)/src \
|
||||||
|
PATH="$(TARGET_PATH)" \
|
||||||
|
ARCH="$(LINUX_KARCH)" \
|
||||||
|
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||||
|
TARGET="$(HAL_TARGET)" \
|
||||||
|
TOOLPREFIX="$(KERNEL_CROSS)" \
|
||||||
|
TOOLPATH="$(KERNEL_CROSS)" \
|
||||||
|
KERNELPATH="$(LINUX_DIR)" \
|
||||||
|
KERNELDIR="$(LINUX_DIR)" \
|
||||||
|
LDOPTS=" " \
|
||||||
|
DOMULTI=1
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
$(MAKE) $(R8168_MAKEOPTS) modules
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,r8168))
|
42
r8168/patches/001-r8168-add-LED-configuration-from-OF.patch
Normal file
42
r8168/patches/001-r8168-add-LED-configuration-from-OF.patch
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
--- a/src/r8168_n.c
|
||||||
|
+++ b/src/r8168_n.c
|
||||||
|
@@ -47,6 +47,7 @@
|
||||||
|
#include <linux/etherdevice.h>
|
||||||
|
#include <linux/delay.h>
|
||||||
|
#include <linux/mii.h>
|
||||||
|
+#include <linux/of.h>
|
||||||
|
#include <linux/if_vlan.h>
|
||||||
|
#include <linux/crc32.h>
|
||||||
|
#include <linux/interrupt.h>
|
||||||
|
@@ -23482,6 +23483,22 @@ rtl8168_set_bios_setting(struct net_devi
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+static int rtl8168_led_configuration(struct rtl8168_private *tp)
|
||||||
|
+{
|
||||||
|
+ u32 led_data;
|
||||||
|
+ int ret;
|
||||||
|
+
|
||||||
|
+ ret = of_property_read_u32(tp->pci_dev->dev.of_node,
|
||||||
|
+ "realtek,led-data", &led_data);
|
||||||
|
+
|
||||||
|
+ if (ret)
|
||||||
|
+ return ret;
|
||||||
|
+
|
||||||
|
+ RTL_W16(tp, CustomLED, led_data);
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void
|
||||||
|
rtl8168_init_software_variable(struct net_device *dev)
|
||||||
|
{
|
||||||
|
@@ -24000,6 +24017,8 @@ rtl8168_init_software_variable(struct ne
|
||||||
|
tp->NotWrMcuPatchCode = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ rtl8168_led_configuration(tp);
|
||||||
|
+
|
||||||
|
tp->NicCustLedValue = RTL_R16(tp, CustomLED);
|
||||||
|
|
||||||
|
rtl8168_get_hw_wol(dev);
|
|
@ -12,8 +12,9 @@ PKG_NAME:=v2ray-core
|
||||||
PKG_VERSION:=4.43.0
|
PKG_VERSION:=4.43.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://github.com/v2fly/v2ray-core/archive/v$(PKG_VERSION)
|
PKG_SOURCE:=v$(PKG_VERSION).tar.gz
|
||||||
|
PKG_SOURCE_URL:=https://github.com/v2fly/v2ray-core/archive/refs/tags/
|
||||||
PKG_HASH:=f27b8fe8e1e102b0297339ee368c8b650fde0f949e0d90e1229ff6744f99ba0f
|
PKG_HASH:=f27b8fe8e1e102b0297339ee368c8b650fde0f949e0d90e1229ff6744f99ba0f
|
||||||
|
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
|
|
Loading…
Reference in a new issue