Commit graph

70 commits

Author SHA1 Message Date
Felix Fietkau
7f11532c58 kernel: compile out SNMP MIB related counting if debloat-proc is active - improves network stack performance
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48239
2016-01-15 10:47:14 +00:00
Felix Fietkau
09ad818ffc kernel: backport perf build fixes to 4.1
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48231
2016-01-14 01:00:38 +00:00
Hauke Mehrtens
93b50ade93 kernel/4.1: update to version 4.1.15
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48223
2016-01-12 20:51:34 +00:00
Rafał Miłecki
ccb7d794ff kernel: update bcma by backporting 4.4 and 4.5 patches
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48111
2016-01-04 12:22:24 +00:00
Felix Fietkau
e14d2aee0a kernel: add at803x fix for sgmii mode
Some (possibly broken) bootloaders incorreclty initialize at8033
phy. This patch enables sgmii autonegotiation mode.

Signed-off-by: Roman Yeryomin <roman@advem.lv>

SVN-Revision: 48109
2016-01-03 23:13:16 +00:00
Felix Fietkau
54b4265873 kernel: move at803x phy patch to generic
Signed-off-by: Roman Yeryomin <roman@advem.lv>

SVN-Revision: 48108
2016-01-03 23:13:11 +00:00
Rafał Miłecki
7bede46e58 kernel: make bcm47xxpart work with TRX flashed at bad block(s)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48061
2016-01-02 00:33:48 +00:00
Rafał Miłecki
224984ca01 kernel: drop bcm47xxpart patch for Xiaomi
It was never tested, most likely not working (because of le32_to_cpu)
and not upstreamed.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48060
2016-01-02 00:33:31 +00:00
Rafał Miłecki
8996164e56 ledtrig-netdev: update base driver instead of patching it for every kernel
All supported kernels require patching ledtrig-netdev in the same way,
so it's safe to just move these changes to the base version of this
driver. We needed these patches for some old kernels 2.6.36 and 3.11.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 47962
2015-12-23 10:17:09 +00:00
Imre Kaloz
f5ff684147 generic/4.1: refresh patches
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 47821
2015-12-10 12:14:19 +00:00
Felix Fietkau
1369876a92 kernel: revert fq_codel quantum override to prevent it from causing too much cpu load with higher speed (#21326)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47811
2015-12-08 00:14:41 +00:00
Rafał Miłecki
3333f75caf kernel: add bcm47xxpart patches sent for 4.5 merge window
This replaces old bcm53xx patch for scanning whole flash and makes
bcm47xxpart compatible with NAND.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 47800
2015-12-07 09:31:52 +00:00
Jonas Gorski
f961a3826e kernel: drop bridge hack for removing ipv6 dependency
Now that IPV6 isn't build as a module anymore, we don't need to decouple
bridge from ipv6 anymore.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 47751
2015-12-04 10:06:03 +00:00
Jonas Gorski
813227d992 kernel: mvswitch: merge 3.10+ compile fix into the code
The lowest we support is 3.18, so no need to keep it as a separate
patch.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 47749
2015-12-04 09:45:07 +00:00
Felix Fietkau
b9849f286b kernel: add overlayfs stacking fix from upstream
Overlayfs stacking was broken in 4.1.12 but now fixed in upstream branch.
Stacking allows experimenting with configurations without the need to
reset a device to factory config.

Signed-off-by: Roman Yeryomin <roman@advem.lv>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47714
2015-12-03 13:54:33 +00:00
Hauke Mehrtens
f0a5f24217 kernel: update 4.1 to 4.1.13
- two upstreamed patches removed
- compile tested all targets using 4.1
- run tested ar71xx

Signed-off-by: Roman Yeryomin <roman@advem.lv>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 47694
2015-12-02 21:52:41 +00:00
Rafał Miłecki
3ced1d6bb7 kernel: add fix for missing include in spi-nor.h (#20973)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 47665
2015-11-26 17:13:05 +00:00
Felix Fietkau
b44a27885f kernel: revert a faulty upstream commit that was added with the spi-nor/m25p80 backport (fixes #20971)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47664
2015-11-26 16:40:11 +00:00
Felix Fietkau
c3fc2a7a35 kernel: disable software protection bits for macronix flash chips at init
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47626
2015-11-24 19:09:56 +00:00
Felix Fietkau
bb1c915f1e kernel: update m25p80 in 4.1 to the latest version from 4.4-rc1
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47624
2015-11-24 18:59:28 +00:00
John Crispin
058275197b kernel/generic: 3.18, 4.y: Add support for Quectel EC20 Mini PCIe module
* both patches (qcserial/qmi_wwan) were submitted upstream[1,2]
* build tested on 3.18 and 4.1
* run tested on imx6 platform with 4.1

1. http://article.gmane.org/gmane.linux.usb.general/132998
2. http://article.gmane.org/gmane.linux.usb.general/133113

Signed-off-by: Petr Štetiar <ynezz@true.cz>

SVN-Revision: 47567
2015-11-21 21:25:54 +00:00
Rafał Miłecki
b2dab45aa7 kernel: backport ssb changes from 4.4-rc1
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 47483
2015-11-16 06:55:38 +00:00
Hauke Mehrtens
cb0c8da7c2 kernel: take bcm47xx_nvram.h from kernel and not backports
compat-wireless/backports now contains a bcm47xx_nvram.h file to
backport some of the functions in it which are used by the bcmfmac
driver. This file just checks for the kernel versions and provide an
empty implementations on older kernel versions. This is OK on most
systems, but on bcm47xx / bcm53xx systems we want to call the real
functions here. This commit removes the file from backports in our
build process like we do it with the bcma and ssb header files. Instead
we add a recent version into our kernel so all code uses only one
header file. On bcm47xx / bcm53xx the real implementations of this code
will be used.

Reported-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 47467
2015-11-13 23:51:31 +00:00
Felix Fietkau
8a2a1c1d71 kernel: fix an af_packet regression that was breaking PPPoE on 4.1+ (#20707)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47459
2015-11-11 14:12:51 +00:00
John Crispin
4f9fcd94bd package/devel/perf: fix build for kernel 4.1
This fix contains 2 parts:
 - kernel 4.1: backport upstream patch "perf build: Do not fail on missing Build file"
 - add NO_LZMA=1 to perf MAKE_FLAGS to disable LZMA support

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>

SVN-Revision: 47338
2015-11-02 10:16:28 +00:00
Felix Fietkau
93efeef9b3 generic: fix unrecognized opcode wsbh when building for MIPS16.
The issue was found and reported by hynman [1] when compiling reaver for ar71xx
(Big Endian MIPS).

    {standard input}: Assembler messages:
    {standard input}:79: Error: unrecognized opcode `wsbh $2,$2'
    {standard input}:90: Error: unrecognized opcode `wsbh $3,$17'
    {standard input}:208: Error: unrecognized opcode `wsbh $2,$2'
    make[3]: *** [builder.o] Error 1

The patch was already in upstream since kernel release 4.3-rc5.

 [1] 1e29676a8a (commitcomment-12901931)

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>

SVN-Revision: 47322
2015-10-31 09:29:57 +00:00
Felix Fietkau
65558ba722 kernel: backport some bcma header file definitions from wireless-testing
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47284
2015-10-30 15:17:41 +00:00
Hauke Mehrtens
da94b00df5 kernel: update kernel 4.1 to version 4.1.11
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.11

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 47252
2015-10-25 17:32:01 +00:00
John Crispin
024083a556 generic: add 8139cp fixes, enable hardware csum/tso on 4.0+
This contains two sets of fixes for the 8139cp driver.

For all kernel versions older than 4.3, we can apply the fixes from the
4.3-rc4 kernel. In particular, these fix the TX timeout recovery which
is causing my Geos to lock up until the hardware watchdog kicks in.

For 4.0 and later kernels, we can also apply the additional improvements
which are going into 4.4 to fix and enable hardware checksum/TSO
offload. Backporting those to older kernels is non-trivial.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>

SVN-Revision: 47220
2015-10-19 10:09:54 +00:00
Hauke Mehrtens
0cd478518f kernel: update 4.1 to 4.1.10
Fixes a regression on spi flash devices (upstream commit 1583eaece6fa).

Changelogs:
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.7
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.8
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.9
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.10

096-ipv4-off-by-one-in-continuation-handling-in-proc-net.patch was applied
upstream and dropped.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>
[update from 4.1.9 to 4.1.10]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 47104
2015-10-04 11:34:39 +00:00
Rafał Miłecki
ff6ae7ce34 kernel: remove old "rootfs" splitter
A year ago I made this old splitter obsolete (see r42828), it's time to
completely remove it now. For all this time we got these warnings:
"Dedicated partitioner didn't create "rootfs_data" partition, please fill a bug report!"
and
"Support for built-in "rootfs_data" splitter will be removed, please use CONFIG_MTD_SPLIT_SQUASHFS_ROOT"
but I'm not aware of any bug reports related to that.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 47040
2015-09-24 11:19:12 +00:00
Felix Fietkau
b0f48b6ebc kernel: add a patch to fix crashes on pppoe disconnect/reconnect
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47026
2015-09-22 11:28:28 +00:00
Felix Fietkau
708c58c1a7 kernel: fix dependencies of the sock_diag debloat patch (#20544)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46997
2015-09-18 09:05:01 +00:00
Felix Fietkau
6c018c2f5e kernel: solos-pci: Increase headroom on received packets
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46993
2015-09-17 15:38:58 +00:00
Felix Fietkau
312908ff4b kernel: ipv6: ip6_fragment: fix headroom tests and skb leak
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46992
2015-09-17 15:38:46 +00:00
Felix Fietkau
45b52d4581 kernel: remove lantiq specific ATM API hacks and their kernel space users (fixes #20523)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46984
2015-09-17 09:45:34 +00:00
John Crispin
9412c4e66c kernel: unbreak atm ABI for 4.0 and 4.1
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 46983
2015-09-16 12:40:40 +00:00
Felix Fietkau
5fcafa319d generic: Fix per interface nf_call_iptables setting
commit r30917 ("kernel: bypass all netfilter hooks if the sysctls for that
functionality have been disabled - eliminates the overhead of enabling
CONFIG_BRIDGE_NETFILTER in the kernel config") introduced an optimization
which should reduce/eliminate the overhead for traffic send over bridges on
kernels compiled with CONFIG_BRIDGE_NETFILTER=y. But this optimization
breaks the nf_call_iptables per bridge setting which is more fine grained
than the global sysctl net.bridge.bridge-nf-call-iptables setting.

A test reflecting a real world setup was created to identify if this really
eliminates the overhead and if per-bridge nf_call_iptables could be used in
some setups to increase the throughput. A Qualcomm Atheros QCA9558 based
system with one ethernet and an ath9k wifi 3x3 in HT40 mode was used.
Cables from the AP to the wifi station were used to reduce interference
problems during the tests.

The wlan interface was put in one bridge interface called br-wlan. This
bridge usually contains some more wlan interfaces. The eth0 was put in a
second bridge called br-lan. This usually contains some other privileged
wlan or mesh interfaces. Routing was added between br-lan and br-wlan.

Three kernels were tested:

 * (default) OpenWrt kernel for this device
 * (brfilter-global) OpenWrt kernel with CONFIG_BRIDGE_NETFILTER=y
 * (brfilter-local)  OpenWrt kernel with CONFIG_BRIDGE_NETFILTER=y and
    without 644-bridge_optimize_netfilter_hooks.patch

The changes to the the netfilter settings of the bridge were done via:

 * (brfilter-global) /sbin/sysctl -w net.bridge.bridge-nf-call-iptables=1
 * (brfilter-lobal) echo 1 > /sys/class/net/br-lan/bridge/nf_call_iptables
   and/or echo 1 > /sys/class/net/br-wan/bridge/nf_call_iptables

A station connected to the wlan0 (AP) interface was used to send traffic to
a PC connected via ethernet. iperf with 3 concurrent transmissions was used
to generate the traffic.

| kernel          | br-nf-* global | nf-call* iface | download | upload   |
|-----------------|----------------|----------------|----------|----------|
| default         | 0              | -              |      209 |      268 |
| brfilter-global | 0              | -              |      185 |      243 |
| brfilter-local  | 0              | -              |      187 |      243 |
| brfilter-local  | 0              | br-lan         |      157 |      226 |
| brfilter-local  | 0              | br-lan br-wlan |      139 |      161 |
| brfilter-global | 1              | -              |      136 |      162 |

Download/upload results in Mibit/s

It can be seen that the patch doesn't eliminate the overhead. It can also
be seen that the throughput of brfilter-global and brfilter-local with
disabled filtering is the roughly the same. Also the throughput for
brfilter-global and brfilter-local for enabled filtering on all bridges is
roughly the same.

But also the brfilter-local throughput is higher when only br-lan requires
the filtering. This setting would not be possible with
644-bridge_optimize_netfilter_hooks.patch applied and thus can only be
compared with brfilter-global and filtering enabled for all interfaces.

Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 46835
2015-09-09 18:40:15 +00:00
Rafał Miłecki
f0c747dee5 kernel: describe bridge patch "multicast to unicast"
It was initially added in r41367 by nbd.

SVN-Revision: 46828
2015-09-08 16:43:32 +00:00
Rafał Miłecki
b8c9d6b296 kernel: describe bridge patch "optimize netfilter hooks"
It was initially added in r30917 by nbd.

SVN-Revision: 46827
2015-09-08 16:43:21 +00:00
Rafał Miłecki
255d7ad8ba kernel: describe bridge patch "remove IPv6 depependency of bridge in 2.6.38+"
It was initially added in r27237 by jow as patch from Jonas.

SVN-Revision: 46826
2015-09-08 16:43:10 +00:00
Rafał Miłecki
f8a689d276 kernel: describe bridge patch "port isolate"
It was initially added in r25762 by nbd.

SVN-Revision: 46825
2015-09-08 16:43:04 +00:00
Rafał Miłecki
e77fae4cba kernel: describe bridge patch "always accept EAP"
It was initially added in r26015 by nbd.

SVN-Revision: 46824
2015-09-08 16:42:58 +00:00
Rafał Miłecki
c64214d465 kernel: describe bridge patch "no EAP forward"
It was initially added in r25095 by nbd.

SVN-Revision: 46823
2015-09-08 16:42:50 +00:00
Felix Fietkau
75744d133d kernel: restore 640-bridge_no_eap_forward.patch to its original form
It was corrupted in r38528. The most obvious symptom is repeated messages like this:

Tue Sep  8 08:25:18 2015 kern.warn kernel: [77141.972226] br-lan: received packet on wlan0 with own address as source address

Signed-off-by: Dmitry Ivanov <dima@ubnt.com>

SVN-Revision: 46821
2015-09-08 14:29:55 +00:00
Felix Fietkau
2416e506f5 kernel: bridge, multicast-to-unicast: fix echoes on STA
Currently, multicast packets from an STA are sent to any according
multicast listener directly through the bridge multicast-to-unicast
feature. Unfortunately, so far this includes the originating STA, too,
resulting in multicast packets being echo'ed back to the originating STA
if it itself is a multicast listener for that group.

This behaviour breaks IPv6 duplicate address detection: An IPv6 Neighbor
Solicitation for IPv6 Duplicate Address Detection is being echo'ed back,
resulting in the host falsely detecting an address collision, which
makes the node unable to claim an IPv6 address and use IPv6 in general.

Mac80211 unfortunately only prevents the echoes for us for multicast
frames. For the multicast frames cast to a unicast destination we'll
need to take care of excluding the originator ourselves.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>

SVN-Revision: 46765
2015-09-02 09:23:59 +00:00
Jonas Gorski
a486ffacea linux: fix off-by-one in handling in /proc/net/route
Add an upstream fix for /proc/net/route causing missing routes doing
several continued reads from it.

Only 4.1+ is affected.

Closes #20403.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46726
2015-08-26 10:11:41 +00:00
Felix Fietkau
ddf8858cea kernel: bridge, multicast-to-unicast: assign src after pskb_may_pull()
A call to pskb_may_pull() might reallocate skb->data. Therefore we
should only assign the src-pointer after any potential reallocations.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46721
2015-08-25 07:25:20 +00:00
Felix Fietkau
ea9963bb21 Revert "kernel: disable multicast-to-unicast translation for ipv6 neighbor solicitation (#17625)"
This reverts commit a080e8e1943156168913d0353a2e99d1151102aa.

It did not fix the problem but just hid some symptom. The real issue was
that IGMP/MLD report suppression was not considered for the
multicast-to-unicast feature. A recent netifd which isolates IGMP/MLD
reports between STAs by utilizing AP-isolation and bridge-hairpinning
should have fixed this.

It is perfectly fine to apply multicast-to-unicast to IPv6 Neighbor
Solicitations, too (once that feature is configured correctly).

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46720
2015-08-25 07:25:10 +00:00
Jonas Gorski
2d53e22357 kernel: remove already upstream applied patch
Remove 131-MIPS-export-get_c0_perfcount_int.patch which was already applied
in 4.1.6. This fixes the following build error:

arch/mips/ath79/setup.c:217:77: error: redefinition of '__kstrtab_get_c0_perfcount_int'
arch/mips/ath79/setup.c:211:77: note: previous definition of '__kstrtab_get_c0_perfcount_int' was here
arch/mips/ath79/setup.c:217:350: error: redefinition of '__ksymtab_get_c0_perfcount_int'
arch/mips/ath79/setup.c:211:350: note: previous definition of '__ksymtab_get_c0_perfcount_int' was here
scripts/Makefile.build:258: recipe for target 'arch/mips/ath79/setup.o' failed

Reported-by: swalker
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46715
2015-08-23 21:33:57 +00:00