[PATCH v2] options.c: add DSCP code LE Least Effort

2022-01-08 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
RFC-8622 implements a low priority DSCP marking called 'Least Effort' or
'LE'  Instead of prioritising traffic in varying degrees, this defines a
scum class of packet that really is the lowest of the low and you may
consider forwarding if you really have nothing better to do.

This patch adds LE class support to firewall3.

Signed-off-by: Kevin Darbyshire-Bryant 
---
 options.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/options.c b/options.c
index 6131786..2f419a3 100644
--- a/options.c
+++ b/options.c
@@ -146,6 +146,7 @@ static const struct { const char *name; uint8_t dscp; } 
dscp_classes[] = {
{ "CS6",  0x30 },
{ "CS7",  0x38 },
{ "BE",   0x00 },
+   { "LE",   0x01 },
{ "AF11", 0x0a },
{ "AF12", 0x0c },
{ "AF13", 0x0e },
-- 
2.32.0 (Apple Git-132)


--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[PATCH] options.c: add DSCP code LE Least Effort

2022-01-08 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
Signed-off-by: Kevin Darbyshire-Bryant 
---
 options.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/options.c b/options.c
index 6131786..2f419a3 100644
--- a/options.c
+++ b/options.c
@@ -146,6 +146,7 @@ static const struct { const char *name; uint8_t dscp; } 
dscp_classes[] = {
{ "CS6",  0x30 },
{ "CS7",  0x38 },
{ "BE",   0x00 },
+   { "LE",   0x01 },
{ "AF11", 0x0a },
{ "AF12", 0x0c },
{ "AF13", 0x0e },
-- 
2.32.0 (Apple Git-132)


--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Merged: dnsmasq: add match_tag for --dhcp-host

2021-11-09 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
Merged into my staging tree.
Thank you!


--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Archer C7 v2 with Target System "Atheros ATH79 (DTS)" or "Atheros AR7xxx/AR9xxx"

2018-06-28 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---


> On 28 Jun 2018, at 08:26, m...@adrianschmutzler.de wrote:
> 
>>> 
>>> 
>> 
>> It may be that board name has changed, what's your cat
>> /tmp/sysinfo/board_name ?
>> 
>> Now on ath79 should be tplink,tl-archer-c7-v2 so if doesn't match this is
> the
>> problem
>> 
>> You can safely try with -F, but you'll be needed to recreate the
>> /etc/config/wifreless file
>> 
>> Regards
>> 
>> 
>> ___
>> openwrt-devel mailing list
>> openwrt-devel@lists.openwrt.org
>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
> 
> The old boardname was indeed just "archer-c7" (for the v2).
> 
> Maybe the SUPPORTED DEVICES for the tl-archer-c7-v2 in ath79 should be
> updated to enable upgrades?

It sounds an attractive idea, unfortunately the reality is that both the 
wireless config and led config  change, so this ‘side-grade’ isn’t directly 
compatible.  Personally I think the fact you have to force the install 
(sysupgrade -F) acts as a reminder that certain things need a gentle tweak 
afterwards.  If a sysupgrade just went through, no warning, then I can see a 
lot of queries ‘I upgraded and now I can’t get wireless to work’.

Often we advise people to beware upgrades from prior releases to consider 
starting configs afresh, this is changing build architecture as well.  The fact 
that a forced upgrade works as well as it does is an unexpected bonus.

Kevin


signature.asc
Description: Message signed with OpenPGP
--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH v2] kernel: bump 4.14 to 4.14.51

2018-06-21 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
Refresh patches.

Remove patch that can be reverse applied:
mvebu/patches-4.14/530-ATA-ahci_mvebu-enable-stop_engine-override.patch
mvebu/patches-4.14/531-ATA-ahci_mvebu-pmp-stop-errata-226.patch

Update patch that no longer applied:
ipq806x/patches-4.14/0035-clk-mux-Split-out-register-accessors-for-reuse.patch

Compiled-tested-for: lantiq, ramips
Run-tested-on: lantiq BT hh5a, ramips MIR3g

Signed-off-by: Kevin Darbyshire-Bryant 
---
v2 - actually it turns out 531-ATA-achi... isn't required & causes build
failure - oops!  Thanks to Gerard Looije for pointing out the error in
my ways :-)

 include/kernel-version.mk  |   4 +-
 ...stmmac-Disable-frame-filtering-completely.patch |   2 +-
 16-netfilter-flow-table-support-for-IPv6.patch |   2 +-
 ...r-improve-flow-table-Kconfig-dependencies.patch |   2 +-
 ...lowtable-infrastructure-depends-on-NETFIL.patch |   2 +-
 .../650-netfilter-add-xt_OFFLOAD-target.patch  |   4 +-
 .../902-essedma-alloc-skb-ip-align.patch   |   7 +-
 .../patches-4.14/997-device_tree_cmdline.patch |   4 +-
 ...ux-Split-out-register-accessors-for-reuse.patch |   6 +-
 .../patches-4.14/0069-arm-boot-add-dts-files.patch |  12 +-
 .../0012-clk-dont-disable-unused-clocks.patch  |   2 +-
 ...TA-ahci_mvebu-enable-stop_engine-override.patch | 224 -
 .../531-ATA-ahci_mvebu-pmp-stop-errata-226.patch   | 110 --
 13 files changed, 21 insertions(+), 360 deletions(-)
 delete mode 100644 
target/linux/mvebu/patches-4.14/530-ATA-ahci_mvebu-enable-stop_engine-override.patch
 delete mode 100644 
target/linux/mvebu/patches-4.14/531-ATA-ahci_mvebu-pmp-stop-errata-226.patch

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 825a227915..52a8433ec6 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -5,12 +5,12 @@ LINUX_RELEASE?=1
 LINUX_VERSION-3.18 = .71
 LINUX_VERSION-4.4 = .121
 LINUX_VERSION-4.9 = .109
-LINUX_VERSION-4.14 = .50
+LINUX_VERSION-4.14 = .51
 
 LINUX_KERNEL_HASH-3.18.71 = 
5abc9778ad44ce02ed6c8ab52ece8a21c6d20d21f6ed8a19287b4a38a50c1240
 LINUX_KERNEL_HASH-4.4.121 = 
44a88268b5088dc326b30c9b9133ac35a9a200b636b7268d08f32abeae6ca729
 LINUX_KERNEL_HASH-4.9.109 = 
3dcd5654a553432119492b69e649c4ed117781bfd571edcb02346c945be359b0
-LINUX_KERNEL_HASH-4.14.50 = 
703a8d013b25dc428d936f72858fa0c702c22cb3114a040fb9bb47562e4ea2ac
+LINUX_KERNEL_HASH-4.14.51 = 
dab2402baa2444348f9b3c354e8f65382a466d1766942a57441209f9a2df972b
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1
 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst 
-,_,$(subst /,_,$(1)))
diff --git 
a/target/linux/arc770/patches-4.14/700-stmmac-Disable-frame-filtering-completely.patch
 
b/target/linux/arc770/patches-4.14/700-stmmac-Disable-frame-filtering-completely.patch
index 58094ae96d..e63c2e934b 100644
--- 
a/target/linux/arc770/patches-4.14/700-stmmac-Disable-frame-filtering-completely.patch
+++ 
b/target/linux/arc770/patches-4.14/700-stmmac-Disable-frame-filtering-completely.patch
@@ -20,7 +20,7 @@ Signed-off-by: Alexey Brodkin 
 
 --- a/drivers/net/ethernet/stmicro/stmmac/common.h
 +++ b/drivers/net/ethernet/stmicro/stmmac/common.h
-@@ -49,7 +49,7 @@
+@@ -46,7 +46,7 @@
  #define STMMAC_GET_ENTRY(x, size) ((x + 1) & (size - 1))
  
  #undef FRAME_FILTER_DEBUG
diff --git 
a/target/linux/generic/backport-4.14/324-v4.16-netfilter-flow-table-support-for-IPv6.patch
 
b/target/linux/generic/backport-4.14/324-v4.16-netfilter-flow-table-support-for-IPv6.patch
index a561f2669d..874195558c 100644
--- 
a/target/linux/generic/backport-4.14/324-v4.16-netfilter-flow-table-support-for-IPv6.patch
+++ 
b/target/linux/generic/backport-4.14/324-v4.16-netfilter-flow-table-support-for-IPv6.patch
@@ -45,7 +45,7 @@ Signed-off-by: Pablo Neira Ayuso 
  {
 --- a/net/ipv6/netfilter/Kconfig
 +++ b/net/ipv6/netfilter/Kconfig
-@@ -71,6 +71,14 @@ config NFT_FIB_IPV6
+@@ -99,6 +99,14 @@ config NFT_FIB_IPV6
  endif # NF_TABLES_IPV6
  endif # NF_TABLES
  
diff --git 
a/target/linux/generic/backport-4.14/329-v4.16-netfilter-improve-flow-table-Kconfig-dependencies.patch
 
b/target/linux/generic/backport-4.14/329-v4.16-netfilter-improve-flow-table-Kconfig-dependencies.patch
index c897c36724..7174723fc9 100644
--- 
a/target/linux/generic/backport-4.14/329-v4.16-netfilter-improve-flow-table-Kconfig-dependencies.patch
+++ 
b/target/linux/generic/backport-4.14/329-v4.16-netfilter-improve-flow-table-Kconfig-dependencies.patch
@@ -72,7 +72,7 @@ Signed-off-by: Pablo Neira Ayuso 
  
 --- a/net/ipv6/netfilter/Kconfig
 +++ b/net/ipv6/netfilter/Kconfig
-@@ -72,8 +72,9 @@ endif # NF_TABLES_IPV6
+@@ -100,8 +100,9 @@ endif # NF_TABLES_IPV6
  endif # 

Re: [OpenWrt-Devel] 18.06: Cherry pick mtu fix

2018-06-21 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---


> On 21 Jun 2018, at 08:13, Jaap Buurman  wrote:
> 
> Dear all,
> 
> The move to kernel 4.14 broke mtu settings larger than 1500 by
> default, unless the correct mtu was explicitly specified. The
> following commit fixes this for the mt7621 target:
> https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=5da2c68d001ee44b15a58639ed03a0ebb6f68020
> 
> 1) Would it be possible for someone to cherry-pick this to the 18.06
> branch, so that it can receive widespread testing in the upcoming
> 18.06 RC1 release?

Personally I’d also pick the preceding mtk driver commit "ec502cd3fe ramips: 
rename ethernet driver folder to the same one that upstream uses” for clarity & 
easier cherry-picks going forward for 18.06.  And I’d be very strongly tempted 
to have 9a4253b81f ramips: improve ethernet driver performance with GRO/TSO  as 
well…. which gets 18.06 into the same state as master for mtk eth drivers.

> 2) From the commit's message I get the impression this isn't an issue
> with just mt7621, but with all targets that are able to handle a mtu >
> 1500. Is my impression correct in this regard, and is this something
> that should be fixed before a 18.06 release? Changing mtu settings >
> 1500 does sound like basic functionality for routers nowadays.

It is dependent upon the driver setting a suitable max_mtu in the netdev 
structure *IF* it supports values greater than 1500.

+   if (IS_ENABLED(CONFIG_SOC_MT7621))
+   netdev->max_mtu = 2048;

The version of driver included with kernel 4.14 at present is too dumb to 
understand >1500 mtu, which is why openwrt replaces it with a version that 
(now) does.

That’s my opinion anyway :-)

Kevin



signature.asc
Description: Message signed with OpenPGP
--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] kernel: bump 4.14 to 4.14.51

2018-06-21 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
Refresh patches.

Remove patch that can be reverse applied:
mvebu/patches-4.14/530-ATA-ahci_mvebu-enable-stop_engine-override.patch

Update patch that no longer applied:
ipq806x/patches-4.14/0035-clk-mux-Split-out-register-accessors-for-reuse.patch

Compiled-tested-for: lantiq, ramips
Run-tested-on: lantiq BT hh5a, ramips MIR3g

Signed-off-by: Kevin Darbyshire-Bryant 
---
 include/kernel-version.mk  |   4 +-
 ...stmmac-Disable-frame-filtering-completely.patch |   2 +-
 16-netfilter-flow-table-support-for-IPv6.patch |   2 +-
 ...r-improve-flow-table-Kconfig-dependencies.patch |   2 +-
 ...lowtable-infrastructure-depends-on-NETFIL.patch |   2 +-
 .../650-netfilter-add-xt_OFFLOAD-target.patch  |   4 +-
 .../902-essedma-alloc-skb-ip-align.patch   |   7 +-
 .../patches-4.14/997-device_tree_cmdline.patch |   4 +-
 ...ux-Split-out-register-accessors-for-reuse.patch |   6 +-
 .../patches-4.14/0069-arm-boot-add-dts-files.patch |  12 +-
 .../0012-clk-dont-disable-unused-clocks.patch  |   2 +-
 ...TA-ahci_mvebu-enable-stop_engine-override.patch | 224 -
 .../531-ATA-ahci_mvebu-pmp-stop-errata-226.patch   |  13 +-
 13 files changed, 26 insertions(+), 258 deletions(-)
 delete mode 100644 
target/linux/mvebu/patches-4.14/530-ATA-ahci_mvebu-enable-stop_engine-override.patch

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 825a227915..52a8433ec6 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -5,12 +5,12 @@ LINUX_RELEASE?=1
 LINUX_VERSION-3.18 = .71
 LINUX_VERSION-4.4 = .121
 LINUX_VERSION-4.9 = .109
-LINUX_VERSION-4.14 = .50
+LINUX_VERSION-4.14 = .51
 
 LINUX_KERNEL_HASH-3.18.71 = 
5abc9778ad44ce02ed6c8ab52ece8a21c6d20d21f6ed8a19287b4a38a50c1240
 LINUX_KERNEL_HASH-4.4.121 = 
44a88268b5088dc326b30c9b9133ac35a9a200b636b7268d08f32abeae6ca729
 LINUX_KERNEL_HASH-4.9.109 = 
3dcd5654a553432119492b69e649c4ed117781bfd571edcb02346c945be359b0
-LINUX_KERNEL_HASH-4.14.50 = 
703a8d013b25dc428d936f72858fa0c702c22cb3114a040fb9bb47562e4ea2ac
+LINUX_KERNEL_HASH-4.14.51 = 
dab2402baa2444348f9b3c354e8f65382a466d1766942a57441209f9a2df972b
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1
 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst 
-,_,$(subst /,_,$(1)))
diff --git 
a/target/linux/arc770/patches-4.14/700-stmmac-Disable-frame-filtering-completely.patch
 
b/target/linux/arc770/patches-4.14/700-stmmac-Disable-frame-filtering-completely.patch
index 58094ae96d..e63c2e934b 100644
--- 
a/target/linux/arc770/patches-4.14/700-stmmac-Disable-frame-filtering-completely.patch
+++ 
b/target/linux/arc770/patches-4.14/700-stmmac-Disable-frame-filtering-completely.patch
@@ -20,7 +20,7 @@ Signed-off-by: Alexey Brodkin 
 
 --- a/drivers/net/ethernet/stmicro/stmmac/common.h
 +++ b/drivers/net/ethernet/stmicro/stmmac/common.h
-@@ -49,7 +49,7 @@
+@@ -46,7 +46,7 @@
  #define STMMAC_GET_ENTRY(x, size) ((x + 1) & (size - 1))
  
  #undef FRAME_FILTER_DEBUG
diff --git 
a/target/linux/generic/backport-4.14/324-v4.16-netfilter-flow-table-support-for-IPv6.patch
 
b/target/linux/generic/backport-4.14/324-v4.16-netfilter-flow-table-support-for-IPv6.patch
index a561f2669d..874195558c 100644
--- 
a/target/linux/generic/backport-4.14/324-v4.16-netfilter-flow-table-support-for-IPv6.patch
+++ 
b/target/linux/generic/backport-4.14/324-v4.16-netfilter-flow-table-support-for-IPv6.patch
@@ -45,7 +45,7 @@ Signed-off-by: Pablo Neira Ayuso 
  {
 --- a/net/ipv6/netfilter/Kconfig
 +++ b/net/ipv6/netfilter/Kconfig
-@@ -71,6 +71,14 @@ config NFT_FIB_IPV6
+@@ -99,6 +99,14 @@ config NFT_FIB_IPV6
  endif # NF_TABLES_IPV6
  endif # NF_TABLES
  
diff --git 
a/target/linux/generic/backport-4.14/329-v4.16-netfilter-improve-flow-table-Kconfig-dependencies.patch
 
b/target/linux/generic/backport-4.14/329-v4.16-netfilter-improve-flow-table-Kconfig-dependencies.patch
index c897c36724..7174723fc9 100644
--- 
a/target/linux/generic/backport-4.14/329-v4.16-netfilter-improve-flow-table-Kconfig-dependencies.patch
+++ 
b/target/linux/generic/backport-4.14/329-v4.16-netfilter-improve-flow-table-Kconfig-dependencies.patch
@@ -72,7 +72,7 @@ Signed-off-by: Pablo Neira Ayuso 
  
 --- a/net/ipv6/netfilter/Kconfig
 +++ b/net/ipv6/netfilter/Kconfig
-@@ -72,8 +72,9 @@ endif # NF_TABLES_IPV6
+@@ -100,8 +100,9 @@ endif # NF_TABLES_IPV6
  endif # NF_TABLES
  
  config NF_FLOW_TABLE_IPV6
diff --git 
a/target/linux/generic/backport-4.14/346-v4.16-netfilter-flowtable-infrastructure-depends-on-NETFIL.patch
 
b/target/linux/generic/backport-4.14/346-v4.16-netfilter-flowtable-infrastructure-depends-on-NETFIL.patch
index 5267fd2f67..162086e340 100644
--- 

[OpenWrt-Devel] [PATCH] wireguard: bump to 0.0.20180620

2018-06-20 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
0bc4230 version: bump snapshot
ed04799 poly1305: add missing string.h header
cbd4e34 compat: use stabler lkml links
caa718c ratelimiter: do not allow concurrent init and uninit
894ddae ratelimiter: mitigate reference underflow
0a8a62c receive: drop handshake packets if rng is not initialized
cad9e52 noise: wait for crng before taking locks
83c0690 netlink: maintain static_identity lock over entire private key update
0913f1c noise: take locks for ss precomputation
073f31a qemu: bump default kernel
bec4c48 wg-quick: android: don't forget to free compiled regexes
7ce2ef3 wg-quick: android: disable roaming to v6 networks when v4 is specified
9132be4 dns-hatchet: apply resolv.conf's selinux context to new resolv.conf
41a5747 simd: no need to restore fpu state when no preemption
6d7f0b0 simd: encapsulate fpu amortization into nice functions
f8b57d5 queueing: re-enable preemption periodically to lower latency
b7b193f queueing: remove useless spinlocks on sc
5bb62fe tools: getentropy requires 10.12
4e9f120 chacha20poly1305: use slow crypto on -rt kernels on arm too

Compiled-for: ar71xx, lantiq
Run-tested-on: ar71xx Archer C7 v2 & lantiq HH5a

Signed-off-by: Kevin Darbyshire-Bryant 
---
 package/network/services/wireguard/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/network/services/wireguard/Makefile 
b/package/network/services/wireguard/Makefile
index 3a5fd9cf3b..8edd556ea9 100644
--- a/package/network/services/wireguard/Makefile
+++ b/package/network/services/wireguard/Makefile
@@ -11,12 +11,12 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=wireguard
 
-PKG_VERSION:=0.0.20180531
+PKG_VERSION:=0.0.20180620
 PKG_RELEASE:=1
 
 PKG_SOURCE:=WireGuard-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://git.zx2c4.com/WireGuard/snapshot/
-PKG_HASH:=ff653095cc0e4c491ab6cd095ddf5d1db207f48f947fb92873a73220363f423c
+PKG_HASH:=b4db98ea751c8e667454f98ea1c15d704a784fe1bc093b03bd64575418a7c242
 
 PKG_LICENSE:=GPL-2.0 Apache-2.0
 PKG_LICENSE_FILES:=COPYING
-- 
2.15.2 (Apple Git-101.1)


--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel


[OpenWrt-Devel] [RFC PATCH] ltq_atm: burn ifx_atm_alloc_tx with fire

2018-06-18 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
Since commit  0276e1f7608a2b5252aee0c92c9834a150582ffe we no longer
call or use ifx_atm_alloc_tx and the pointed to function atm_alloc_tx.

Let's remove this unused code.

Tested on: BT HomeHub 5a

Signed-off-by: Kevin Darbyshire-Bryant 
---
 package/kernel/lantiq/ltq-atm/src/ltq_atm.c | 45 +
 1 file changed, 1 insertion(+), 44 deletions(-)

diff --git a/package/kernel/lantiq/ltq-atm/src/ltq_atm.c 
b/package/kernel/lantiq/ltq-atm/src/ltq_atm.c
index a8f787fdca..b7ac81ca80 100644
--- a/package/kernel/lantiq/ltq-atm/src/ltq_atm.c
+++ b/package/kernel/lantiq/ltq-atm/src/ltq_atm.c
@@ -187,7 +187,6 @@ static inline void u64_add_u32(ppe_u64_t, unsigned int, 
ppe_u64_t *);
  */
 static inline struct sk_buff* alloc_skb_rx(void);
 static inline struct sk_buff* alloc_skb_tx(unsigned int);
-struct sk_buff* atm_alloc_tx(struct atm_vcc *, unsigned int);
 static inline void atm_free_tx_skb_vcc(struct sk_buff *, struct atm_vcc *);
 static inline struct sk_buff *get_skb_rx_pointer(unsigned int);
 static inline int get_tx_desc(unsigned int);
@@ -261,8 +260,6 @@ EXPORT_SYMBOL(ifx_mei_atm_showtime_exit);
 
 #endif
 
-static struct sk_buff* (*ifx_atm_alloc_tx)(struct atm_vcc *, unsigned int) = 
NULL;
-
 static struct atm_priv_data g_atm_priv_data;
 
 static struct atmdev_ops g_ifx_atm_ops = {
@@ -430,8 +427,6 @@ static int ppe_open(struct atm_vcc *vcc)
 
/*  enable irq  */
if ( f_enable_irq ) {
-   ifx_atm_alloc_tx = atm_alloc_tx;
-
*MBOX_IGU1_ISRC = (1 << RX_DMA_CH_AAL) | (1 << RX_DMA_CH_OAM);
*MBOX_IGU1_IER  = (1 << RX_DMA_CH_AAL) | (1 << RX_DMA_CH_OAM);
 
@@ -480,10 +475,8 @@ static void ppe_close(struct atm_vcc *vcc)
clear_bit(conn, _atm_priv_data.conn_table);
 
/*  disable irq */
-   if ( g_atm_priv_data.conn_table == 0 ) {
+   if ( g_atm_priv_data.conn_table == 0 )
disable_irq(PPE_MAILBOX_IGU1_INT);
-   ifx_atm_alloc_tx = NULL;
-   }
 
/*  release bandwidth   */
switch ( vcc->qos.txtp.traffic_class )
@@ -785,42 +778,6 @@ static inline struct sk_buff* alloc_skb_tx(unsigned int 
size)
return skb;
 }
 
-struct sk_buff* atm_alloc_tx(struct atm_vcc *vcc, unsigned int size)
-{
-   int conn;
-   struct sk_buff *skb;
-
-   /*  oversize packet */
-   if ( size > aal5s_max_packet_size ) {
-   pr_err("atm_alloc_tx: oversize packet\n");
-   return NULL;
-   }
-   /*  send buffer overflow*/
-   if ( sk_wmem_alloc_get(sk_atm(vcc)) && !atm_may_send(vcc, size) ) {
-   pr_err("atm_alloc_tx: send buffer overflow\n");
-   return NULL;
-   }
-   conn = find_vcc(vcc);
-   if ( conn < 0 ) {
-   pr_err("atm_alloc_tx: unknown VCC\n");
-   return NULL;
-   }
-
-   skb = dev_alloc_skb(size);
-   if ( skb == NULL ) {
-   pr_err("atm_alloc_tx: sk buffer is used up\n");
-   return NULL;
-   }
-
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,13,0))
-   refcount_add(skb->truesize, _atm(vcc)->sk_wmem_alloc);
-#else
-   atomic_add(skb->truesize, _atm(vcc)->sk_wmem_alloc);
-#endif
-
-   return skb;
-}
-
 static inline void atm_free_tx_skb_vcc(struct sk_buff *skb, struct atm_vcc 
*vcc)
 {
if ( vcc->pop != NULL )
-- 
2.15.2 (Apple Git-101.1)


--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] lantiq: atm: fix ifx_atm driver integration

2018-06-18 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
When upstream kernel introduced commit c55fa3cccbc2c672e7f118be8f7484e53a8e9e77
we incorrectly updated our hack integration patch that updates atm/common.c

+++ b/net/atm/common.c
@@ -62,10 +62,16 @@ static void vcc_remove_socket(struct soc
write_unlock_irq(_sklist_lock);
 }

+struct sk_buff* (*ifx_atm_alloc_tx)(struct atm_vcc *, unsigned int) = NULL;
+EXPORT_SYMBOL(ifx_atm_alloc_tx);
+
 static bool vcc_tx_ready(struct atm_vcc *vcc, unsigned int size)
 {
struct sock *sk = sk_atm(vcc);

+   if (ifx_atm_alloc_tx != NULL)
+   return ifx_atm_alloc_tx(vcc, size)

The correct solution is to drop our ifx_atm_alloc_tx replacement hack
entirely and let the kernel do its thing.

In reality neither pppoatm or BR2684 interfaces actually hit this code,
so the incorrect integration would only be noticed with direct socket
calls which we are unaware of a use-case.

This is not the solution to pppoatm vc-mux failing to work which started
the whole investigation, but let's fix it up anyway.

With sincerest thanks to David Woodhouse  &
Mathias Kresin .

Tested-on: lantiq, BT HomeHub 5a

Signed-off-by: Kevin Darbyshire-Bryant 
---
 .../patches-4.14/0004-MIPS-lantiq-add-atm-hack.patch  | 19 ---
 1 file changed, 19 deletions(-)

diff --git 
a/target/linux/lantiq/patches-4.14/0004-MIPS-lantiq-add-atm-hack.patch 
b/target/linux/lantiq/patches-4.14/0004-MIPS-lantiq-add-atm-hack.patch
index 2c73cec55c..66ca2fd5ac 100644
--- a/target/linux/lantiq/patches-4.14/0004-MIPS-lantiq-add-atm-hack.patch
+++ b/target/linux/lantiq/patches-4.14/0004-MIPS-lantiq-add-atm-hack.patch
@@ -467,25 +467,6 @@ Signed-off-by: John Crispin 
  struct atm_trafprm {
unsigned char   traffic_class;  /* traffic class (ATM_UBR, ...) */
int max_pcr;/* maximum PCR in cells per second */
 a/net/atm/common.c
-+++ b/net/atm/common.c
-@@ -62,10 +62,16 @@ static void vcc_remove_socket(struct soc
-   write_unlock_irq(_sklist_lock);
- }
- 
-+struct sk_buff* (*ifx_atm_alloc_tx)(struct atm_vcc *, unsigned int) = NULL;
-+EXPORT_SYMBOL(ifx_atm_alloc_tx);
-+
- static bool vcc_tx_ready(struct atm_vcc *vcc, unsigned int size)
- {
-   struct sock *sk = sk_atm(vcc);
- 
-+  if (ifx_atm_alloc_tx != NULL)
-+  return ifx_atm_alloc_tx(vcc, size);
-+
-   if (sk_wmem_alloc_get(sk) && !atm_may_send(vcc, size)) {
-   pr_debug("Sorry: wmem_alloc = %d, size = %d, sndbuf = %d\n",
-sk_wmem_alloc_get(sk), size, sk->sk_sndbuf);
 --- a/net/atm/proc.c
 +++ b/net/atm/proc.c
 @@ -155,7 +155,7 @@ static void *vcc_seq_next(struct seq_fil
-- 
2.15.2 (Apple Git-101.1)


--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] kernel: atm: pppoatm fix vc-mux connection failures

2018-06-18 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
Backport a hot off the press upstream kernel ATM fix:

Preserve value of skb->truesize when accounting to vcc

"There's a hack in pskb_expand_head() to avoid adjusting skb->truesize
for certain skbs. Ideally it would cover ATM too. It doesn't. Just
stashing the accounted value and using it in atm_raw_pop() is probably
the easiest way to cope."

The issue was exposed by upstream with:

commit 14afee4b6092fde451ee17604e5f5c89da33e71e
Author: Reshetova, Elena 
Date:   Fri Jun 30 13:08:00 2017 +0300

net: convert sock.sk_wmem_alloc from atomic_t to refcount_t

But an earlier commit left the ticking timebomb:

158f323b9868 ("net: adjust skb->truesize in pskb_expand_head()

Sincerest thanks to Mathias Kresin  for debugging
assistance and to David Woodhouse  for further
guidance, cajoling & patience in interpreting the debug I was giving him
and producing a fix!

Fixes FS#1567

Signed-off-by: Kevin Darbyshire-Bryant 
---
 ...-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch | 172 +
 1 file changed, 172 insertions(+)
 create mode 100644 
target/linux/generic/backport-4.14/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch

diff --git 
a/target/linux/generic/backport-4.14/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch
 
b/target/linux/generic/backport-4.14/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch
new file mode 100644
index 00..06d00886f1
--- /dev/null
+++ 
b/target/linux/generic/backport-4.14/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch
@@ -0,0 +1,172 @@
+From 9bbe60a67be5a1c6f79b3c9be5003481a50529ff Mon Sep 17 00:00:00 2001
+From: David Woodhouse 
+Date: Sat, 16 Jun 2018 11:55:44 +0100
+Subject: atm: Preserve value of skb->truesize when accounting to vcc
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+ATM accounts for in-flight TX packets in sk_wmem_alloc of the VCC on
+which they are to be sent. But it doesn't take ownership of those
+packets from the sock (if any) which originally owned them. They should
+remain owned by their actual sender until they've left the box.
+
+There's a hack in pskb_expand_head() to avoid adjusting skb->truesize
+for certain skbs, precisely to avoid messing up sk_wmem_alloc
+accounting. Ideally that hack would cover the ATM use case too, but it
+doesn't — skbs which aren't owned by any sock, for example PPP control
+frames, still get their truesize adjusted when the low-level ATM driver
+adds headroom.
+
+This has always been an issue, it seems. The truesize of a packet
+increases, and sk_wmem_alloc on the VCC goes negative. But this wasn't
+for normal traffic, only for control frames. So I think we just got away
+with it, and we probably needed to send 2GiB of LCP echo frames before
+the misaccounting would ever have caused a problem and caused
+atm_may_send() to start refusing packets.
+
+Commit 14afee4b609 ("net: convert sock.sk_wmem_alloc from atomic_t to
+refcount_t") did exactly what it was intended to do, and turned this
+mostly-theoretical problem into a real one, causing PPPoATM to fail
+immediately as sk_wmem_alloc underflows and atm_may_send() *immediately*
+starts refusing to allow new packets.
+
+The least intrusive solution to this problem is to stash the value of
+skb->truesize that was accounted to the VCC, in a new member of the
+ATM_SKB(skb) structure. Then in atm_pop_raw() subtract precisely that
+value instead of the then-current value of skb->truesize.
+
+Fixes: 158f323b9868 ("net: adjust skb->truesize in pskb_expand_head()")
+Signed-off-by: David Woodhouse 
+Tested-by: Kevin Darbyshire-Bryant 
+Signed-off-by: David S. Miller 
+---
+ include/linux/atmdev.h | 15 +++
+ net/atm/br2684.c   |  3 +--
+ net/atm/clip.c |  3 +--
+ net/atm/common.c   |  3 +--
+ net/atm/lec.c  |  3 +--
+ net/atm/mpc.c  |  3 +--
+ net/atm/pppoatm.c  |  3 +--
+ net/atm/raw.c  |  4 ++--
+ 8 files changed, 23 insertions(+), 14 deletions(-)
+
+--- a/include/linux/atmdev.h
 b/include/linux/atmdev.h
+@@ -214,6 +214,7 @@ struct atmphy_ops {
+ struct atm_skb_data {
+   struct atm_vcc  *vcc;   /* ATM VCC */
+   unsigned long   atm_options;/* ATM layer options */
++  unsigned intacct_truesize;  /* truesize accounted to vcc */
+ };
+ 
+ #define VCC_HTABLE_SIZE 32
+@@ -241,6 +242,20 @@ void vcc_insert_socket(struct sock *sk);
+ 
+ void atm_dev_release_vccs(struct atm_dev *dev);
+ 
++static inline void atm_account_tx(struct atm_vcc *vcc, struct sk_buff *skb)
++{
++  /*
++   * Because ATM skbs may not belong to a sock (and we don't
++   * necessarily want to), skb->truesize may be adjusted,
++   * 

Re: [OpenWrt-Devel] [PATCH v2 2/2] kernel: atm: pppoatm fix vc-mux connection failures

2018-06-18 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---


> On 18 Jun 2018, at 08:06, David Woodhouse  wrote:
> 
> On Sat, 2018-06-16 at 08:36 +0000, Kevin Darbyshire-Bryant via openwrt-devel 
> wrote:
>> Backport a hot off the press upstream kernel ATM fix:
>> 
>> Preserve value of skb->truesize when accounting to vcc
>> 
>> "There's a hack in pskb_expand_head() to avoid adjusting skb->truesize
>> for certain skbs. Ideally it would cover ATM too. It doesn't. Just
>> stashing the accounted value and using it in atm_raw_pop() is probably
>> the easiest way to cope."
> 
> Please use the version that got committed upstream (although the
> differences are only in the commit message):
> https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git/commit/?id=9bbe60a67be5a1c6f79b3c9be5003481a50529ff

I certainly can do so and considered submitting a v3 yesterday…. I held off on 
the basis that I’d expect the fix to arrive back at us via the stable backports 
and the usual stream of kernel bumps that I keep an eye on also.   At that 
point our local patch would disappear anyway.  I can be persuaded to not be so 
bloody lazy :-)

Cheers,

Kevin D-B

012C ACB2 28C6 C53E 9775  9123 B3A2 389B 9DE2 334A

--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] lantiq: atm: fix ifx_atm driver integration

2018-06-16 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---


> On 16 Jun 2018, at 10:43, David Woodhouse  wrote:
> 
> 
>> The correct solution is to drop our ifx_atm_alloc_tx replacement hack
>> entirely and let the kernel do its thing.
> 
> You need to kill it in the ltq-atm driver too, surely? If you only kill
> the hook, the module won't load.

To paraphrase Edmund Blackadder III and the ‘Ravelling Nancy’ - I am one of 
these people who are quite happy
to use modules, but have no idea how they work :-)

# lsmod | grep atm
atm38610  6 ltq_atm_vr9,pppoatm,br2684
drv_mei_cpe   147967  2 ltq_atm_vr9,drv_dsl_cpe_api
ltq_atm_vr928749  1 
ppp_generic24546  8 pppoe,pppox,ppp_async,pppoatm
pppoatm 4080  1 

Looks okay to me but happy to take advice/instruction.

Cheers,

Kevin

--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH v2 1/2] lantiq: atm: fix ifx_atm driver integration

2018-06-16 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
When upstream kernel introduced commit c55fa3cccbc2c672e7f118be8f7484e53a8e9e77
we incorrectly updated our hack integration patch that updates atm/common.c

+++ b/net/atm/common.c
@@ -62,10 +62,16 @@ static void vcc_remove_socket(struct soc
write_unlock_irq(_sklist_lock);
 }

+struct sk_buff* (*ifx_atm_alloc_tx)(struct atm_vcc *, unsigned int) = NULL;
+EXPORT_SYMBOL(ifx_atm_alloc_tx);
+
 static bool vcc_tx_ready(struct atm_vcc *vcc, unsigned int size)
 {
struct sock *sk = sk_atm(vcc);

+   if (ifx_atm_alloc_tx != NULL)
+   return ifx_atm_alloc_tx(vcc, size)

The correct solution is to drop our ifx_atm_alloc_tx replacement hack
entirely and let the kernel do its thing.

In reality neither pppoatm or BR2684 interfaces actually hit this code,
so the incorrect integration would only be noticed with direct socket
calls which we are unaware of a use-case.

This is not the solution to pppoatm vc-mux failing to work which started
the whole investigation, but let's fix it up anyway.

With sincerest thanks to David Woodhouse  &
Mathias Kresin .

Tested-on: lantiq, BT HomeHub 5a

Signed-off-by: Kevin Darbyshire-Bryant 
---
v2 - tweak to contributor credits, signed off by typo and a bit of
original fix residue that was missed.

 .../patches-4.14/0004-MIPS-lantiq-add-atm-hack.patch  | 19 ---
 1 file changed, 19 deletions(-)

diff --git 
a/target/linux/lantiq/patches-4.14/0004-MIPS-lantiq-add-atm-hack.patch 
b/target/linux/lantiq/patches-4.14/0004-MIPS-lantiq-add-atm-hack.patch
index 2c73cec55c..66ca2fd5ac 100644
--- a/target/linux/lantiq/patches-4.14/0004-MIPS-lantiq-add-atm-hack.patch
+++ b/target/linux/lantiq/patches-4.14/0004-MIPS-lantiq-add-atm-hack.patch
@@ -467,25 +467,6 @@ Signed-off-by: John Crispin 
  struct atm_trafprm {
unsigned char   traffic_class;  /* traffic class (ATM_UBR, ...) */
int max_pcr;/* maximum PCR in cells per second */
 a/net/atm/common.c
-+++ b/net/atm/common.c
-@@ -62,10 +62,16 @@ static void vcc_remove_socket(struct soc
-   write_unlock_irq(_sklist_lock);
- }
- 
-+struct sk_buff* (*ifx_atm_alloc_tx)(struct atm_vcc *, unsigned int) = NULL;
-+EXPORT_SYMBOL(ifx_atm_alloc_tx);
-+
- static bool vcc_tx_ready(struct atm_vcc *vcc, unsigned int size)
- {
-   struct sock *sk = sk_atm(vcc);
- 
-+  if (ifx_atm_alloc_tx != NULL)
-+  return ifx_atm_alloc_tx(vcc, size);
-+
-   if (sk_wmem_alloc_get(sk) && !atm_may_send(vcc, size)) {
-   pr_debug("Sorry: wmem_alloc = %d, size = %d, sndbuf = %d\n",
-sk_wmem_alloc_get(sk), size, sk->sk_sndbuf);
 --- a/net/atm/proc.c
 +++ b/net/atm/proc.c
 @@ -155,7 +155,7 @@ static void *vcc_seq_next(struct seq_fil
-- 
2.15.1 (Apple Git-101)


--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH v2 2/2] kernel: atm: pppoatm fix vc-mux connection failures

2018-06-16 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
Backport a hot off the press upstream kernel ATM fix:

Preserve value of skb->truesize when accounting to vcc

"There's a hack in pskb_expand_head() to avoid adjusting skb->truesize
for certain skbs. Ideally it would cover ATM too. It doesn't. Just
stashing the accounted value and using it in atm_raw_pop() is probably
the easiest way to cope."

The issue was introduced in upstream by:

commit 14afee4b6092fde451ee17604e5f5c89da33e71e
Author: Reshetova, Elena 
Date:   Fri Jun 30 13:08:00 2017 +0300

net: convert sock.sk_wmem_alloc from atomic_t to refcount_t

Sincerest thanks to Mathias Kresin  for debugging
assistance and to David Woodhouse  for further
guidance, cajoling & patience in interpreting the debug I was giving him
and producing a fix!

Fixes FS#1567

Signed-off-by: Kevin Darbyshire-Bryant 
---
 ...-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch | 186 +
 1 file changed, 186 insertions(+)
 create mode 100644 
target/linux/generic/backport-4.14/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch

diff --git 
a/target/linux/generic/backport-4.14/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch
 
b/target/linux/generic/backport-4.14/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch
new file mode 100644
index 00..8108d99348
--- /dev/null
+++ 
b/target/linux/generic/backport-4.14/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch
@@ -0,0 +1,186 @@
+From 99967eb67d14b2ed17b194a8dac357d641a06e43 Mon Sep 17 00:00:00 2001
+From: David Woodhouse 
+Date: Fri, 15 Jun 2018 21:00:27 +0100
+Subject: [PATCH] net: convert sock.sk_wmem_alloc from atomic_t to refcount_t
+
+On Fri, 2018-06-15 at 14:44 +0100, David Woodhouse wrote:
+>
+> > Or simply use a new field in ATM_SKB(skb) to remember a stable
+> > truesize used in both sides (add/sub)
+>
+> Right, that was my second suggestion ("copy the accounted value...").
+>
+> It's a bit of a hack, and I think that actually *using* sock_wfree()
+> instead of what's currently in atm_pop_raw() would be the better
+> solution. Does anyone remember why we didn't do that in the first
+> place?
+
+That does end up being quite hairy. I don't think it's worth doing.
+
+This should probably suffice to fix it...
+
+Kevin this is going to conflict with the ifx_atm_alloc_skb() hack in
+the tree you're working on, but that needs to be killed with fire
+anyway. It's utterly pointless as discussed.
+
+From 3368eaeb0a2f09138894dde0f26f879e5228005a Mon Sep 17 00:00:00 2001
+From: David Woodhouse 
+Date: Fri, 15 Jun 2018 20:49:20 +0100
+Subject: [PATCH] atm: Preserve value of skb->truesize when accounting to vcc
+
+There's a hack in pskb_expand_head() to avoid adjusting skb->truesize
+for certain skbs. Ideally it would cover ATM too. It doesn't. Just
+stashing the accounted value and using it in atm_raw_pop() is probably
+the easiest way to cope.
+
+Signed-off-by: David Woodhouse 
+Signed-off-by: Kevin Darbyshire-Bryant 
+---
+ include/linux/atmdev.h | 15 +++
+ net/atm/br2684.c   |  3 +--
+ net/atm/clip.c |  3 +--
+ net/atm/common.c   |  3 +--
+ net/atm/lec.c  |  3 +--
+ net/atm/mpc.c  |  3 +--
+ net/atm/pppoatm.c  |  3 +--
+ net/atm/raw.c  |  4 ++--
+ 8 files changed, 23 insertions(+), 14 deletions(-)
+
+diff --git a/include/linux/atmdev.h b/include/linux/atmdev.h
+index 0c27515d..8124815e 100644
+--- a/include/linux/atmdev.h
 b/include/linux/atmdev.h
+@@ -214,6 +214,7 @@ struct atmphy_ops {
+ struct atm_skb_data {
+   struct atm_vcc  *vcc;   /* ATM VCC */
+   unsigned long   atm_options;/* ATM layer options */
++  unsigned intacct_truesize;  /* truesize accounted to vcc */
+ };
+ 
+ #define VCC_HTABLE_SIZE 32
+@@ -241,6 +242,20 @@ void vcc_insert_socket(struct sock *sk);
+ 
+ void atm_dev_release_vccs(struct atm_dev *dev);
+ 
++static inline void atm_account_tx(struct atm_vcc *vcc, struct sk_buff *skb)
++{
++  /*
++   * Because ATM skbs may not belong to a sock (and we don't
++   * necessarily want to), skb->truesize may be adjusted,
++   * escaping the hack in pskb_expand_head() which avoids
++   * doing so for some cases. So stash the value of truesize
++   * at the time we accounted it, and atm_pop_raw() can use
++   * that value later, in case it changes.
++   */
++  refcount_add(skb->truesize, _atm(vcc)->sk_wmem_alloc);
++  ATM_SKB(skb)->acct_truesize = skb->truesize;
++  ATM_SKB(skb)->atm_options = vcc->atm_options;
++}
+ 
+ static inline void atm_force_charge(struct atm_vcc *vcc,int truesize)
+ {
+diff --git a/net/atm/br2684.c b/net/atm/br2684.c
+index 4e96..bc21f8e8 100644
+--- a/net/atm/br2684.c
 

[OpenWrt-Devel] [PATCH 1/2] lantiq: atm: fix ifx_atm driver integration

2018-06-16 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
When upstream kernel introduced commit c55fa3cccbc2c672e7f118be8f7484e53a8e9e77
we incorrectly updated our hack integration patch that updates atm/common.c

+++ b/net/atm/common.c
@@ -62,10 +62,16 @@ static void vcc_remove_socket(struct soc
write_unlock_irq(_sklist_lock);
 }

+struct sk_buff* (*ifx_atm_alloc_tx)(struct atm_vcc *, unsigned int) = NULL;
+EXPORT_SYMBOL(ifx_atm_alloc_tx);
+
 static bool vcc_tx_ready(struct atm_vcc *vcc, unsigned int size)
 {
struct sock *sk = sk_atm(vcc);

+   if (ifx_atm_alloc_tx != NULL)
+   return ifx_atm_alloc_tx(vcc, size)

The correct solution is to drop our ifx_atm_alloc_tx replacement hack
entirely and let the kernel do its thing.

In reality neither pppoatm or BR2684 interfaces actually hit this code,
so the incorrect integration would only be noticed with direct socket
calls which we are unaware of a use-case.

This is not the solution to pppoatm vc-mux failing to work which started
the whole investigation, but let's fix it up anyway.

With sincerest thanks to dwmw2 & mkresin.

Tested-on: lantiq, BT HomeHub 5a

Signed-of-by: Kevin Darbyshire-Bryant 
Signed-off-by: Kevin Darbyshire-Bryant 
---
 .../lantiq/patches-4.14/0004-MIPS-lantiq-add-atm-hack.patch  | 9 +
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git 
a/target/linux/lantiq/patches-4.14/0004-MIPS-lantiq-add-atm-hack.patch 
b/target/linux/lantiq/patches-4.14/0004-MIPS-lantiq-add-atm-hack.patch
index 2c73cec55c..a3441f8533 100644
--- a/target/linux/lantiq/patches-4.14/0004-MIPS-lantiq-add-atm-hack.patch
+++ b/target/linux/lantiq/patches-4.14/0004-MIPS-lantiq-add-atm-hack.patch
@@ -469,7 +469,7 @@ Signed-off-by: John Crispin 
int max_pcr;/* maximum PCR in cells per second */
 --- a/net/atm/common.c
 +++ b/net/atm/common.c
-@@ -62,10 +62,16 @@ static void vcc_remove_socket(struct soc
+@@ -62,6 +62,9 @@ static void vcc_remove_socket(struct soc
write_unlock_irq(_sklist_lock);
  }
  
@@ -479,13 +479,6 @@ Signed-off-by: John Crispin 
  static bool vcc_tx_ready(struct atm_vcc *vcc, unsigned int size)
  {
struct sock *sk = sk_atm(vcc);
- 
-+  if (ifx_atm_alloc_tx != NULL)
-+  return ifx_atm_alloc_tx(vcc, size);
-+
-   if (sk_wmem_alloc_get(sk) && !atm_may_send(vcc, size)) {
-   pr_debug("Sorry: wmem_alloc = %d, size = %d, sndbuf = %d\n",
-sk_wmem_alloc_get(sk), size, sk->sk_sndbuf);
 --- a/net/atm/proc.c
 +++ b/net/atm/proc.c
 @@ -155,7 +155,7 @@ static void *vcc_seq_next(struct seq_fil
-- 
2.15.1 (Apple Git-101)


--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 2/2] kernel: atm: pppoatm fix vc-mux connection failures

2018-06-16 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
Backport a hot off the press upstream kernel ATM fix:

Preserve value of skb->truesize when accounting to vcc

"There's a hack in pskb_expand_head() to avoid adjusting skb->truesize
for certain skbs. Ideally it would cover ATM too. It doesn't. Just
stashing the accounted value and using it in atm_raw_pop() is probably
the easiest way to cope."

The issue was introduced in upstream by:

commit 14afee4b6092fde451ee17604e5f5c89da33e71e
Author: Reshetova, Elena 
Date:   Fri Jun 30 13:08:00 2017 +0300

net: convert sock.sk_wmem_alloc from atomic_t to refcount_t

Sincerest thanks to Mathias Kresin  for debugging
assistance and to David Woodhouse  for further
guidance, cajoling & patience in interpreting the debug I was giving him
and producing a fix!

Fixes FS#1567

Signed-off-by: Kevin Darbyshire-Bryant 
---
 ...-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch | 186 +
 1 file changed, 186 insertions(+)
 create mode 100644 
target/linux/generic/backport-4.14/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch

diff --git 
a/target/linux/generic/backport-4.14/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch
 
b/target/linux/generic/backport-4.14/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch
new file mode 100644
index 00..8108d99348
--- /dev/null
+++ 
b/target/linux/generic/backport-4.14/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch
@@ -0,0 +1,186 @@
+From 99967eb67d14b2ed17b194a8dac357d641a06e43 Mon Sep 17 00:00:00 2001
+From: David Woodhouse 
+Date: Fri, 15 Jun 2018 21:00:27 +0100
+Subject: [PATCH] net: convert sock.sk_wmem_alloc from atomic_t to refcount_t
+
+On Fri, 2018-06-15 at 14:44 +0100, David Woodhouse wrote:
+>
+> > Or simply use a new field in ATM_SKB(skb) to remember a stable
+> > truesize used in both sides (add/sub)
+>
+> Right, that was my second suggestion ("copy the accounted value...").
+>
+> It's a bit of a hack, and I think that actually *using* sock_wfree()
+> instead of what's currently in atm_pop_raw() would be the better
+> solution. Does anyone remember why we didn't do that in the first
+> place?
+
+That does end up being quite hairy. I don't think it's worth doing.
+
+This should probably suffice to fix it...
+
+Kevin this is going to conflict with the ifx_atm_alloc_skb() hack in
+the tree you're working on, but that needs to be killed with fire
+anyway. It's utterly pointless as discussed.
+
+From 3368eaeb0a2f09138894dde0f26f879e5228005a Mon Sep 17 00:00:00 2001
+From: David Woodhouse 
+Date: Fri, 15 Jun 2018 20:49:20 +0100
+Subject: [PATCH] atm: Preserve value of skb->truesize when accounting to vcc
+
+There's a hack in pskb_expand_head() to avoid adjusting skb->truesize
+for certain skbs. Ideally it would cover ATM too. It doesn't. Just
+stashing the accounted value and using it in atm_raw_pop() is probably
+the easiest way to cope.
+
+Signed-off-by: David Woodhouse 
+Signed-off-by: Kevin Darbyshire-Bryant 
+---
+ include/linux/atmdev.h | 15 +++
+ net/atm/br2684.c   |  3 +--
+ net/atm/clip.c |  3 +--
+ net/atm/common.c   |  3 +--
+ net/atm/lec.c  |  3 +--
+ net/atm/mpc.c  |  3 +--
+ net/atm/pppoatm.c  |  3 +--
+ net/atm/raw.c  |  4 ++--
+ 8 files changed, 23 insertions(+), 14 deletions(-)
+
+diff --git a/include/linux/atmdev.h b/include/linux/atmdev.h
+index 0c27515d..8124815e 100644
+--- a/include/linux/atmdev.h
 b/include/linux/atmdev.h
+@@ -214,6 +214,7 @@ struct atmphy_ops {
+ struct atm_skb_data {
+   struct atm_vcc  *vcc;   /* ATM VCC */
+   unsigned long   atm_options;/* ATM layer options */
++  unsigned intacct_truesize;  /* truesize accounted to vcc */
+ };
+ 
+ #define VCC_HTABLE_SIZE 32
+@@ -241,6 +242,20 @@ void vcc_insert_socket(struct sock *sk);
+ 
+ void atm_dev_release_vccs(struct atm_dev *dev);
+ 
++static inline void atm_account_tx(struct atm_vcc *vcc, struct sk_buff *skb)
++{
++  /*
++   * Because ATM skbs may not belong to a sock (and we don't
++   * necessarily want to), skb->truesize may be adjusted,
++   * escaping the hack in pskb_expand_head() which avoids
++   * doing so for some cases. So stash the value of truesize
++   * at the time we accounted it, and atm_pop_raw() can use
++   * that value later, in case it changes.
++   */
++  refcount_add(skb->truesize, _atm(vcc)->sk_wmem_alloc);
++  ATM_SKB(skb)->acct_truesize = skb->truesize;
++  ATM_SKB(skb)->atm_options = vcc->atm_options;
++}
+ 
+ static inline void atm_force_charge(struct atm_vcc *vcc,int truesize)
+ {
+diff --git a/net/atm/br2684.c b/net/atm/br2684.c
+index 4e96..bc21f8e8 100644
+--- a/net/atm/br2684.c
 

Re: [OpenWrt-Devel] [PATCH] ramips: mir3g: reduce usb power flapping at boot

2018-06-11 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---


> On 11 Jun 2018, at 15:56, Mathias Kresin  wrote:
> 
> 08.06.2018 20:45, Kevin Darbyshire-Bryant:
>> Define USB port power as set on by bootloader (which it is)  The power
>> gets cycled at kernel boot, but by defining as 'regulator-boot-on'
>> reduces the power off to power on at driver initial load & setup from
>> around 5 seconds to around 2 seconds.
>> Signed-off-by: Kevin Darbyshire-Bryant 
>> ---
>>  target/linux/ramips/dts/MIR3G.dts | 1 +
>>  1 file changed, 1 insertion(+)
>> diff --git a/target/linux/ramips/dts/MIR3G.dts 
>> b/target/linux/ramips/dts/MIR3G.dts
>> index 44dfc1796c..1ca085e6c4 100644
>> --- a/target/linux/ramips/dts/MIR3G.dts
>> +++ b/target/linux/ramips/dts/MIR3G.dts
>> @@ -72,6 +72,7 @@
>>  regulator-min-microvolt = <500>;
>>  regulator-max-microvolt = <500>;
>>  gpio = < 12 GPIO_ACTIVE_HIGH>;
>> +regulator-boot-on;
>>  enable-active-high;
>>  };
> 
> NAK on this one.
> 
> Following our conversation on IRC, I had a look at the fixed regulator code 
> to see what it really does. By default the regulator is disabled during 
> driver load[0]. The "regulator-boot-on" inverts the logic and enables the 
> regulator while loading the fixed regulator driver.
> 
> In my opinion, enabling the fixed regulator unconditionally on boot 
> contradicts your initial "switch to fixed regulator" patch. Without the 
> "regulator-boot-on", the GPIO is pulled LOW (usb pwr disabled) on boot and 
> it's the usb driver which enables the usb pwr (pulls HIGH) == controls the 
> power supply. This way the usb pwr stays/is off, if someone decides to not 
> include or load the usb driver.
> 
> Mathias
> 
> [0] 
> https://github.com/torvalds/linux/blob/master/drivers/regulator/fixed.c#L159

I ack your nack.  Absolutely fine reasoning.


Cheers,

Kevin D-B

012C ACB2 28C6 C53E 9775  9123 B3A2 389B 9DE2 334A


--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] kernel: bump 4.9 to 4.9.107

2018-06-09 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
Refresh patches.

Compile-tested for: ar71xx
Run-tested on: ar71xx Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant 
---
 include/kernel-version.mk  |   4 +-
 .../patches-4.9/910-unaligned_access_hacks.patch   |   2 +-
 ..._pl011-Don-t-use-DT-aliases-for-numbering.patch |   2 +-
 .../950-0195-amba_pl011-Round-input-clock-up.patch |   4 +-
 .../pending-4.9/890-uart_optional_sysrq.patch  |   2 +-
 .../sunxi/patches-4.9/0052-stmmac-form-4-12.patch  | 344 ++---
 6 files changed, 168 insertions(+), 190 deletions(-)

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 6c220f3f2a..f43344ab84 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -4,12 +4,12 @@ LINUX_RELEASE?=1
 
 LINUX_VERSION-3.18 = .71
 LINUX_VERSION-4.4 = .121
-LINUX_VERSION-4.9 = .106
+LINUX_VERSION-4.9 = .107
 LINUX_VERSION-4.14 = .48
 
 LINUX_KERNEL_HASH-3.18.71 = 
5abc9778ad44ce02ed6c8ab52ece8a21c6d20d21f6ed8a19287b4a38a50c1240
 LINUX_KERNEL_HASH-4.4.121 = 
44a88268b5088dc326b30c9b9133ac35a9a200b636b7268d08f32abeae6ca729
-LINUX_KERNEL_HASH-4.9.106 = 
2d409bb29588ea9a61bae006255ee97a675ded364c87a9ff43f687c5271bbe3c
+LINUX_KERNEL_HASH-4.9.107 = 
3ce7f40ecee096cda1d51eb2cada105a39abe8da7b968ef85f52be961f22cad3
 LINUX_KERNEL_HASH-4.14.48 = 
80a0608f611fe7a5c54556402cdc2880a21301e1c4e1b19d4c1db82ad2bf22b9
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1
diff --git a/target/linux/ar71xx/patches-4.9/910-unaligned_access_hacks.patch 
b/target/linux/ar71xx/patches-4.9/910-unaligned_access_hacks.patch
index 4c59876b82..1815ccb1d3 100644
--- a/target/linux/ar71xx/patches-4.9/910-unaligned_access_hacks.patch
+++ b/target/linux/ar71xx/patches-4.9/910-unaligned_access_hacks.patch
@@ -795,7 +795,7 @@
  
 --- a/net/ipv4/tcp_input.c
 +++ b/net/ipv4/tcp_input.c
-@@ -3894,14 +3894,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -3896,14 +3896,16 @@ static bool tcp_parse_aligned_timestamp(
  {
const __be32 *ptr = (const __be32 *)(th + 1);
  
diff --git 
a/target/linux/brcm2708/patches-4.9/950-0087-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch
 
b/target/linux/brcm2708/patches-4.9/950-0087-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch
index 07944df1e0..2710ed63d7 100644
--- 
a/target/linux/brcm2708/patches-4.9/950-0087-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch
+++ 
b/target/linux/brcm2708/patches-4.9/950-0087-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch
@@ -14,7 +14,7 @@ use the same logic.
 
 --- a/drivers/tty/serial/amba-pl011.c
 +++ b/drivers/tty/serial/amba-pl011.c
-@@ -2446,7 +2446,12 @@ static int pl011_setup_port(struct devic
+@@ -2501,7 +2501,12 @@ static int pl011_setup_port(struct devic
if (IS_ERR(base))
return PTR_ERR(base);
  
diff --git 
a/target/linux/brcm2708/patches-4.9/950-0195-amba_pl011-Round-input-clock-up.patch
 
b/target/linux/brcm2708/patches-4.9/950-0195-amba_pl011-Round-input-clock-up.patch
index 11293c360e..b981be02ac 100644
--- 
a/target/linux/brcm2708/patches-4.9/950-0195-amba_pl011-Round-input-clock-up.patch
+++ 
b/target/linux/brcm2708/patches-4.9/950-0195-amba_pl011-Round-input-clock-up.patch
@@ -68,7 +68,7 @@ Signed-off-by: Phil Elwell 
  
if (uap->vendor->fixed_options) {
baud = uap->fixed_baud;
-@@ -2377,6 +2394,7 @@ static struct uart_driver amba_reg = {
+@@ -2432,6 +2449,7 @@ static struct uart_driver amba_reg = {
.cons   = AMBA_CONSOLE,
  };
  
@@ -76,7 +76,7 @@ Signed-off-by: Phil Elwell 
  static int pl011_probe_dt_alias(int index, struct device *dev)
  {
struct device_node *np;
-@@ -2408,6 +2426,7 @@ static int pl011_probe_dt_alias(int inde
+@@ -2463,6 +2481,7 @@ static int pl011_probe_dt_alias(int inde
  
return ret;
  }
diff --git a/target/linux/generic/pending-4.9/890-uart_optional_sysrq.patch 
b/target/linux/generic/pending-4.9/890-uart_optional_sysrq.patch
index 6cb745ee33..b317070e52 100644
--- a/target/linux/generic/pending-4.9/890-uart_optional_sysrq.patch
+++ b/target/linux/generic/pending-4.9/890-uart_optional_sysrq.patch
@@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau 
  {
 --- a/lib/Kconfig.debug
 +++ b/lib/Kconfig.debug
-@@ -396,6 +396,11 @@ config MAGIC_SYSRQ_DEFAULT_ENABLE
+@@ -410,6 +410,11 @@ config MAGIC_SYSRQ_DEFAULT_ENABLE
  This may be set to 1 or 0 to enable or disable them all, or
  to a bitmask as described in Documentation/sysrq.txt.
  
diff --git a/target/linux/sunxi/patches-4.9/0052-stmmac-form-4-12.patch 
b/target/linux/sunxi/patches-4.9/0052-stmmac-form-4-12.patch
index 1ed1294694..a1b018186f 100644
--- a/target/linux/sunxi/patches-4.9/0052-stmmac-form-4-12.patch
+++ 

[OpenWrt-Devel] [PATCH] ramips: mir3g: reduce usb power flapping at boot

2018-06-08 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
Define USB port power as set on by bootloader (which it is)  The power
gets cycled at kernel boot, but by defining as 'regulator-boot-on'
reduces the power off to power on at driver initial load & setup from
around 5 seconds to around 2 seconds.

Signed-off-by: Kevin Darbyshire-Bryant 
---
 target/linux/ramips/dts/MIR3G.dts | 1 +
 1 file changed, 1 insertion(+)

diff --git a/target/linux/ramips/dts/MIR3G.dts 
b/target/linux/ramips/dts/MIR3G.dts
index 44dfc1796c..1ca085e6c4 100644
--- a/target/linux/ramips/dts/MIR3G.dts
+++ b/target/linux/ramips/dts/MIR3G.dts
@@ -72,6 +72,7 @@
regulator-min-microvolt = <500>;
regulator-max-microvolt = <500>;
gpio = < 12 GPIO_ACTIVE_HIGH>;
+   regulator-boot-on;
enable-active-high;
};
 
-- 
2.15.1 (Apple Git-101)


--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] ramips: mir3g dts define usb port Vcc volt regulator GPIO

2018-06-07 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
Define USB port power on/off GPO as voltage regulator type instead of
exposing as a normal GPIO.

The GPO is now controlled by the USB driver via the voltage regulator
definition.  The regulator is of fixed output type (5V for USB) hence the
GPO switches power on/off to USB pin 1 (Vcc)

USB port power is enabled on driver load and disabled on driver unload.

Enable kernel support for fixed voltage regulator types on mt7621.

Signed-off-by: Kevin Darbyshire-Bryant 
---
 target/linux/ramips/dts/MIR3G.dts  | 21 -
 target/linux/ramips/mt7621/config-4.14 |  2 ++
 2 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/target/linux/ramips/dts/MIR3G.dts 
b/target/linux/ramips/dts/MIR3G.dts
index efe98b0e10..44dfc1796c 100644
--- a/target/linux/ramips/dts/MIR3G.dts
+++ b/target/linux/ramips/dts/MIR3G.dts
@@ -66,16 +66,19 @@
};
};
 
-   gpio_export {
-   compatible = "gpio-export";
-   #size-cells = <0>;
-
-   usbpower {
-   gpio-export,name = "usbpower";
-   gpio-export,output = <1>;
-   gpios = < 12 GPIO_ACTIVE_HIGH>;
-   };
+   reg_usb_vbus: reg_usb_vbus {
+   compatible = "regulator-fixed";
+   regulator-name = "usb_vbus";
+   regulator-min-microvolt = <500>;
+   regulator-max-microvolt = <500>;
+   gpio = < 12 GPIO_ACTIVE_HIGH>;
+   enable-active-high;
};
+
+};
+
+ {
+   vbus-supply = <_usb_vbus>;
 };
 
  {
diff --git a/target/linux/ramips/mt7621/config-4.14 
b/target/linux/ramips/mt7621/config-4.14
index 3a5cd4296a..c19d735e5c 100644
--- a/target/linux/ramips/mt7621/config-4.14
+++ b/target/linux/ramips/mt7621/config-4.14
@@ -227,6 +227,8 @@ CONFIG_RCU_STALL_COMMON=y
 CONFIG_REGMAP=y
 CONFIG_REGMAP_I2C=y
 CONFIG_REGMAP_SPI=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
 CONFIG_RESET_CONTROLLER=y
 CONFIG_RFS_ACCEL=y
 CONFIG_RPS=y
-- 
2.15.1 (Apple Git-101)


--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] kernel: bump to 4.9.105

2018-05-31 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
Refresh patches.

Drop patches that have been upstreamed:
target/linux/ar71xx/patches-4.9/106-01-MIPS-ath79-fix-AR724X_PLL_REG_PCIE_CONFIG-offset.patch
target/linux/generic/backport-4.9/095-v4.12-ipv6-Need-to-export-ipv6_push_frag_opts-for-tunnelin.patch
target/linux/generic/pending-4.9/180-net-phy-at803x-add-support-for-AT8032.patch
target/linux/generic/pending-4.9/181-net-usb-add-lte-modem-wistron-neweb-d18q1.patch
target/linux/generic/pending-4.9/182-net-qmi_wwan-add-BroadMobi-BM806U-2020-2033.patch

Compile & run tested: ar71xx Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant 
---
 include/kernel-version.mk  |   4 +-
 ...h79-fix-AR724X_PLL_REG_PCIE_CONFIG-offset.patch |  29 --
 .../902-at803x-add-reset-gpio-pdata.patch  |   8 +-
 ...oid-suspending-if-we-re-in-gadget-mode-18.patch |   2 +-
 .../linux/brcm47xx/patches-4.9/159-cpu_fixes.patch |   8 +-
 ...tsq-move-tsq_flags-close-to-sk_wmem_alloc.patch |   2 +-
 .../050-usb-dwc2-Remove-unnecessary-kfree.patch|   2 +-
 ...llocate-struct-bgmac-just-once-don-t-copy.patch |   6 +-
 .../090-net-generalize-napi_complete_done.patch|  18 +-
 ...o-export-ipv6_push_frag_opts-for-tunnelin.patch |  36 --
 ...er.h-prevent-redefinition-of-struct-ethhd.patch |   2 +-
 .../hack-4.9/773-bgmac-add-srab-switch.patch   |   6 +-
 .../generic/hack-4.9/901-debloat_sock_diag.patch   |   2 +-
 ...-.rename2-and-add-RENAME_WHITEOUT-support.patch |   6 +-
 .../141-jffs2-add-RENAME_EXCHANGE-support.patch|   8 +-
 ...180-net-phy-at803x-add-support-for-AT8032.patch |  70 ---
 ...net-usb-add-lte-modem-wistron-neweb-d18q1.patch |  61 ---
 ...t-qmi_wwan-add-BroadMobi-BM806U-2020-2033.patch |  28 --
 .../pending-4.9/630-packet_socket_type.patch   |   6 +-
 .../666-Add-support-for-MAP-E-FMRs-mesh-mode.patch |  10 +-
 ...t-phy-at803x-allow-to-configure-via-pdata.patch |  12 +-
 .../735-net-phy-at803x-fix-at8033-sgmii-mode.patch |   2 +-
 .../generic/pending-4.9/834-ledtrig-libata.patch   |   8 +-
 .../pending-4.9/890-uart_optional_sysrq.patch  |   2 +-
 .../ixp4xx/patches-4.9/160-delayed_uart_io.patch   |   4 +-
 .../202-core-linux-support-layerscape.patch|   2 +-
 .../patches-4.9/702-pci-support-layerscape.patch   |   2 +-
 .../704-fsl-mc-layerscape-support.patch|   2 +-
 .../patches-4.9/810-iommu-support-layerscape.patch |   8 +-
 .../816-tty-serial-support-layerscape.patch|  10 +-
 .../patches-4.9/817-usb-support-layerscape.patch   |  32 +-
 .../100-powerpc-85xx-tl-wdr4900-v1-support.patch   |   4 +-
 .../sunxi/patches-4.9/0050-stmmac-form-4-10.patch  | 120 +++---
 .../sunxi/patches-4.9/0051-stmmac-form-4-11.patch  |  36 +-
 .../sunxi/patches-4.9/0052-stmmac-form-4-12.patch  | 468 ++---
 .../sunxi/patches-4.9/0053-stmmac-form-4-13.patch  |  16 +-
 36 files changed, 400 insertions(+), 642 deletions(-)
 delete mode 100644 
target/linux/ar71xx/patches-4.9/106-01-MIPS-ath79-fix-AR724X_PLL_REG_PCIE_CONFIG-offset.patch
 delete mode 100644 
target/linux/generic/backport-4.9/095-v4.12-ipv6-Need-to-export-ipv6_push_frag_opts-for-tunnelin.patch
 delete mode 100644 
target/linux/generic/pending-4.9/180-net-phy-at803x-add-support-for-AT8032.patch
 delete mode 100644 
target/linux/generic/pending-4.9/181-net-usb-add-lte-modem-wistron-neweb-d18q1.patch
 delete mode 100644 
target/linux/generic/pending-4.9/182-net-qmi_wwan-add-BroadMobi-BM806U-2020-2033.patch

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 2c6adc8ab0..877fa880f5 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -4,12 +4,12 @@ LINUX_RELEASE?=1
 
 LINUX_VERSION-3.18 = .71
 LINUX_VERSION-4.4 = .121
-LINUX_VERSION-4.9 = .102
+LINUX_VERSION-4.9 = .105
 LINUX_VERSION-4.14 = .44
 
 LINUX_KERNEL_HASH-3.18.71 = 
5abc9778ad44ce02ed6c8ab52ece8a21c6d20d21f6ed8a19287b4a38a50c1240
 LINUX_KERNEL_HASH-4.4.121 = 
44a88268b5088dc326b30c9b9133ac35a9a200b636b7268d08f32abeae6ca729
-LINUX_KERNEL_HASH-4.9.102 = 
d155a36ba52d5809805cd370902582ac373c5b23a958c6424325684447119dc5
+LINUX_KERNEL_HASH-4.9.105 = 
d085d228e3ac1fdbdf5a31bb8154e4e8a0943a9085f0384842601db8e9d96dc4
 LINUX_KERNEL_HASH-4.14.44 = 
2eb356e6af25f6ca65affe7704be8c4e0cdf224505e7441ac9d5b6e8d96ec8e4
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1
diff --git 
a/target/linux/ar71xx/patches-4.9/106-01-MIPS-ath79-fix-AR724X_PLL_REG_PCIE_CONFIG-offset.patch
 
b/target/linux/ar71xx/patches-4.9/106-01-MIPS-ath79-fix-AR724X_PLL_REG_PCIE_CONFIG-offset.patch
deleted file mode 100644
index e785b30eff..00
--- 
a/target/linux/ar71xx/patches-4.9/106-01-MIPS-ath79-fix-AR724X_PLL_REG_PCIE_CONFIG-offset.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 

[OpenWrt-Devel] [PATCH] nettle: bump to 3.4

2018-05-30 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
3.4 is mainly a bug fix/maintenance release.

3KB increase in ipk lib size on mips.

Compile tested for: ar71xx, ramips
Run tested on: ar71xx Archer C7 v2, ramips mir3g

Signed-off-by: Kevin Darbyshire-Bryant 
---
 package/libs/nettle/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/libs/nettle/Makefile b/package/libs/nettle/Makefile
index 172b5b2563..67889d079b 100644
--- a/package/libs/nettle/Makefile
+++ b/package/libs/nettle/Makefile
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nettle
-PKG_VERSION:=3.3
+PKG_VERSION:=3.4
 PKG_RELEASE:=1
 PKG_USE_MIPS16:=0
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@GNU/nettle
-PKG_HASH:=46942627d5d0ca11720fec18d81fc38f7ef837ea4197c1f630e71ce0d470b11e
+PKG_HASH:=ae7a42df026550b85daca8389b6a60ba6313b0567f374392e54918588a411e94
 
 PKG_LICENSE:=GPL-2.0+
 PKG_LICENSE_FILES:=COPYING
-- 
2.15.1 (Apple Git-101)


--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 0/4 RFCv2] Realtek SMI RTL836x DSA driver

2018-05-29 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---


> On 29 May 2018, at 19:41, Linus Walleij  wrote:
> 
> On Tue, May 29, 2018 at 2:24 PM, Andrew Lunn  wrote:
> 
>> Did you look at the switch end? I found a datasheet for the
>> 8366/8369. Register at 0x0050, P8GCR. It has two bits for RGMII
>> delays.
> 
> Unfortunately this datasheet is not applicable to RTL8366RB.
> 
> RTL documentation and model numbers are a complete mess
> around the time when this chip came out, unfortunately... I even
> started to implement using that datasheet and had to toss a bunch
> of stuff away.
> 
> There might not even be a proper datasheet for RTL8366RB,
> I'm afraid. The best we have is different (3 different AFAICT)
> vendor code drops. Here is one drop over at DD-WRT:
> https://svn.dd-wrt.com//browser/src/linux/universal/linux-3.2/drivers/net/ethernet/raeth/rb
> 
> As you can see, the RTL8366RB vendor driver consists of
> a hacked version of their RTL8368S driver, so apparently those
> two ASICs are similar, they even kept the same filenames.
> 
> For example the register defintions:
> https://svn.dd-wrt.com/browser/src/linux/universal/linux-3.2/drivers/net/ethernet/raeth/rb/rtl8368s_reg.h
> 
>> With RGMII delays, you have 3 'choices'.
>> 
>> 1) The hardware design includes the delay, by zig-zagging the clock
>> line to make it longer.
>> 2) The 'MAC' side does the delay.
>> 3) The 'PHY' side does the delay.
>> 
>> I normally recommend the PHY side doing it, because that's what most
>> board do. Gives us some consistency. But it does not really
>> matter. Just make sure one side, and only once side is inserting the
>> delays.
> 
> Makes sense! But I haven't found anything applicable in the
> RTL8366RB registers.
> 
> There are some jam tables with magic values written all over
> the place that have no documentation, I fear this is one of the
> settings poked around with there.
> 
> However, even if this router did not come with any code for
> the RTL8366RB driver, I disassembled the binary to verify
> that they use the same magic jam table, so the ASIC is
> initialized in the same way.
> 
> Yours,
> Linus Walleij
> 
> ___
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/listinfo/openwrt-devel

Oh lordy, that horrible device as exhibited in the netgear DGN3500.  Talk about 
magic values 
https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=42120bd7f323ff7170b32a5fd4674babd8b184bc

Cheers,

Kevin D-B

012C ACB2 28C6 C53E 9775  9123 B3A2 389B 9DE2 334A



signature.asc
Description: Message signed with OpenPGP
--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel


Re: [OpenWrt-Devel] FS#1567 reported: making openrwrt unusable (BT Home Hub 5) since between r6080 and r7050

2018-05-29 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---


> On 29 May 2018, at 08:57, David Woodhouse  wrote:
> 
> On Mon, 2018-05-28 at 14:08 +0000, Kevin Darbyshire-Bryant via openwrt-
> devel wrote:
>> 
>> I have a local-ish ‘tame’ ISP (AAISP) who might let me visit the
>> office and try a test line there… but I’d have to book & arrange it.
>> 
>> Or I could get a second line installed at home for £130+ for a
>> month.   H.  Would be good to have a UK based tester of
>> ADSL/BT/Openwrt compatibility.
> 
> I used to, but I've also upgraded to VDSL.
> 
> I note that the bug at
> https://bugs.openwrt.org/index.php?do=details_id=1567 even
> *mentions* that it looks similar in some ways to FS#1247... but doesn't
> include the PPP debug information requested in the latter. Mauro?
> 
> And is it just PPPoA, or also PPPoEoA (i.e. BR2684)?

In 24 hours I’ll hit the go button on £130 to get a 2nd line installed here at 
home with ADSL on BT’s network using AAISP.  That way I can be sat in front of 
a HH5a (with serial access if it really comes to that) and hopefully answer any 
questions that are flung my way.

Anyone who has a better alternative has until 14:00 GMT Wednesday 30th May to 
stop me.

Cheers,

Kevin D-B

012C ACB2 28C6 C53E 9775  9123 B3A2 389B 9DE2 334A



signature.asc
Description: Message signed with OpenPGP
--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] curl: Use ca-bundle for all TLS libraries.

2018-05-28 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---


> On 27 May 2018, at 23:13, Rosen Penev  wrote:
> 
> It simplifies the Makefile a bit. In addition, using ca-bundle
> saves some space as well.
> 
> It also fixes an issue with at least transmission, which has a dependency
> on ca-bundle, but currently libcurl with OpenSSL or GnuTLS cause it not
> to work.
> 
> This has been tested on mt7621 with OpenSSL and GnuTLS just by running
> 'curl https://www.google.com' and seeing if there's a verify error.
> The rest are already using ca-bundle and therefore work fine.
> 
> Signed-off-by: Rosen Penev 
> ---
> package/network/utils/curl/Makefile | 10 ++
> 1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/package/network/utils/curl/Makefile 
> b/package/network/utils/curl/Makefile
> index 92b3cab7dd..ae8cc31edc 100644
> --- a/package/network/utils/curl/Makefile
> +++ b/package/network/utils/curl/Makefile
> @@ -112,13 +112,15 @@ CONFIGURE_ARGS += \
>   --without-libmetalink \
>   --without-librtmp \
>   --without-libidn \
> + --without-ca-path \
> + --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \
>   \
>   $(call autoconf_bool,CONFIG_IPV6,ipv6) \
>   \
> - $(if $(CONFIG_LIBCURL_WOLFSSL),--with-cyassl="$(STAGING_DIR)/usr" 
> --without-ca-path 
> --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt,--without-cyassl) \
> - $(if $(CONFIG_LIBCURL_GNUTLS),--with-gnutls="$(STAGING_DIR)/usr" 
> --without-ca-bundle --with-ca-path=/etc/ssl/certs,--without-gnutls) \
> - $(if $(CONFIG_LIBCURL_OPENSSL),--with-ssl="$(STAGING_DIR)/usr" 
> --without-ca-bundle --with-ca-path=/etc/ssl/certs,--without-ssl) \
> - $(if $(CONFIG_LIBCURL_MBEDTLS),--with-mbedtls="$(STAGING_DIR)/usr" 
> --without-ca-path 
> --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt,--without-mbedtls) \
> + $(if 
> $(CONFIG_LIBCURL_WOLFSSL),--with-cyassl="$(STAGING_DIR)/usr",--without-cyassl)
>  \
> + $(if 
> $(CONFIG_LIBCURL_GNUTLS),--with-gnutls="$(STAGING_DIR)/usr",--without-gnutls) 
> \
> + $(if 
> $(CONFIG_LIBCURL_OPENSSL),--with-ssl="$(STAGING_DIR)/usr",--without-ssl) \
> + $(if 
> $(CONFIG_LIBCURL_MBEDTLS),--with-mbedtls="$(STAGING_DIR)/usr",--without-mbedtls)
>  \
>   \
>   $(if 
> $(CONFIG_LIBCURL_LIBIDN2),--with-libidn2="$(STAGING_DIR)/usr",--without-libidn2)
>  \
>   $(if 
> $(CONFIG_LIBCURL_SSH2),--with-libssh2="$(STAGING_DIR)/usr",--without-libssh2) 
> \
> --
> 2.17.0
> 
> 
> ___
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> http://lists.infradead.org/mailman/listinfo/openwrt-devel


Works for me and has solved a long annoying issue of needing both ca-bundle & 
ca-certs installed (ddns-scripts v znc), hence taking twice the space in rom.

Tested-by: Kevin Darbyshire-Bryant 


Cheers,

Kevin D-B

012C ACB2 28C6 C53E 9775  9123 B3A2 389B 9DE2 334A



signature.asc
Description: Message signed with OpenPGP
--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
http://lists.infradead.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] FS#1567 reported: making openrwrt unusable (BT Home Hub 5) since between r6080 and r7050

2018-05-28 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---


> On 28 May 2018, at 14:52, Mauro Mozzarelli  wrote:
> 
> Neither it is to post an arrogant reply which is the only type of reply I get 
> usually from Jo-Philipp as this isn't the first time. You reap what you seed 
> guys.

Oh dear.

This is somewhat frustrating for me as I have a HH5a but no ADSL line to test 
it on.  The mention of VCI/VPI 0.38 suggests this is UK, where I also am.  The 
VDSL line (SKY isp) I have won’t do ADSL and hence PPPoA for testing.

I have a local-ish ‘tame’ ISP (AAISP) who might let me visit the office and try 
a test line there… but I’d have to book & arrange it.

Or I could get a second line installed at home for £130+ for a month.   H.  
Would be good to have a UK based tester of ADSL/BT/Openwrt compatibility.

Cheers,

Kevin D-B

012C ACB2 28C6 C53E 9775  9123 B3A2 389B 9DE2 334A



signature.asc
Description: Message signed with OpenPGP
--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
http://lists.infradead.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 2/2] kmod-sched-cake: RFC latest cake

2018-05-22 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
This bumps to the latest & possibly greatest cake support for tc.
It's not without problems, the netlink api is used to transfer data
between userspace (tc) and kernel space (sch_cake kmod) and we've
started sending 64bit values across it.

For reasons we don't understand, this is fine on some platforms and not
so good on others. e.g. tc -s qdisc show dev net_device_running_cake
won't return all the tin stats on some archs (MIPS r32 BE).

Assistance required!  Bug in openwrt?  Bug in our code?  Endian issue?

Signed-off-by: Kevin Darbyshire-Bryant 
---
 package/kernel/kmod-sched-cake/Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/package/kernel/kmod-sched-cake/Makefile 
b/package/kernel/kmod-sched-cake/Makefile
index ad49bdaa19..6a20c4bc55 100644
--- a/package/kernel/kmod-sched-cake/Makefile
+++ b/package/kernel/kmod-sched-cake/Makefile
@@ -13,9 +13,9 @@ PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/dtaht/sch_cake.git
-PKG_SOURCE_DATE:=2018-05-15
-PKG_SOURCE_VERSION:=779e91a91e803cf2b95a6a46de721d3a4fd4dfe6
-PKG_MIRROR_HASH:=2bd1e9aee6d53a2a140ad5ece6d8eeccbfb8ae8c788e84f9dd946e29abb64010
+PKG_SOURCE_DATE:=2018-05-22
+PKG_SOURCE_VERSION:=f65daf6756826c9a4a11dac2d98b68c152e9619d
+PKG_MIRROR_HASH:=c68368923e7ba29f86aec992a19e8831af0915f578c23196bba3a3ffb9d77b1e
 PKG_MAINTAINER:=Kevin Darbyshire-Bryant 
 
 include $(INCLUDE_DIR)/package.mk
-- 
2.15.1 (Apple Git-101)


--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
http://lists.infradead.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 1/2] iproute2: RFC update cake support

2018-05-22 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
This bumps to the latest & possibly greatest cake support for tc.
It's not without problems, the netlink api is used to transfer data
between userspace (tc) and kernel space (sch_cake kmod) and we've
started sending 64bit values across it.

For reasons we don't understand, this is fine on some platforms and not
so good on others. e.g. tc -s qdisc show dev net_device_running_cake
won't return all the tin stats on some archs (MIPS r32 BE).

Assistance required!  Bug in openwrt?  Bug in our code?  Endian issue?

Signed-off-by: Kevin Darbyshire-Bryant 
---
 .../iproute2/patches/950-add-cake-to-tc.patch  | 111 +++--
 1 file changed, 83 insertions(+), 28 deletions(-)

diff --git a/package/network/utils/iproute2/patches/950-add-cake-to-tc.patch 
b/package/network/utils/iproute2/patches/950-add-cake-to-tc.patch
index 3c2cdaaac3..f453af9d2e 100644
--- a/package/network/utils/iproute2/patches/950-add-cake-to-tc.patch
+++ b/package/network/utils/iproute2/patches/950-add-cake-to-tc.patch
@@ -1,13 +1,14 @@
 --- a/include/uapi/linux/pkt_sched.h
 +++ b/include/uapi/linux/pkt_sched.h
-@@ -934,4 +934,110 @@ enum {
+@@ -934,4 +934,118 @@ enum {
  
  #define TCA_CBS_MAX (__TCA_CBS_MAX - 1)
  
 +/* CAKE */
 +enum {
 +  TCA_CAKE_UNSPEC,
-+  TCA_CAKE_BASE_RATE,
++  TCA_CAKE_PAD,
++  TCA_CAKE_BASE_RATE64,
 +  TCA_CAKE_DIFFSERV_MODE,
 +  TCA_CAKE_ATM,
 +  TCA_CAKE_FLOW_MODE,
@@ -29,7 +30,8 @@
 +
 +enum {
 +  __TCA_CAKE_STATS_INVALID,
-+  TCA_CAKE_STATS_CAPACITY_ESTIMATE,
++  TCA_CAKE_STATS_PAD,
++  TCA_CAKE_STATS_CAPACITY_ESTIMATE64,
 +  TCA_CAKE_STATS_MEMORY_LIMIT,
 +  TCA_CAKE_STATS_MEMORY_USED,
 +  TCA_CAKE_STATS_AVG_NETOFF,
@@ -38,6 +40,12 @@
 +  TCA_CAKE_STATS_MIN_ADJLEN,
 +  TCA_CAKE_STATS_MAX_ADJLEN,
 +  TCA_CAKE_STATS_TIN_STATS,
++  TCA_CAKE_STATS_DEFICIT,
++  TCA_CAKE_STATS_COBALT_COUNT,
++  TCA_CAKE_STATS_DROPPING,
++  TCA_CAKE_STATS_DROP_NEXT_US,
++  TCA_CAKE_STATS_P_DROP,
++  TCA_CAKE_STATS_BLUE_TIMER_US,
 +  __TCA_CAKE_STATS_MAX
 +};
 +#define TCA_CAKE_STATS_MAX (__TCA_CAKE_STATS_MAX - 1)
@@ -54,8 +62,8 @@
 +  TCA_CAKE_TIN_STATS_ECN_MARKED_PACKETS,
 +  TCA_CAKE_TIN_STATS_ECN_MARKED_BYTES64,
 +  TCA_CAKE_TIN_STATS_BACKLOG_PACKETS,
-+  TCA_CAKE_TIN_STATS_BACKLOG_BYTES64,
-+  TCA_CAKE_TIN_STATS_THRESHOLD_RATE,
++  TCA_CAKE_TIN_STATS_BACKLOG_BYTES,
++  TCA_CAKE_TIN_STATS_THRESHOLD_RATE64,
 +  TCA_CAKE_TIN_STATS_TARGET_US,
 +  TCA_CAKE_TIN_STATS_INTERVAL_US,
 +  TCA_CAKE_TIN_STATS_WAY_INDIRECT_HITS,
@@ -758,7 +766,7 @@
  TCMODULES += q_hhf.o
 --- /dev/null
 +++ b/tc/q_cake.c
-@@ -0,0 +1,749 @@
+@@ -0,0 +1,796 @@
 +/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */
 +/*
 + * Common Applications Kept Enhanced  --  CAKE
@@ -831,7 +839,7 @@
 +struct nlmsghdr *n, const char *dev)
 +{
 +  int unlimited = 0;
-+  unsigned bandwidth = 0;
++  __u64 bandwidth = 0;
 +  unsigned interval = 0;
 +  unsigned target = 0;
 +  unsigned diffserv = 0;
@@ -853,7 +861,7 @@
 +  while (argc > 0) {
 +  if (strcmp(*argv, "bandwidth") == 0) {
 +  NEXT_ARG();
-+  if (get_rate(, *argv)) {
++  if (get_rate64(, *argv)) {
 +  fprintf(stderr, "Illegal \"bandwidth\"\n");
 +  return -1;
 +  }
@@ -1088,7 +1096,7 @@
 +  tail = NLMSG_TAIL(n);
 +  addattr_l(n, 1024, TCA_OPTIONS, NULL, 0);
 +  if (bandwidth || unlimited)
-+  addattr_l(n, 1024, TCA_CAKE_BASE_RATE, , 
sizeof(bandwidth));
++  addattr_l(n, 1024, TCA_CAKE_BASE_RATE64, , 
sizeof(bandwidth));
 +  if (diffserv)
 +  addattr_l(n, 1024, TCA_CAKE_DIFFSERV_MODE, , 
sizeof(diffserv));
 +  if (atm != -1)
@@ -1128,7 +1136,7 @@
 +static int cake_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 +{
 +  struct rtattr *tb[TCA_CAKE_MAX + 1];
-+  unsigned bandwidth = 0;
++  __u64 bandwidth = 0;
 +  unsigned diffserv = 0;
 +  unsigned flowmode = 0;
 +  unsigned interval = 0;
@@ -1151,9 +1159,9 @@
 +
 +  parse_rtattr_nested(tb, TCA_CAKE_MAX, opt);
 +
-+  if (tb[TCA_CAKE_BASE_RATE] &&
-+  RTA_PAYLOAD(tb[TCA_CAKE_BASE_RATE]) >= sizeof(__u32)) {
-+  bandwidth = rta_getattr_u32(tb[TCA_CAKE_BASE_RATE]);
++  if (tb[TCA_CAKE_BASE_RATE64] &&
++  RTA_PAYLOAD(tb[TCA_CAKE_BASE_RATE64]) >= sizeof(bandwidth)) {
++  bandwidth = rta_getattr_u64(tb[TCA_CAKE_BASE_RATE64]);
 +  if(bandwidth) {
 +  

[OpenWrt-Devel] [PATCH 0/2] RFC bumps to latest cake

2018-05-22 Thread Kevin Darbyshire-Bryant via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
This bumps to the latest & possibly greatest cake support for tc.
It's not without problems, the netlink api is used to transfer data
between userspace (tc) and kernel space (sch_cake kmod) and we've
started sending 64bit values across it.

For reasons we don't understand, this is fine on some platforms and not
so good on others. e.g. tc -s qdisc show dev net_device_running_cake
won't return all the tin stats on some archs (MIPS r32 BE).

Assistance required!  Bug in openwrt?  Bug in our code?  Endian issue?

Testing, reports, ideas, fixes especially welcome :-)

Kevin Darbyshire-Bryant (2):
  iproute2: RFC update cake support
  kmod-sched-cake: RFC latest cake

 package/kernel/kmod-sched-cake/Makefile|   6 +-
 .../iproute2/patches/950-add-cake-to-tc.patch  | 111 +++--
 2 files changed, 86 insertions(+), 31 deletions(-)

-- 
2.15.1 (Apple Git-101)


--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
http://lists.infradead.org/mailman/listinfo/openwrt-devel