mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 14:23:38 +00:00
Merge branch 'master' of https://github.com/coolsnowwolf/lede
This commit is contained in:
commit
a653cfbdda
19
README.md
19
README.md
@ -1,6 +1,6 @@
|
||||
# 欢迎来到 Lean 的 LEDE 源码仓库
|
||||
|
||||
如何编译自己需要的 LEDE 固件 [How to build your LEDE firmware](./README_EN.md)
|
||||
I18N: [English](README_EN.md) | [简体中文](README.md)
|
||||
|
||||
## 官方讨论群
|
||||
如有技术问题需要讨论或者交流,欢迎加入以下群:
|
||||
@ -90,6 +90,23 @@ make V=s -j$(nproc)
|
||||
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||
```
|
||||
|
||||
由于默认情况下,装载到 WSL 发行版的 NTFS 格式的驱动器将不区分大小写,因此大概率在 WSL/WSL2 的编译检查中会返回以下错误:
|
||||
|
||||
```txt
|
||||
Build dependency: OpenWrt can only be built on a case-sensitive filesystem
|
||||
```
|
||||
|
||||
一个比较简洁的解决方法是,在 `git clone` 前先创建 Repository 目录,并为其启用大小写敏感:
|
||||
|
||||
```powershell
|
||||
# 以管理员身份打开终端
|
||||
PS > fsutil.exe file setCaseSensitiveInfo <your_local_lede_path> enable
|
||||
# 将本项目 git clone 到开启了大小写敏感的目录 <your_local_lede_path> 中
|
||||
PS > git clone git@github.com:coolsnowwolf/lede.git <your_local_lede_path>
|
||||
```
|
||||
|
||||
> 对已经 `git clone` 完成的项目目录执行 `fsutil.exe` 命令无法生效,大小写敏感只对新增的文件变更有效。
|
||||
|
||||
### macOS 原生系统进行编译
|
||||
|
||||
1. 在 AppStore 中安装 Xcode
|
||||
|
326
README_EN.md
326
README_EN.md
@ -1,88 +1,312 @@
|
||||
Welcome to Lean's git source of OpenWrt and packages
|
||||
=
|
||||
# Welcome to Lean's git source of OpenWrt and packages
|
||||
|
||||
How to build your Openwrt firmware.
|
||||
-
|
||||
Note:
|
||||
--
|
||||
1. DO **NOT** USE **root** USER FOR COMPILING!!!
|
||||
I18N: [English](README_EN.md) | [简体中文](README.md)
|
||||
|
||||
2. Users within China should prepare proxy before building.
|
||||
## Official Channels
|
||||
<!--
|
||||
如有技术问题需要讨论或者交流,欢迎加入以下群:
|
||||
1. QQ 讨论群: Op固件技术研究群 ,号码 891659613 ,加群链接:[点击加入](https://jq.qq.com/?_wv=1027&k=XL8SK5aC "Op固件技术研究群")
|
||||
2. TG 讨论群: OP 编译官方大群 ,加群链接:[点击加入](https://t.me/JhKgAA6Hx1 "OP 编译官方大群")
|
||||
3. Rockchip RK3568 预编译固件发布 Release 下载更新地址 (包括 H68K ):<https://github.com/coolsnowwolf/lede/releases/tag/20220716>
|
||||
-->
|
||||
|
||||
3. Web admin panel default IP is 192.168.1.1 and default password is "password".
|
||||
If you have technical questions for discussion or sharing, feel free to join the following channels:
|
||||
1. QQ Group: *OpenWRT Firmware Technical Research Group*, Group Number is `891659613`. Join the group: [Link](https://jq.qq.com/?_wv=1027&k=XL8SK5aC "Op固件技术研究群").
|
||||
- [Click to download QQ client](https://im.qq.com/pcqq).
|
||||
2. Telegram Group: *OpenWRT Firmware Technical Research Group*. Join the group: [Link](https://t.me/JhKgAA6Hx1 "OP 编译官方大群").
|
||||
3. Rockchip **RK3568** precompiled firmware release (including H68K): [Click to download](https://github.com/coolsnowwolf/lede/releases/tag/20220716).
|
||||
|
||||
Let's start!
|
||||
---
|
||||
1. First, install Ubuntu 64bit (Ubuntu 20.04 LTS x86 is recommended).
|
||||
<div align="left">
|
||||
<a href="https://item.taobao.com/item.htm?spm=a230r.1.14.11.4bb55247rdHEAP&id=702787603594&ns=1&abbucket=17#detail
|
||||
">
|
||||
<img style="margin: 0px 0px 0px 40px;" src="https://github.com/coolsnowwolf/lede/blob/master/doc/h68k.jpg?raw=true" width=600 />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
2. Run `sudo apt-get update` in the terminal, and then run
|
||||
`
|
||||
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync
|
||||
`
|
||||
4. Rockchip **RK3588** precompiled firmware release (including H68K): [Click to download](https://github.com/coolsnowwolf/lede/releases/tag/20230609).
|
||||
|
||||
3. Run `git clone https://github.com/coolsnowwolf/lede` to clone the source code, and then `cd lede` to enter the directory
|
||||
|
||||
4. ```bash
|
||||
## Notice
|
||||
<!--
|
||||
1. **不要用 root 用户进行编译**
|
||||
2. 国内用户编译前最好准备好梯子
|
||||
3. 默认登陆IP 192.168.1.1 密码 password
|
||||
-->
|
||||
1. **Never compile OpenWRT as `root`**
|
||||
2. If you are living in mainland China, please make sure you could visit the **REAL** Internet.
|
||||
3. Default login IP is `192.168.1.1`, password is `password`.
|
||||
|
||||
## How to Compile
|
||||
<!--
|
||||
1. 首先装好 Linux 系统,推荐 Debian 11 或 Ubuntu LTS
|
||||
2. 安装编译依赖
|
||||
|
||||
```bash
|
||||
sudo apt update -y
|
||||
sudo apt full-upgrade -y
|
||||
sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
|
||||
bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \
|
||||
git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev \
|
||||
libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \
|
||||
mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pyelftools \
|
||||
libpython3-dev qemu-utils rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip \
|
||||
vim wget xmlto xxd zlib1g-dev python3-setuptools
|
||||
```
|
||||
-->
|
||||
|
||||
1. Install a Linux distribution, Debian 11 or Ubuntu LTS is recommended.
|
||||
2. Install dependencies:
|
||||
|
||||
```bash
|
||||
sudo apt update -y
|
||||
sudo apt full-upgrade -y
|
||||
sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
|
||||
bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \
|
||||
git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev \
|
||||
libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \
|
||||
mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pyelftools \
|
||||
libpython3-dev qemu-utils rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip \
|
||||
vim wget xmlto xxd zlib1g-dev python3-setuptools
|
||||
```
|
||||
|
||||
<!--
|
||||
3. 下载源代码,更新 feeds 并选择配置
|
||||
|
||||
```bash
|
||||
git clone https://github.com/coolsnowwolf/lede
|
||||
cd lede
|
||||
./scripts/feeds update -a
|
||||
./scripts/feeds install -a
|
||||
make menuconfig
|
||||
```
|
||||
|
||||
5. Run `make -j8 download V=s` to download libraries and dependencies (user in China should use global proxy when possible)
|
||||
4. 下载 dl 库,编译固件
|
||||
(-j 后面是线程数,第一次编译推荐用单线程)
|
||||
|
||||
6. Run `make -j1 V=s` (integer following -j is the thread count, single-thread is recommended for the first build) to start building your firmware.
|
||||
```bash
|
||||
make download -j8
|
||||
make V=s -j1
|
||||
```
|
||||
-->
|
||||
|
||||
This source code is promised to be compiled successfully.
|
||||
3. Clone the source code, update `feeds` and configure:
|
||||
|
||||
You can use this source code freely, but please link this GitHub repository when redistributing. Thank you for your cooperation!
|
||||
=
|
||||
```bash
|
||||
git clone https://github.com/coolsnowwolf/lede
|
||||
cd lede
|
||||
./scripts/feeds update -a
|
||||
./scripts/feeds install -a
|
||||
make menuconfig
|
||||
```
|
||||
|
||||
4. Download libraries and compile firmware
|
||||
> (`-j` is the thread count, single-thread is recommended for the first build):
|
||||
|
||||
```bash
|
||||
make -j8 download V=s
|
||||
make -j1 V=s
|
||||
```
|
||||
|
||||
<!--
|
||||
本套代码保证肯定可以编译成功。里面包括了 R23 所有源代码,包括 IPK 的。
|
||||
|
||||
你可以自由使用,但源码编译二次发布请注明我的 GitHub 仓库链接。谢谢合作!
|
||||
-->
|
||||
|
||||
These commands are supposed to compile the source code successfully.
|
||||
All source code of R23 is included, including IPK.
|
||||
|
||||
You can use this source code freely, but please link this GitHub repository when redistributing.
|
||||
Thank you for your cooperation!
|
||||
|
||||
<!--
|
||||
二次编译:
|
||||
|
||||
Rebuild:
|
||||
```bash
|
||||
cd lede
|
||||
git pull
|
||||
./scripts/feeds update -a && ./scripts/feeds install -a
|
||||
./scripts/feeds update -a
|
||||
./scripts/feeds install -a
|
||||
make defconfig
|
||||
make -j8 download
|
||||
make -j$(($(nproc) + 1)) V=s
|
||||
make download -j8
|
||||
make V=s -j$(nproc)
|
||||
```
|
||||
|
||||
If reconfiguration is need:
|
||||
如果需要重新配置:
|
||||
|
||||
```bash
|
||||
rm -rf ./tmp && rm -rf .config
|
||||
make menuconfig
|
||||
make -j$(($(nproc) + 1)) V=s
|
||||
make V=s -j$(nproc)
|
||||
```
|
||||
|
||||
Build result will be produced to `bin/targets` directory.
|
||||
编译完成后输出路径:bin/targets
|
||||
-->
|
||||
|
||||
Special tips:
|
||||
------
|
||||
1. This source code doesn't contain any backdoors or close source applications that can monitor/capture your HTTPS traffic, SSL is the final castle of cyber security. Safety is what a firmware should achieve.
|
||||
Rebuild:
|
||||
|
||||
2. If you have any technical problem, you may join the QQ discussion group: 297253733, link: click [here](https://jq.qq.com/?_wv=1027&k=5yCRuXL)
|
||||
```bash
|
||||
cd lede
|
||||
git pull
|
||||
./scripts/feeds update -a
|
||||
./scripts/feeds install -a
|
||||
make defconfig
|
||||
make download -j8
|
||||
make V=s -j$(nproc)
|
||||
```
|
||||
|
||||
3. Want to learn OpenWrt development but don't know how? Can't motivate yourself for self-learning? Not enough fundamental knowledge? Learn OpenWrt development with Mr. Zuo through his Beginner OpenWrt Training Course. Click [here](http://forgotfun.org/2018/04/openwrt-training-2018.html) to register.
|
||||
If reconfiguration is need:
|
||||
|
||||
## Router Recommendation
|
||||
Not Sponsored: If you are finding a low power consumption, small and performance promising x86/x64 router, I personally recommend the
|
||||
EZPROv1 Alumium Edition (N3710 4000M): [Details](https://item.taobao.com/item.htm?spm=a230r.1.14.20.144c763fRkK0VZ&id=561126544764)
|
||||
```bash
|
||||
rm -rf ./tmp && rm -rf .config
|
||||
make menuconfig
|
||||
make V=s -j$(nproc)
|
||||
```
|
||||
|
||||

|
||||

|
||||
Build artifacts will be outputted to `bin/targets` directory.
|
||||
|
||||
### If you are using WSL/WSL2 as your build environment
|
||||
|
||||
<!--
|
||||
由于默认情况下,装载到 WSL 发行版的 NTFS 格式的驱动器将不区分大小写,因此大概率在 WSL/WSL2 的编译检查中会返回以下错误:
|
||||
|
||||
```txt
|
||||
Build dependency: OpenWrt can only be built on a case-sensitive filesystem
|
||||
```
|
||||
|
||||
一个比较简洁的解决方法是,在 `git clone` 前先创建 Repository 目录,并为其启用大小写敏感:
|
||||
|
||||
```powershell
|
||||
# 以管理员身份打开终端
|
||||
PS > fsutil.exe file setCaseSensitiveInfo <your_local_lede_path> enable
|
||||
# 将本项目 git clone 到开启了大小写敏感的目录 <your_local_lede_path> 中
|
||||
PS > git clone git@github.com:coolsnowwolf/lede.git <your_local_lede_path>
|
||||
```
|
||||
|
||||
> 对已经 `git clone` 完成的项目目录执行 `fsutil.exe` 命令无法生效,大小写敏感只对新增的文件变更有效。
|
||||
-->
|
||||
|
||||
NTFS-formatted drives mounted to a WSL distribution will be case-insensitive by default. This will cause the following error when compiling in WSL/WSL2:
|
||||
|
||||
```txt
|
||||
Build dependency: OpenWrt can only be built on a case-sensitive filesystem
|
||||
```
|
||||
|
||||
A simple solution is to create a case-sensitive directory for the repository before `git clone`:
|
||||
|
||||
```powershell
|
||||
# Open a terminal as administrator
|
||||
PS > fsutil.exe file setCaseSensitiveInfo <your_local_lede_path> enable
|
||||
# Clone this repository to the case-sensitive directory <your_local_lede_path>
|
||||
PS > git clone git@github.com:coolsnowwolf/lede.git <your_local_lede_path>
|
||||
```
|
||||
|
||||
> For directories that have already been `git clone`d, `fsutil.exe` will not take effect. Case sensitivity will only be enabled for new changes in the directory.
|
||||
|
||||
### macOS Compilation
|
||||
<!--
|
||||
1. 在 AppStore 中安装 Xcode
|
||||
|
||||
2. 安装 Homebrew:
|
||||
|
||||
```bash
|
||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
||||
```
|
||||
|
||||
3. 使用 Homebrew 安装工具链、依赖与基础软件包:
|
||||
|
||||
```bash
|
||||
brew unlink awk
|
||||
brew install coreutils diffutils findutils gawk gnu-getopt gnu-tar grep make ncurses pkg-config wget quilt xz
|
||||
brew install gcc@11
|
||||
```
|
||||
|
||||
4. 然后输入以下命令,添加到系统环境变量中:
|
||||
|
||||
```bash
|
||||
echo 'export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"' >> ~/.bashrc
|
||||
echo 'export PATH="/usr/local/opt/findutils/libexec/gnubin:$PATH"' >> ~/.bashrc
|
||||
echo 'export PATH="/usr/local/opt/gnu-getopt/bin:$PATH"' >> ~/.bashrc
|
||||
echo 'export PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH"' >> ~/.bashrc
|
||||
echo 'export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"' >> ~/.bashrc
|
||||
echo 'export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"' >> ~/.bashrc
|
||||
echo 'export PATH="/usr/local/opt/make/libexec/gnubin:$PATH"' >> ~/.bashrc
|
||||
```
|
||||
|
||||
5. 重新加载一下 shell 启动文件 `source ~/.bashrc`,然后输入 `bash` 进入 bash shell,就可以和 Linux 一样正常编译了
|
||||
-->
|
||||
|
||||
1. Install Xcode from AppStore
|
||||
2. Install Homebrew:
|
||||
```bash
|
||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
||||
```
|
||||
3. Install toolchain, dependencies and packages with Homebrew:
|
||||
```bash
|
||||
brew unlink awk
|
||||
brew install coreutils diffutils findutils gawk gnu-getopt gnu-tar grep make ncurses pkg-config wget quilt xz
|
||||
brew install gcc@11
|
||||
```
|
||||
4. Update your system environment:
|
||||
```bash
|
||||
echo 'export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"' >> ~/.bashrc
|
||||
echo 'export PATH="/usr/local/opt/findutils/libexec/gnubin:$PATH"' >> ~/.bashrc
|
||||
echo 'export PATH="/usr/local/opt/gnu-getopt/bin:$PATH"' >> ~/.bashrc
|
||||
echo 'export PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH"' >> ~/.bashrc
|
||||
echo 'export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"' >> ~/.bashrc
|
||||
echo 'export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"' >> ~/.bashrc
|
||||
echo 'export PATH="/usr/local/opt/make/libexec/gnubin:$PATH"' >> ~/.bashrc
|
||||
```
|
||||
5. Reload your shell profile `source ~/.bashrc && bash`, then you can compile normally like Linux.
|
||||
|
||||
## Declaration
|
||||
<!--
|
||||
1. 源代码中绝不含任何后门和可以监控或者劫持你的 HTTPS 的闭源软件, SSL 安全是互联网最后的壁垒。安全干净才是固件应该做到的;
|
||||
|
||||
2. 想学习 OpenWrt 开发,但是摸不着门道?自学没毅力?基础太差?怕太难学不会?跟着佐大学 OpenWrt 开发入门培训班助你能学有所成
|
||||
报名地址:[点击报名](http://forgotfun.org/2018/04/openwrt-training-2018.html "报名")
|
||||
|
||||
3. QCA IPQ60xx 开源仓库地址:<https://github.com/coolsnowwolf/openwrt-gl-ax1800>
|
||||
|
||||
4. 存档版本仓库地址:<https://github.com/coolsnowwolf/openwrt>
|
||||
-->
|
||||
1. This source code doesn't contain any backdoors or closed source applications that can monitor/capture your HTTPS traffic. SSL security is the final castle of cyber security. Safety is what a firmware should do.
|
||||
2. Want to learn OpenWRT development but don't know how to start? Can't motivate yourself for self-learning? Do not have enough fundamental knowledge? Learn OpenWRT development with Mr. Zuo through his Beginner OpenWRT Training Course. Click [here](http://forgotfun.org/2018/04/openwrt-training-2018.html) to register.
|
||||
3. QCA IPQ60xx open source repository: <https://github.com/coolsnowwolf/openwrt-gl-ax1800>
|
||||
4. OpenWRT Archive repository: <https://github.com/coolsnowwolf/openwrt>
|
||||
|
||||
## Introduction to Software Routers
|
||||
<!--
|
||||
硬酷R2 - N95/N300迷你四网HomeLab服务器
|
||||
|
||||
(商品介绍页面 - 硬酷科技(支持花呗)):
|
||||
|
||||
[预售链接](https://item.taobao.com/item.htm?ft=t&id=719159813003)
|
||||
|
||||
[](https://item.taobao.com/item.htm?ft=t&id=719159813003)
|
||||
-->
|
||||
Yingku R2 - N95/N300 Mini Four-Network HomeLab Server
|
||||
|
||||
(Introduction page - Yingku Technology (support AliPay Huabei)):
|
||||
|
||||
[Pre-sale link](https://item.taobao.com/item.htm?ft=t&id=719159813003)
|
||||
<div align="left">
|
||||
<a href="https://item.taobao.com/item.htm?ft=t&id=719159813003">
|
||||
<img src="doc/r1.jpg" width = "600" alt="" align=center />
|
||||
</a>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
## Donation
|
||||
|
||||
If this project does help you, please consider donating to support the development of this project.
|
||||
<!--
|
||||
如果你觉得此项目对你有帮助,可以捐助我们,以鼓励项目能持续发展,更加完善
|
||||
|
||||
### Alipay
|
||||

|
||||
-->
|
||||
If this project did helped you, please consider donating to support the development of this project.
|
||||
|
||||

|
||||
|
||||
### WeChat
|
||||
|
||||

|
||||
|
||||
## Note: Addition Lean's private package source code in `./package/lean` directory. Use it under GPL v3.
|
||||
|
||||
## GPLv3 is compatible with more licenses than GPLv2: it allows you to make combinations with code that has specific kinds of additional requirements that are not in GPLv3 itself. Section 7 has more information about this, including the list of additional requirements that are permitted.
|
||||
<div align="left">
|
||||
<img src="./doc/star.png" width = "400" alt="" align=center />
|
||||
</div>
|
||||
<br>
|
||||
|
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-5.4 = .253
|
||||
LINUX_KERNEL_HASH-5.4.253 = 1fb2ba5f09aa98fa2a5965372cac438564dcc5270e4abc526dfc19bea6ad26e7
|
||||
LINUX_VERSION-5.4 = .254
|
||||
LINUX_KERNEL_HASH-5.4.254 = 51608da961b5e34d6a9452a7b302699e109633f769a4253c74b1048abba8d9c7
|
||||
|
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.1 = .45
|
||||
LINUX_KERNEL_HASH-6.1.45 = bd2343396e7ddad8974f3689a5a067ec931f4ade793e72b1070a85cd19f1f192
|
||||
LINUX_VERSION-6.1 = .46
|
||||
LINUX_KERNEL_HASH-6.1.46 = f5f67bcfccd47f8d9db2d5ba24e33af7778f40a777577d1fba424f4a1712a296
|
||||
|
@ -8,14 +8,15 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=dropbear
|
||||
PKG_VERSION:=2022.82
|
||||
PKG_VERSION:=2022.83
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:= \
|
||||
https://matt.ucc.asn.au/dropbear/releases/ \
|
||||
https://dropbear.nl/mirror/releases/
|
||||
PKG_HASH:=3a038d2bbc02bf28bbdd20c012091f741a3ec5cbe460691811d714876aad75d1
|
||||
#PKG_HASH:=3a038d2bbc02bf28bbdd20c012091f741a3ec5cbe460691811d714876aad75d1
|
||||
PKG_HASH:=bc5a121ffbc94b5171ad5ebe01be42746d50aa797c9549a4639894a16749443b
|
||||
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE libtomcrypt/LICENSE libtommath/LICENSE
|
||||
|
@ -156,7 +156,7 @@ dropbear_instance()
|
||||
local pid_file="/var/run/${NAME}.${PIDCOUNT}.pid"
|
||||
|
||||
procd_open_instance
|
||||
procd_set_param command "$PROG" -F -P "$pid_file"
|
||||
procd_set_param command "$PROG" -F -P "$pid_file" -z
|
||||
[ "${PasswordAuth}" -eq 0 ] && procd_append_param command -s
|
||||
[ "${GatewayPorts}" -eq 1 ] && procd_append_param command -a
|
||||
[ "${RootPasswordAuth}" -eq 0 ] && procd_append_param command -g
|
||||
|
@ -43,7 +43,7 @@ produce a noisy warning.
|
||||
hcd->msi_enabled = 1;
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1902,6 +1902,7 @@ struct xhci_hcd {
|
||||
@@ -1904,6 +1904,7 @@ struct xhci_hcd {
|
||||
struct xhci_hub usb2_rhub;
|
||||
struct xhci_hub usb3_rhub;
|
||||
/* support xHCI 1.0 spec USB2 hardware LPM */
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -245,6 +245,8 @@ config ATH79
|
||||
@@ -246,6 +246,8 @@ config ATH79
|
||||
select SYS_SUPPORTS_BIG_ENDIAN
|
||||
select SYS_SUPPORTS_MIPS16
|
||||
select SYS_SUPPORTS_ZBOOT_UART_PROM
|
||||
|
@ -301,7 +301,7 @@ SVN-Revision: 35130
|
||||
case IPV6_2292HOPOPTS:
|
||||
--- a/net/ipv6/exthdrs.c
|
||||
+++ b/net/ipv6/exthdrs.c
|
||||
@@ -948,7 +948,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
|
||||
@@ -941,7 +941,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
|
||||
goto drop;
|
||||
}
|
||||
|
||||
@ -644,7 +644,7 @@ SVN-Revision: 35130
|
||||
return false;
|
||||
|
||||
return true;
|
||||
@@ -749,13 +753,13 @@ static inline void ipv6_addr_set_v4mappe
|
||||
@@ -745,13 +749,13 @@ static inline void ipv6_addr_set_v4mappe
|
||||
*/
|
||||
static inline int __ipv6_addr_diff32(const void *token1, const void *token2, int addrlen)
|
||||
{
|
||||
@ -660,7 +660,7 @@ SVN-Revision: 35130
|
||||
if (xb)
|
||||
return i * 32 + 31 - __fls(ntohl(xb));
|
||||
}
|
||||
@@ -941,17 +945,18 @@ static inline int ip6_multipath_hash_pol
|
||||
@@ -937,17 +941,18 @@ static inline int ip6_multipath_hash_pol
|
||||
static inline void ip6_flow_hdr(struct ipv6hdr *hdr, unsigned int tclass,
|
||||
__be32 flowlabel)
|
||||
{
|
||||
@ -727,7 +727,7 @@ SVN-Revision: 35130
|
||||
| TCPOLEN_TIMESTAMP))
|
||||
--- a/net/xfrm/xfrm_input.c
|
||||
+++ b/net/xfrm/xfrm_input.c
|
||||
@@ -165,8 +165,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
|
||||
@@ -166,8 +166,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
|
||||
if (!pskb_may_pull(skb, hlen))
|
||||
return -EINVAL;
|
||||
|
||||
@ -740,7 +740,7 @@ SVN-Revision: 35130
|
||||
EXPORT_SYMBOL(xfrm_parse_spi);
|
||||
--- a/net/ipv4/tcp_input.c
|
||||
+++ b/net/ipv4/tcp_input.c
|
||||
@@ -4128,14 +4128,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
@@ -4134,14 +4134,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
{
|
||||
const __be32 *ptr = (const __be32 *)(th + 1);
|
||||
|
||||
@ -788,7 +788,7 @@ SVN-Revision: 35130
|
||||
ptr = ip6hoff + sizeof(struct ipv6hdr);
|
||||
--- a/include/net/neighbour.h
|
||||
+++ b/include/net/neighbour.h
|
||||
@@ -275,8 +275,10 @@ static inline bool neigh_key_eq128(const
|
||||
@@ -270,8 +270,10 @@ static inline bool neigh_key_eq128(const
|
||||
const u32 *n32 = (const u32 *)n->primary_key;
|
||||
const u32 *p32 = pkey;
|
||||
|
||||
@ -833,7 +833,7 @@ SVN-Revision: 35130
|
||||
*sum = csum_fold(csum_partial(diff, sizeof(diff),
|
||||
--- a/include/linux/etherdevice.h
|
||||
+++ b/include/linux/etherdevice.h
|
||||
@@ -513,7 +513,7 @@ static inline bool is_etherdev_addr(cons
|
||||
@@ -525,7 +525,7 @@ static inline bool is_etherdev_addr(cons
|
||||
* @b: Pointer to Ethernet header
|
||||
*
|
||||
* Compare two Ethernet headers, returns 0 if equal.
|
||||
@ -842,7 +842,7 @@ SVN-Revision: 35130
|
||||
* aligned OR the platform can handle unaligned access. This is the
|
||||
* case for all packets coming into netif_receive_skb or similar
|
||||
* entry points.
|
||||
@@ -536,11 +536,12 @@ static inline unsigned long compare_ethe
|
||||
@@ -548,11 +548,12 @@ static inline unsigned long compare_ethe
|
||||
fold |= *(unsigned long *)(a + 6) ^ *(unsigned long *)(b + 6);
|
||||
return fold;
|
||||
#else
|
||||
|
@ -24,7 +24,7 @@ Signed-off-by: Johan Almbladh <johan.almbladh@anyfinetworks.com>
|
||||
L: bpf@vger.kernel.org
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -49,7 +49,6 @@ config MIPS
|
||||
@@ -50,7 +50,6 @@ config MIPS
|
||||
select HAVE_ARCH_TRACEHOOK
|
||||
select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES
|
||||
select HAVE_ASM_MODVERSIONS
|
||||
@ -32,7 +32,7 @@ Signed-off-by: Johan Almbladh <johan.almbladh@anyfinetworks.com>
|
||||
select HAVE_CONTEXT_TRACKING
|
||||
select HAVE_TIF_NOHZ
|
||||
select HAVE_C_RECORDMCOUNT
|
||||
@@ -57,7 +56,10 @@ config MIPS
|
||||
@@ -58,7 +57,10 @@ config MIPS
|
||||
select HAVE_DEBUG_STACKOVERFLOW
|
||||
select HAVE_DMA_CONTIGUOUS
|
||||
select HAVE_DYNAMIC_FTRACE
|
||||
|
@ -25,7 +25,7 @@ Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -2088,7 +2088,7 @@ config CPU_MIPS32
|
||||
@@ -2089,7 +2089,7 @@ config CPU_MIPS32
|
||||
config CPU_MIPS64
|
||||
bool
|
||||
default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R5 || \
|
||||
|
@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -6815,15 +6815,10 @@ void __netif_napi_del(struct napi_struct
|
||||
@@ -6817,15 +6817,10 @@ void __netif_napi_del(struct napi_struct
|
||||
}
|
||||
EXPORT_SYMBOL(__netif_napi_del);
|
||||
|
||||
@ -35,7 +35,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
weight = n->weight;
|
||||
|
||||
/* This NAPI_STATE_SCHED test is for avoiding a race
|
||||
@@ -6843,7 +6838,7 @@ static int napi_poll(struct napi_struct
|
||||
@@ -6845,7 +6840,7 @@ static int napi_poll(struct napi_struct
|
||||
n->poll, work, weight);
|
||||
|
||||
if (likely(work < weight))
|
||||
@ -44,7 +44,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
/* Drivers must not modify the NAPI state if they
|
||||
* consume the entire weight. In such cases this code
|
||||
@@ -6852,7 +6847,7 @@ static int napi_poll(struct napi_struct
|
||||
@@ -6854,7 +6849,7 @@ static int napi_poll(struct napi_struct
|
||||
*/
|
||||
if (unlikely(napi_disable_pending(n))) {
|
||||
napi_complete(n);
|
||||
@ -53,7 +53,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
|
||||
if (n->gro_bitmask) {
|
||||
@@ -6870,12 +6865,29 @@ static int napi_poll(struct napi_struct
|
||||
@@ -6872,12 +6867,29 @@ static int napi_poll(struct napi_struct
|
||||
if (unlikely(!list_empty(&n->poll_list))) {
|
||||
pr_warn_once("%s: Budget exhausted after napi rescheduled\n",
|
||||
n->dev ? n->dev->name : "backlog");
|
||||
|
@ -76,7 +76,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
/**
|
||||
* napi_synchronize - wait until NAPI is not running
|
||||
@@ -1865,6 +1855,8 @@ enum netdev_ml_priv_type {
|
||||
@@ -1867,6 +1857,8 @@ enum netdev_ml_priv_type {
|
||||
*
|
||||
* @wol_enabled: Wake-on-LAN is enabled
|
||||
*
|
||||
@ -85,7 +85,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
* @net_notifier_list: List of per-net netdev notifier block
|
||||
* that follow this device when it is moved
|
||||
* to another network namespace.
|
||||
@@ -2184,6 +2176,7 @@ struct net_device {
|
||||
@@ -2183,6 +2175,7 @@ struct net_device {
|
||||
struct lock_class_key *qdisc_running_key;
|
||||
bool proto_down;
|
||||
unsigned wol_enabled:1;
|
||||
@ -153,7 +153,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
list_add_tail(&napi->poll_list, &sd->poll_list);
|
||||
__raise_softirq_irqoff(NET_RX_SOFTIRQ);
|
||||
}
|
||||
@@ -6768,6 +6805,12 @@ void netif_napi_add(struct net_device *d
|
||||
@@ -6770,6 +6807,12 @@ void netif_napi_add(struct net_device *d
|
||||
set_bit(NAPI_STATE_NPSVC, &napi->state);
|
||||
list_add_rcu(&napi->dev_list, &dev->napi_list);
|
||||
napi_hash_add(napi);
|
||||
@ -166,7 +166,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
EXPORT_SYMBOL(netif_napi_add);
|
||||
|
||||
@@ -6784,9 +6827,28 @@ void napi_disable(struct napi_struct *n)
|
||||
@@ -6786,9 +6829,28 @@ void napi_disable(struct napi_struct *n)
|
||||
hrtimer_cancel(&n->timer);
|
||||
|
||||
clear_bit(NAPI_STATE_DISABLE, &n->state);
|
||||
@ -195,7 +195,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
static void flush_gro_hash(struct napi_struct *napi)
|
||||
{
|
||||
int i;
|
||||
@@ -6812,6 +6874,11 @@ void __netif_napi_del(struct napi_struct
|
||||
@@ -6814,6 +6876,11 @@ void __netif_napi_del(struct napi_struct
|
||||
|
||||
flush_gro_hash(napi);
|
||||
napi->gro_bitmask = 0;
|
||||
@ -207,7 +207,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
EXPORT_SYMBOL(__netif_napi_del);
|
||||
|
||||
@@ -6893,6 +6960,51 @@ static int napi_poll(struct napi_struct
|
||||
@@ -6895,6 +6962,51 @@ static int napi_poll(struct napi_struct
|
||||
return work;
|
||||
}
|
||||
|
||||
|
@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
* wake_up_process() when it's not NULL.
|
||||
*/
|
||||
thread = READ_ONCE(napi->thread);
|
||||
@@ -6778,6 +6779,49 @@ static void init_gro_hash(struct napi_st
|
||||
@@ -6780,6 +6781,49 @@ static void init_gro_hash(struct napi_st
|
||||
napi->gro_bitmask = 0;
|
||||
}
|
||||
|
||||
|
@ -54,7 +54,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
|
||||
wake_up_process(thread);
|
||||
return;
|
||||
}
|
||||
@@ -6570,7 +6572,8 @@ bool napi_complete_done(struct napi_stru
|
||||
@@ -6572,7 +6574,8 @@ bool napi_complete_done(struct napi_stru
|
||||
|
||||
WARN_ON_ONCE(!(val & NAPIF_STATE_SCHED));
|
||||
|
||||
@ -64,7 +64,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
|
||||
|
||||
/* If STATE_MISSED was set, leave STATE_SCHED set,
|
||||
* because we will call napi->poll() one more time.
|
||||
@@ -7006,16 +7009,25 @@ static int napi_poll(struct napi_struct
|
||||
@@ -7008,16 +7011,25 @@ static int napi_poll(struct napi_struct
|
||||
|
||||
static int napi_thread_wait(struct napi_struct *napi)
|
||||
{
|
||||
|
@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -7013,7 +7013,7 @@ static int napi_thread_wait(struct napi_
|
||||
@@ -7015,7 +7015,7 @@ static int napi_thread_wait(struct napi_
|
||||
|
||||
set_current_state(TASK_INTERRUPTIBLE);
|
||||
|
||||
@ -43,7 +43,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
/* Testing SCHED_THREADED bit here to make sure the current
|
||||
* kthread owns this napi and could poll on this napi.
|
||||
* Testing SCHED bit is not enough because SCHED bit might be
|
||||
@@ -7031,6 +7031,7 @@ static int napi_thread_wait(struct napi_
|
||||
@@ -7033,6 +7033,7 @@ static int napi_thread_wait(struct napi_
|
||||
set_current_state(TASK_INTERRUPTIBLE);
|
||||
}
|
||||
__set_current_state(TASK_RUNNING);
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -6824,6 +6824,7 @@ int dev_set_threaded(struct net_device *
|
||||
@@ -6826,6 +6826,7 @@ int dev_set_threaded(struct net_device *
|
||||
|
||||
return err;
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
|
||||
--- a/include/net/netfilter/nf_tables.h
|
||||
+++ b/include/net/netfilter/nf_tables.h
|
||||
@@ -1475,13 +1475,16 @@ struct nft_trans_chain {
|
||||
@@ -1500,13 +1500,16 @@ struct nft_trans_chain {
|
||||
|
||||
struct nft_trans_table {
|
||||
bool update;
|
||||
@ -34,7 +34,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
struct nft_set *set;
|
||||
--- a/net/netfilter/nf_tables_api.c
|
||||
+++ b/net/netfilter/nf_tables_api.c
|
||||
@@ -917,6 +917,12 @@ static void nf_tables_table_disable(stru
|
||||
@@ -1056,6 +1056,12 @@ static void nf_tables_table_disable(stru
|
||||
nft_table_disable(net, table, 0);
|
||||
}
|
||||
|
||||
@ -47,7 +47,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
static int nf_tables_updtable(struct nft_ctx *ctx)
|
||||
{
|
||||
struct nft_trans *trans;
|
||||
@@ -940,19 +946,17 @@ static int nf_tables_updtable(struct nft
|
||||
@@ -1079,19 +1085,17 @@ static int nf_tables_updtable(struct nft
|
||||
|
||||
if ((flags & NFT_TABLE_F_DORMANT) &&
|
||||
!(ctx->table->flags & NFT_TABLE_F_DORMANT)) {
|
||||
@ -68,9 +68,9 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
|
||||
+ nft_trans_table_flags(trans) = flags;
|
||||
nft_trans_table_update(trans) = true;
|
||||
list_add_tail(&trans->list, &ctx->net->nft.commit_list);
|
||||
nft_trans_commit_list_add_tail(ctx->net, trans);
|
||||
return 0;
|
||||
@@ -7932,11 +7936,10 @@ static int nf_tables_commit(struct net *
|
||||
@@ -8191,11 +8195,10 @@ static int nf_tables_commit(struct net *
|
||||
switch (trans->msg_type) {
|
||||
case NFT_MSG_NEWTABLE:
|
||||
if (nft_trans_table_update(trans)) {
|
||||
@ -86,7 +86,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
} else {
|
||||
nft_clear(net, trans->ctx.table);
|
||||
}
|
||||
@@ -8153,11 +8156,9 @@ static int __nf_tables_abort(struct net
|
||||
@@ -8414,11 +8417,9 @@ static int __nf_tables_abort(struct net
|
||||
switch (trans->msg_type) {
|
||||
case NFT_MSG_NEWTABLE:
|
||||
if (nft_trans_table_update(trans)) {
|
||||
|
@ -58,7 +58,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -850,6 +850,27 @@ typedef u16 (*select_queue_fallback_t)(s
|
||||
@@ -853,6 +853,27 @@ typedef u16 (*select_queue_fallback_t)(s
|
||||
struct sk_buff *skb,
|
||||
struct net_device *sb_dev);
|
||||
|
||||
@ -86,7 +86,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
enum tc_setup_type {
|
||||
TC_SETUP_QDISC_MQPRIO,
|
||||
TC_SETUP_CLSU32,
|
||||
@@ -1296,6 +1317,8 @@ struct netdev_net_notifier {
|
||||
@@ -1299,6 +1320,8 @@ struct netdev_net_notifier {
|
||||
* struct net_device *(*ndo_get_peer_dev)(struct net_device *dev);
|
||||
* If a device is paired with a peer device, return the peer instance.
|
||||
* The caller must be under RCU read context.
|
||||
@ -95,7 +95,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
*/
|
||||
struct net_device_ops {
|
||||
int (*ndo_init)(struct net_device *dev);
|
||||
@@ -1504,6 +1527,8 @@ struct net_device_ops {
|
||||
@@ -1507,6 +1530,8 @@ struct net_device_ops {
|
||||
int (*ndo_tunnel_ctl)(struct net_device *dev,
|
||||
struct ip_tunnel_parm *p, int cmd);
|
||||
struct net_device * (*ndo_get_peer_dev)(struct net_device *dev);
|
||||
@ -104,7 +104,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -2851,6 +2876,8 @@ void dev_remove_offload(struct packet_of
|
||||
@@ -2850,6 +2875,8 @@ void dev_remove_offload(struct packet_of
|
||||
|
||||
int dev_get_iflink(const struct net_device *dev);
|
||||
int dev_fill_metadata_dst(struct net_device *dev, struct sk_buff *skb);
|
||||
|
@ -28,7 +28,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -852,11 +852,18 @@ typedef u16 (*select_queue_fallback_t)(s
|
||||
@@ -855,11 +855,18 @@ typedef u16 (*select_queue_fallback_t)(s
|
||||
|
||||
enum net_device_path_type {
|
||||
DEV_PATH_ETHERNET = 0,
|
||||
|
@ -9,7 +9,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -853,6 +853,7 @@ typedef u16 (*select_queue_fallback_t)(s
|
||||
@@ -856,6 +856,7 @@ typedef u16 (*select_queue_fallback_t)(s
|
||||
enum net_device_path_type {
|
||||
DEV_PATH_ETHERNET = 0,
|
||||
DEV_PATH_VLAN,
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -864,10 +864,20 @@ struct net_device_path {
|
||||
@@ -867,10 +867,20 @@ struct net_device_path {
|
||||
u16 id;
|
||||
__be16 proto;
|
||||
} encap;
|
||||
@ -36,7 +36,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
|
||||
struct net_device_path_stack {
|
||||
int num_paths;
|
||||
@@ -877,6 +887,12 @@ struct net_device_path_stack {
|
||||
@@ -880,6 +890,12 @@ struct net_device_path_stack {
|
||||
struct net_device_path_ctx {
|
||||
const struct net_device *dev;
|
||||
const u8 *daddr;
|
||||
|
@ -83,7 +83,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
static int pppoe_recvmsg(struct socket *sock, struct msghdr *m,
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -854,6 +854,7 @@ enum net_device_path_type {
|
||||
@@ -857,6 +857,7 @@ enum net_device_path_type {
|
||||
DEV_PATH_ETHERNET = 0,
|
||||
DEV_PATH_VLAN,
|
||||
DEV_PATH_BRIDGE,
|
||||
@ -91,7 +91,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
};
|
||||
|
||||
struct net_device_path {
|
||||
@@ -863,6 +864,7 @@ struct net_device_path {
|
||||
@@ -866,6 +867,7 @@ struct net_device_path {
|
||||
struct {
|
||||
u16 id;
|
||||
__be16 proto;
|
||||
|
@ -10,7 +10,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -855,6 +855,7 @@ enum net_device_path_type {
|
||||
@@ -858,6 +858,7 @@ enum net_device_path_type {
|
||||
DEV_PATH_VLAN,
|
||||
DEV_PATH_BRIDGE,
|
||||
DEV_PATH_PPPOE,
|
||||
@ -18,7 +18,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
};
|
||||
|
||||
struct net_device_path {
|
||||
@@ -875,6 +876,10 @@ struct net_device_path {
|
||||
@@ -878,6 +879,10 @@ struct net_device_path {
|
||||
u16 vlan_id;
|
||||
__be16 vlan_proto;
|
||||
} bridge;
|
||||
|
@ -12,7 +12,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -872,6 +872,7 @@ struct net_device_path {
|
||||
@@ -875,6 +875,7 @@ struct net_device_path {
|
||||
DEV_PATH_BR_VLAN_KEEP,
|
||||
DEV_PATH_BR_VLAN_TAG,
|
||||
DEV_PATH_BR_VLAN_UNTAG,
|
||||
|
@ -58,7 +58,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
- 0 - disabled (default)
|
||||
--- a/net/netfilter/nf_conntrack_core.c
|
||||
+++ b/net/netfilter/nf_conntrack_core.c
|
||||
@@ -2575,26 +2575,24 @@ int nf_conntrack_init_start(void)
|
||||
@@ -2578,26 +2578,24 @@ int nf_conntrack_init_start(void)
|
||||
spin_lock_init(&nf_conntrack_locks[i]);
|
||||
|
||||
if (!nf_conntrack_htable_size) {
|
||||
|
@ -646,7 +646,7 @@
|
||||
}
|
||||
|
||||
/* Reposition in the original skb */
|
||||
@@ -5192,6 +5213,20 @@ bool skb_try_coalesce(struct sk_buff *to
|
||||
@@ -5197,6 +5218,20 @@ bool skb_try_coalesce(struct sk_buff *to
|
||||
if (skb_cloned(to))
|
||||
return false;
|
||||
|
||||
|
@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/include/linux/etherdevice.h
|
||||
+++ b/include/linux/etherdevice.h
|
||||
@@ -466,6 +466,20 @@ static inline void eth_addr_inc(u8 *addr
|
||||
@@ -478,6 +478,20 @@ static inline void eth_addr_inc(u8 *addr
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -56,7 +56,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/net/core/skbuff.c
|
||||
+++ b/net/core/skbuff.c
|
||||
@@ -5213,18 +5213,18 @@ bool skb_try_coalesce(struct sk_buff *to
|
||||
@@ -5218,18 +5218,18 @@ bool skb_try_coalesce(struct sk_buff *to
|
||||
if (skb_cloned(to))
|
||||
return false;
|
||||
|
||||
|
@ -933,7 +933,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
--- a/drivers/net/ethernet/microchip/lan743x_main.c
|
||||
+++ b/drivers/net/ethernet/microchip/lan743x_main.c
|
||||
@@ -2831,7 +2831,6 @@ static int lan743x_pcidev_probe(struct p
|
||||
@@ -2844,7 +2844,6 @@ static int lan743x_pcidev_probe(struct p
|
||||
{
|
||||
struct lan743x_adapter *adapter = NULL;
|
||||
struct net_device *netdev = NULL;
|
||||
@ -941,7 +941,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
int ret = -ENODEV;
|
||||
|
||||
netdev = devm_alloc_etherdev(&pdev->dev,
|
||||
@@ -2848,9 +2847,7 @@ static int lan743x_pcidev_probe(struct p
|
||||
@@ -2861,9 +2860,7 @@ static int lan743x_pcidev_probe(struct p
|
||||
NETIF_MSG_IFDOWN | NETIF_MSG_TX_QUEUED;
|
||||
netdev->max_mtu = LAN743X_MAX_FRAME_SIZE;
|
||||
|
||||
@ -967,7 +967,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
eth_hw_addr_random(ndev);
|
||||
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
|
||||
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
|
||||
@@ -885,7 +885,7 @@ qca_spi_probe(struct spi_device *spi)
|
||||
@@ -884,7 +884,7 @@ qca_spi_probe(struct spi_device *spi)
|
||||
struct net_device *qcaspi_devs = NULL;
|
||||
u8 legacy_mode = 0;
|
||||
u16 signature;
|
||||
@ -976,7 +976,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
if (!spi->dev.of_node) {
|
||||
dev_err(&spi->dev, "Missing device tree\n");
|
||||
@@ -962,12 +962,8 @@ qca_spi_probe(struct spi_device *spi)
|
||||
@@ -961,12 +961,8 @@ qca_spi_probe(struct spi_device *spi)
|
||||
|
||||
spi_set_drvdata(spi, qcaspi_devs);
|
||||
|
||||
@ -1618,7 +1618,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
int addr_width = 32;
|
||||
u32 value;
|
||||
|
||||
@@ -2044,13 +2044,14 @@ static int axienet_probe(struct platform
|
||||
@@ -2049,13 +2049,14 @@ static int axienet_probe(struct platform
|
||||
dev_info(&pdev->dev, "Ethernet core IRQ not defined\n");
|
||||
|
||||
/* Retrieve the MAC address */
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
|
||||
- mt7530_rmw(priv, MT7530_MFC, UNM_FFP_MASK, UNM_FFP(BIT(port)));
|
||||
-
|
||||
/* Set CPU port number */
|
||||
if (priv->id == ID_MT7621)
|
||||
if (priv->id == ID_MT7530 || priv->id == ID_MT7621)
|
||||
mt7530_rmw(priv, MT7530_MFC, CPU_MASK, CPU_EN | CPU_PORT(port));
|
||||
@@ -1134,6 +1131,20 @@ mt7530_stp_state_set(struct dsa_switch *
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
MODULE_AUTHOR("Pablo Neira Ayuso <pablo@netfilter.org>");
|
||||
--- a/net/netfilter/nft_flow_offload.c
|
||||
+++ b/net/netfilter/nft_flow_offload.c
|
||||
@@ -234,47 +234,14 @@ static struct nft_expr_type nft_flow_off
|
||||
@@ -236,47 +236,14 @@ static struct nft_expr_type nft_flow_off
|
||||
.owner = THIS_MODULE,
|
||||
};
|
||||
|
||||
|
@ -127,7 +127,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/scripts/mod/modpost.c
|
||||
+++ b/scripts/mod/modpost.c
|
||||
@@ -2038,7 +2038,9 @@ static void read_symbols(const char *mod
|
||||
@@ -2056,7 +2056,9 @@ static void read_symbols(const char *mod
|
||||
symname = remove_dot(info.strtab + sym->st_name);
|
||||
|
||||
handle_symbol(mod, &info, sym, symname);
|
||||
@ -137,7 +137,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
for (sym = info.symtab_start; sym < info.symtab_stop; sym++) {
|
||||
@@ -2251,8 +2253,10 @@ static void add_header(struct buffer *b,
|
||||
@@ -2269,8 +2271,10 @@ static void add_header(struct buffer *b,
|
||||
buf_printf(b, "\n");
|
||||
buf_printf(b, "BUILD_SALT;\n");
|
||||
buf_printf(b, "\n");
|
||||
@ -148,7 +148,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
buf_printf(b, "\n");
|
||||
buf_printf(b, "__visible struct module __this_module\n");
|
||||
buf_printf(b, "__section(\".gnu.linkonce.this_module\") = {\n");
|
||||
@@ -2269,8 +2273,10 @@ static void add_header(struct buffer *b,
|
||||
@@ -2287,8 +2291,10 @@ static void add_header(struct buffer *b,
|
||||
|
||||
static void add_intree_flag(struct buffer *b, int is_intree)
|
||||
{
|
||||
@ -159,7 +159,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
/* Cannot check for assembler */
|
||||
@@ -2283,8 +2289,10 @@ static void add_retpoline(struct buffer
|
||||
@@ -2301,8 +2307,10 @@ static void add_retpoline(struct buffer
|
||||
|
||||
static void add_staging_flag(struct buffer *b, const char *name)
|
||||
{
|
||||
@ -170,7 +170,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2368,11 +2376,13 @@ static void add_depends(struct buffer *b
|
||||
@@ -2386,11 +2394,13 @@ static void add_depends(struct buffer *b
|
||||
|
||||
static void add_srcversion(struct buffer *b, struct module *mod)
|
||||
{
|
||||
@ -184,7 +184,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
static void write_buf(struct buffer *b, const char *fname)
|
||||
@@ -2631,7 +2641,9 @@ int main(int argc, char **argv)
|
||||
@@ -2649,7 +2659,9 @@ int main(int argc, char **argv)
|
||||
add_staging_flag(&buf, mod->name);
|
||||
err |= add_versions(&buf, mod);
|
||||
add_depends(&buf, mod);
|
||||
|
@ -12,7 +12,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
---
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -99,6 +99,7 @@ config ARM
|
||||
@@ -100,6 +100,7 @@ config ARM
|
||||
select HAVE_KERNEL_XZ
|
||||
select HAVE_KPROBES if !XIP_KERNEL && !CPU_ENDIAN_BE32 && !CPU_V7M
|
||||
select HAVE_KRETPROBES if HAVE_KPROBES
|
||||
|
@ -199,7 +199,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
bool
|
||||
--- a/net/Kconfig
|
||||
+++ b/net/Kconfig
|
||||
@@ -436,7 +436,7 @@ config NET_DEVLINK
|
||||
@@ -434,7 +434,7 @@ config NET_DEVLINK
|
||||
default n
|
||||
|
||||
config PAGE_POOL
|
||||
|
@ -116,7 +116,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/property.h>
|
||||
@@ -3300,3 +3301,5 @@ static int __init regmap_initcall(void)
|
||||
@@ -3298,3 +3299,5 @@ static int __init regmap_initcall(void)
|
||||
return 0;
|
||||
}
|
||||
postcore_initcall(regmap_initcall);
|
||||
|
@ -26,7 +26,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
* @name: name of the struct -- the string is not copied internally
|
||||
--- a/net/Makefile
|
||||
+++ b/net/Makefile
|
||||
@@ -53,7 +53,7 @@ obj-$(CONFIG_TIPC) += tipc/
|
||||
@@ -52,7 +52,7 @@ obj-$(CONFIG_TIPC) += tipc/
|
||||
obj-$(CONFIG_NETLABEL) += netlabel/
|
||||
obj-$(CONFIG_IUCV) += iucv/
|
||||
obj-$(CONFIG_SMC) += smc/
|
||||
|
@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -1170,6 +1170,10 @@ config MIPS_MSC
|
||||
@@ -1171,6 +1171,10 @@ config MIPS_MSC
|
||||
config SYNC_R4K
|
||||
bool
|
||||
|
||||
|
@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -1648,6 +1648,7 @@ enum netdev_priv_flags {
|
||||
@@ -1651,6 +1651,7 @@ enum netdev_priv_flags {
|
||||
IFF_FAILOVER_SLAVE = 1<<28,
|
||||
IFF_L3MDEV_RX_HANDLER = 1<<29,
|
||||
IFF_LIVE_RENAME_OK = 1<<30,
|
||||
@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
};
|
||||
|
||||
#define IFF_802_1Q_VLAN IFF_802_1Q_VLAN
|
||||
@@ -1680,6 +1681,7 @@ enum netdev_priv_flags {
|
||||
@@ -1683,6 +1684,7 @@ enum netdev_priv_flags {
|
||||
#define IFF_FAILOVER_SLAVE IFF_FAILOVER_SLAVE
|
||||
#define IFF_L3MDEV_RX_HANDLER IFF_L3MDEV_RX_HANDLER
|
||||
#define IFF_LIVE_RENAME_OK IFF_LIVE_RENAME_OK
|
||||
@ -35,7 +35,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/* Specifies the type of the struct net_device::ml_priv pointer */
|
||||
enum netdev_ml_priv_type {
|
||||
@@ -2020,6 +2022,11 @@ struct net_device {
|
||||
@@ -2022,6 +2024,11 @@ struct net_device {
|
||||
const struct tlsdev_ops *tlsdev_ops;
|
||||
#endif
|
||||
|
||||
@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
const struct header_ops *header_ops;
|
||||
|
||||
unsigned int flags;
|
||||
@@ -2110,6 +2117,10 @@ struct net_device {
|
||||
@@ -2109,6 +2116,10 @@ struct net_device {
|
||||
struct mpls_dev __rcu *mpls_ptr;
|
||||
#endif
|
||||
|
||||
|
@ -77,7 +77,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie)
|
||||
{
|
||||
struct dst_entry *dst = __sk_dst_get(sk);
|
||||
@@ -1834,9 +1848,11 @@ static void __sk_free(struct sock *sk)
|
||||
@@ -1837,9 +1851,11 @@ static void __sk_free(struct sock *sk)
|
||||
if (likely(sk->sk_net_refcnt))
|
||||
sock_inuse_add(sock_net(sk), -1);
|
||||
|
||||
|
@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/core/sock.c
|
||||
+++ b/net/core/sock.c
|
||||
@@ -3710,6 +3710,8 @@ static __net_initdata struct pernet_oper
|
||||
@@ -3724,6 +3724,8 @@ static __net_initdata struct pernet_oper
|
||||
|
||||
static int __init proto_init(void)
|
||||
{
|
||||
|
@ -115,7 +115,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
||||
depends on NETFILTER_ADVANCED
|
||||
--- a/net/netfilter/nf_conntrack_core.c
|
||||
+++ b/net/netfilter/nf_conntrack_core.c
|
||||
@@ -2726,6 +2726,9 @@ int nf_conntrack_init_net(struct net *ne
|
||||
@@ -2729,6 +2729,9 @@ int nf_conntrack_init_net(struct net *ne
|
||||
nf_conntrack_helper_pernet_init(net);
|
||||
nf_conntrack_proto_pernet_init(net);
|
||||
|
||||
|
@ -49,7 +49,7 @@
|
||||
int (*fcn)(unsigned int events, struct nf_ct_event *item);
|
||||
--- a/net/bridge/br_if.c
|
||||
+++ b/net/bridge/br_if.c
|
||||
@@ -779,6 +779,28 @@ void br_port_flags_change(struct net_bri
|
||||
@@ -780,6 +780,28 @@ void br_port_flags_change(struct net_bri
|
||||
br_recalculate_neigh_suppress_enabled(br);
|
||||
}
|
||||
|
||||
@ -99,7 +99,7 @@
|
||||
|
||||
#ifdef CONFIG_ETHERNET_PACKET_MANGLE
|
||||
if (dev->eth_mangle_tx && !(skb = dev->eth_mangle_tx(dev, skb)))
|
||||
@@ -5208,6 +5216,11 @@ void netdev_rx_handler_unregister(struct
|
||||
@@ -5210,6 +5218,11 @@ void netdev_rx_handler_unregister(struct
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
|
||||
|
||||
@ -111,7 +111,7 @@
|
||||
/*
|
||||
* Limit the use of PFMEMALLOC reserves to those protocols that implement
|
||||
* the special handling of PFMEMALLOC skbs.
|
||||
@@ -5256,6 +5269,10 @@ static int __netif_receive_skb_core(stru
|
||||
@@ -5258,6 +5271,10 @@ static int __netif_receive_skb_core(stru
|
||||
int ret = NET_RX_DROP;
|
||||
__be16 type;
|
||||
|
||||
@ -122,7 +122,7 @@
|
||||
net_timestamp_check(!READ_ONCE(netdev_tstamp_prequeue), skb);
|
||||
|
||||
trace_netif_receive_skb(skb);
|
||||
@@ -5295,6 +5312,15 @@ another_round:
|
||||
@@ -5297,6 +5314,15 @@ another_round:
|
||||
goto out;
|
||||
}
|
||||
|
||||
@ -140,7 +140,7 @@
|
||||
|
||||
--- a/net/Kconfig
|
||||
+++ b/net/Kconfig
|
||||
@@ -481,3 +481,6 @@ config HAVE_CBPF_JIT
|
||||
@@ -479,3 +479,6 @@ config HAVE_CBPF_JIT
|
||||
# Extended BPF JIT (eBPF)
|
||||
config HAVE_EBPF_JIT
|
||||
bool
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/net/wireless/wext-core.c
|
||||
+++ b/net/wireless/wext-core.c
|
||||
@@ -956,6 +956,9 @@ static int wireless_process_ioctl(struct
|
||||
@@ -962,6 +962,9 @@ static int wireless_process_ioctl(struct
|
||||
else if (private)
|
||||
return private(dev, iwr, cmd, info, handler);
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ Acked-by: Rob Landley <rob@landley.net>
|
||||
---
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -1085,9 +1085,6 @@ config FW_ARC
|
||||
@@ -1086,9 +1086,6 @@ config FW_ARC
|
||||
config ARCH_MAY_HAVE_PC_FDC
|
||||
bool
|
||||
|
||||
@ -19,7 +19,7 @@ Acked-by: Rob Landley <rob@landley.net>
|
||||
config CEVT_BCM1480
|
||||
bool
|
||||
|
||||
@@ -3182,6 +3179,18 @@ choice
|
||||
@@ -3183,6 +3180,18 @@ choice
|
||||
bool "Extend builtin kernel arguments with bootloader arguments"
|
||||
endchoice
|
||||
|
||||
|
@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -2059,6 +2059,8 @@ struct net_device {
|
||||
@@ -2061,6 +2061,8 @@ struct net_device {
|
||||
struct netdev_hw_addr_list mc;
|
||||
struct netdev_hw_addr_list dev_addrs;
|
||||
|
||||
@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
__u16 tc_index; /* traffic control index */
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -6071,6 +6071,9 @@ static enum gro_result dev_gro_receive(s
|
||||
@@ -6073,6 +6073,9 @@ static enum gro_result dev_gro_receive(s
|
||||
int same_flow;
|
||||
int grow;
|
||||
|
||||
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (netif_elide_gro(skb->dev))
|
||||
goto normal;
|
||||
|
||||
@@ -8050,6 +8053,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
@@ -8052,6 +8055,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
&upper_dev->adj_list.lower);
|
||||
}
|
||||
|
||||
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||
struct net_device *upper_dev, bool master,
|
||||
void *upper_priv, void *upper_info,
|
||||
@@ -8101,6 +8146,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -8103,6 +8148,7 @@ static int __netdev_upper_dev_link(struc
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||
&changeupper_info.info);
|
||||
ret = notifier_to_errno(ret);
|
||||
@@ -8197,6 +8243,7 @@ static void __netdev_upper_dev_unlink(st
|
||||
@@ -8199,6 +8245,7 @@ static void __netdev_upper_dev_unlink(st
|
||||
|
||||
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
|
||||
|
||||
@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||
&changeupper_info.info);
|
||||
|
||||
@@ -8983,6 +9030,7 @@ int dev_set_mac_address(struct net_devic
|
||||
@@ -8985,6 +9032,7 @@ int dev_set_mac_address(struct net_devic
|
||||
if (err)
|
||||
return err;
|
||||
dev->addr_assign_type = NET_ADDR_SET;
|
||||
|
@ -233,7 +233,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static inline void
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -856,6 +856,7 @@ enum net_device_path_type {
|
||||
@@ -859,6 +859,7 @@ enum net_device_path_type {
|
||||
DEV_PATH_BRIDGE,
|
||||
DEV_PATH_PPPOE,
|
||||
DEV_PATH_DSA,
|
||||
@ -241,7 +241,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
};
|
||||
|
||||
struct net_device_path {
|
||||
@@ -881,6 +882,12 @@ struct net_device_path {
|
||||
@@ -884,6 +885,12 @@ struct net_device_path {
|
||||
int port;
|
||||
u16 proto;
|
||||
} dsa;
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Alexander Duyck <alexanderduyck@fb.com>
|
||||
|
||||
--- a/net/core/skbuff.c
|
||||
+++ b/net/core/skbuff.c
|
||||
@@ -4164,6 +4164,15 @@ int skb_gro_receive(struct sk_buff *p, s
|
||||
@@ -4169,6 +4169,15 @@ int skb_gro_receive(struct sk_buff *p, s
|
||||
if (unlikely(p->len + len >= 65536 || NAPI_GRO_CB(skb)->flush))
|
||||
return -E2BIG;
|
||||
|
||||
|
@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
|
||||
help
|
||||
--- a/init/main.c
|
||||
+++ b/init/main.c
|
||||
@@ -608,6 +608,29 @@ static inline void setup_nr_cpu_ids(void
|
||||
@@ -606,6 +606,29 @@ static inline void setup_nr_cpu_ids(void
|
||||
static inline void smp_prepare_cpus(unsigned int maxcpus) { }
|
||||
#endif
|
||||
|
||||
@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
|
||||
/*
|
||||
* We need to store the untouched command line for future reference.
|
||||
* We also need to store the touched command line since the parameter
|
||||
@@ -869,6 +892,7 @@ asmlinkage __visible void __init __no_sa
|
||||
@@ -866,6 +889,7 @@ asmlinkage __visible void __init __no_sa
|
||||
pr_notice("%s", linux_banner);
|
||||
early_security_init();
|
||||
setup_arch(&command_line);
|
||||
|
@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#define PACKET_FANOUT_LB 1
|
||||
--- a/net/packet/af_packet.c
|
||||
+++ b/net/packet/af_packet.c
|
||||
@@ -1802,6 +1802,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -1806,6 +1806,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
{
|
||||
struct sock *sk;
|
||||
struct sockaddr_pkt *spkt;
|
||||
@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/*
|
||||
* When we registered the protocol we saved the socket in the data
|
||||
@@ -1809,6 +1810,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -1813,6 +1814,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
*/
|
||||
|
||||
sk = pt->af_packet_priv;
|
||||
@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/*
|
||||
* Yank back the headers [hope the device set this
|
||||
@@ -1821,7 +1823,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -1825,7 +1827,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
* so that this procedure is noop.
|
||||
*/
|
||||
|
||||
@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
goto out;
|
||||
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
@@ -2067,12 +2069,12 @@ static int packet_rcv(struct sk_buff *sk
|
||||
@@ -2071,12 +2073,12 @@ static int packet_rcv(struct sk_buff *sk
|
||||
unsigned int snaplen, res;
|
||||
bool is_drop_n_account = false;
|
||||
|
||||
@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -2198,12 +2200,12 @@ static int tpacket_rcv(struct sk_buff *s
|
||||
@@ -2202,12 +2204,12 @@ static int tpacket_rcv(struct sk_buff *s
|
||||
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
|
||||
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
|
||||
|
||||
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -3313,6 +3315,7 @@ static int packet_create(struct net *net
|
||||
@@ -3317,6 +3319,7 @@ static int packet_create(struct net *net
|
||||
mutex_init(&po->pg_vec_lock);
|
||||
po->rollover = NULL;
|
||||
po->prot_hook.func = packet_rcv;
|
||||
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (sock->type == SOCK_PACKET)
|
||||
po->prot_hook.func = packet_rcv_spkt;
|
||||
@@ -3952,6 +3955,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
@@ -3956,6 +3959,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit);
|
||||
return 0;
|
||||
}
|
||||
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
default:
|
||||
return -ENOPROTOOPT;
|
||||
}
|
||||
@@ -4008,6 +4021,13 @@ static int packet_getsockopt(struct sock
|
||||
@@ -4012,6 +4025,13 @@ static int packet_getsockopt(struct sock
|
||||
case PACKET_VNET_HDR:
|
||||
val = po->has_vnet_hdr;
|
||||
break;
|
||||
|
@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
+MODULE_ALIAS("nf-flow-table-hw");
|
||||
--- a/net/netfilter/nf_tables_api.c
|
||||
+++ b/net/netfilter/nf_tables_api.c
|
||||
@@ -5857,6 +5857,13 @@ static int nf_tables_flowtable_parse_hoo
|
||||
@@ -5888,6 +5888,13 @@ static int nf_tables_flowtable_parse_hoo
|
||||
if (err < 0)
|
||||
return err;
|
||||
|
||||
@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL);
|
||||
if (!ops)
|
||||
return -ENOMEM;
|
||||
@@ -5987,10 +5994,19 @@ static int nf_tables_newflowtable(struct
|
||||
@@ -6023,10 +6030,19 @@ static int nf_tables_newflowtable(struct
|
||||
}
|
||||
|
||||
flowtable->data.type = type;
|
||||
@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK],
|
||||
flowtable);
|
||||
if (err < 0)
|
||||
@@ -6111,7 +6127,8 @@ static int nf_tables_fill_flowtable_info
|
||||
@@ -6149,7 +6165,8 @@ static int nf_tables_fill_flowtable_info
|
||||
nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) ||
|
||||
nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) ||
|
||||
nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle),
|
||||
|
@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#define PACKET_FANOUT_LB 1
|
||||
--- a/net/packet/af_packet.c
|
||||
+++ b/net/packet/af_packet.c
|
||||
@@ -1862,6 +1862,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -1866,6 +1866,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
{
|
||||
struct sock *sk;
|
||||
struct sockaddr_pkt *spkt;
|
||||
@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/*
|
||||
* When we registered the protocol we saved the socket in the data
|
||||
@@ -1869,6 +1870,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -1873,6 +1874,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
*/
|
||||
|
||||
sk = pt->af_packet_priv;
|
||||
@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/*
|
||||
* Yank back the headers [hope the device set this
|
||||
@@ -1881,7 +1883,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -1885,7 +1887,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
* so that this procedure is noop.
|
||||
*/
|
||||
|
||||
@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
goto out;
|
||||
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
@@ -2127,12 +2129,12 @@ static int packet_rcv(struct sk_buff *sk
|
||||
@@ -2131,12 +2133,12 @@ static int packet_rcv(struct sk_buff *sk
|
||||
unsigned int snaplen, res;
|
||||
bool is_drop_n_account = false;
|
||||
|
||||
@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -2259,12 +2261,12 @@ static int tpacket_rcv(struct sk_buff *s
|
||||
@@ -2263,12 +2265,12 @@ static int tpacket_rcv(struct sk_buff *s
|
||||
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
|
||||
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
|
||||
|
||||
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -3374,6 +3376,7 @@ static int packet_create(struct net *net
|
||||
@@ -3378,6 +3380,7 @@ static int packet_create(struct net *net
|
||||
mutex_init(&po->pg_vec_lock);
|
||||
po->rollover = NULL;
|
||||
po->prot_hook.func = packet_rcv;
|
||||
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (sock->type == SOCK_PACKET)
|
||||
po->prot_hook.func = packet_rcv_spkt;
|
||||
@@ -4009,6 +4012,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
@@ -4013,6 +4016,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit);
|
||||
return 0;
|
||||
}
|
||||
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
default:
|
||||
return -ENOPROTOOPT;
|
||||
}
|
||||
@@ -4065,6 +4078,13 @@ static int packet_getsockopt(struct sock
|
||||
@@ -4069,6 +4082,13 @@ static int packet_getsockopt(struct sock
|
||||
case PACKET_VNET_HDR:
|
||||
val = po->has_vnet_hdr;
|
||||
break;
|
||||
|
@ -59,7 +59,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
}
|
||||
--- a/net/netfilter/nft_flow_offload.c
|
||||
+++ b/net/netfilter/nft_flow_offload.c
|
||||
@@ -468,47 +468,14 @@ static struct nft_expr_type nft_flow_off
|
||||
@@ -470,47 +470,14 @@ static struct nft_expr_type nft_flow_off
|
||||
.owner = THIS_MODULE,
|
||||
};
|
||||
|
||||
|
@ -626,7 +626,7 @@
|
||||
}
|
||||
|
||||
void bond_setup(struct net_device *bond_dev)
|
||||
@@ -4959,6 +5026,16 @@ int bond_create(struct net *net, const c
|
||||
@@ -4961,6 +5028,16 @@ int bond_create(struct net *net, const c
|
||||
bond_work_init_all(bond);
|
||||
|
||||
rtnl_unlock();
|
||||
@ -643,7 +643,7 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -5054,6 +5131,203 @@ static void __exit bonding_exit(void)
|
||||
@@ -5056,6 +5133,203 @@ static void __exit bonding_exit(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -1321,7 +1321,7 @@
|
||||
+
|
||||
--- a/net/ipv6/ndisc.c
|
||||
+++ b/net/ipv6/ndisc.c
|
||||
@@ -648,6 +648,7 @@ void ndisc_send_ns(struct net_device *de
|
||||
@@ -649,6 +649,7 @@ void ndisc_send_ns(struct net_device *de
|
||||
|
||||
ndisc_send_skb(skb, daddr, saddr);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user