IPQ40XX: Introduce Kernel Flag

Nick vincent at systemli.org
Fri Nov 27 17:21:08 EST 2020


As I understand the issue, it is the the network-hardware that is 
causing the problem.
I did not have the time to lookup that all the flags in the driver and 
what they do.

As u can see, some "NETIF_F_HW_VLAN_CTAG_TX" is disabled and I have no 
idea why. I think this drops my tx-speed when I send on a tagged port to 
5~10 MBit/s with huge erros (probably some ring buffer overflowing since 
the hardware offload is disabled). Probably, if you have nested vlan, 
the flag causes some trouble.

"NETIF_F_RXHASH" is also disabled, but I don't know if this has directly 
an impact on what we are doing.

If we do not set "if (port ==0) t |= AR40XX_PORT_VLAN1_CORE_PORT;", you 
can not receive a package and give it tagged to the cpu.

I'm just guessing by the name, what the flags are doing... So not sure 
if this is correct what I write.

Maybe I find the time to search for a datasheet and lookup the stuff 
again and write a detailed description.
For now this PR makes things just more easy to maintain for the people 
who want to use port isolation, since we can just adjust the kernel config.

We build our Freifunk-Network with ipq40xx devices. This is why it is so 
important for me.
I would like if "CONFIG_IPQ40XX_PORT_ISOLATION=y" is enabled by default, 
so we can just use the openwrt imagebuilder for our firmware, but even 
if it is disabled by default, I would benefit from it.

But if u want, I can switch to a "DT property".

On 11/27/20 10:05 PM, Andreas Oberritter wrote:
> Hi Nick,
>
> On Fri, 27 Nov 2020 09:43:58 +0100
> Nick <vincent at systemli.org> wrote:
>
>> The current ipq40xx network stack does no longer work for a few targets:
>> - Zyxel
>> - Fritz!Box 4040
>> - Fritz!Box 7530
>> - ZyXEL NBG6617
>> - GL-B1300
>> - ...
>>
>> Can we please finally add my PR? I introduced a kernel flag that is
>> about switching between the different options
>> 1. Port Isolation
>> 2. Nested VLANs
>> ith this I hope to satisfy both sides.
>>
>> Here is the PR:
>> https://github.com/openwrt/openwrt/pull/3596
> if this is a device specific setting, wouldn't it be better to use a DT property instead of adding a new compile-time switch?
>
> Best regards,
> Andreas



More information about the openwrt-devel mailing list