Ipq40xx: How do you compile?

How do u currently compile the ipq40xx soc?
I try to have an updated patch that reverts the changes that introduce neststed vlans instead of port isolation

Suddenly,I have some kernel errors. :confused:
@robimarko could u maybe have a quick look, if the patch is correct?

As a sudo-user, install at least these packages:

gcc binutils bzip2 flex python3 perl make find grep diff unzip gawk getopt
subversion libz-dev libc-dev

As a non-root user:

git clone https://github.com/openwrt/openwrt.git
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
nano the_file_you_want_to_edit
make
1 Like

It would help us if you provide us this useful information.

Yeah, some logs at least

@juppin, @robimarko: IP40XX: Kernel Warning?

Hm, looks like a netfilter issue.
I have not seen it yet

So the patch is correct?

That I cant verify, but I have been using a tree at work that never had the VLAN flag removed and have never seen that warning

1 Like

@robimarko Can we maybe add a kernel flag, that chooses which version we compile? Then I would make a PR. Would that be accepted?
Our wireless community relies on the ip40xx SOCs, and I would like to have that upstream, that u can just set a flag, that defines if u want port-isolation or nested-vlans. Or is that a dump idea?

I mean, you can have an ifdef inside the driver, but how would you choose that?

Like Felix did here? Then I can just do this as kernel parameter, without applying a patch.

That is what I mean, you can easily check whether a symbol is enabled.
But I cant see that being accepted into master honestly.

Who decides that?

Maybe I'm doing something wrong with the upstream config? Actually I don't need port isolation, just trunked ports. Could u maybe give ma a config and device which u are using and testing? Then I can maybe reproduce that on my side and see how I can use that. And maybe I can look into the driver again and finde the failure (do u have some doku?). Are u using a single port device or device with a switch?

VLAN 0,10,11,12,13 <-> IP40xx (Zyxel or Fritz!Box4040) tagged to CPU <-> VLAN 0,10,11,12,13

I don't define any vlan on the switch? But I do this:

config interface 'dhcp'
	option proto 'static'
	option ipaddr 'xxxx/24'
	option ifname 'eth0'

config interface 'mesh_xxx'
	option proto 'static'
	option ipaddr 'xxxx/32'
	option ifname 'eth0.10'

config interface 'mesh_xxx'
	option proto 'static'
	option ipaddr 'xxx/32'
	option ifname 'eth0.11'

config interface 'mesh_xxx'
	option proto 'static'
	option ipaddr 'xxxx/32'
	option ifname 'eth0.12'

Or should I define all vlans with swconfig on the switch again?

Is that correct and should work? Because I think it is working, but then I use iperf and let it go tagged into the router, one direction (I think the receiving) is just 10 MBit/s. We use the devices as routers in a layer3 mesh network.

Well, its up to maintainers.

Sorry, I dont have a config as we dont use OpenWrt internally.

Okay. Again, thanks for having a look! :slight_smile:
I think i will try looking at:

NETIF_F_RXHASH_BIT,		/* Receive hashing offload */` 

Since blogic enabled that in this commit again, and my receiving speed dropped to 5~10MBIt/s as well, so I will just add NETIF_F_RXHASH_BIT. Sound that it could fix my issue. But if that helps, I have no idea, how to make a commit upstream.
Let's see what will happen.
I really would like to know on which device this commit was tested.

Or maybe I cann add qcom,single-phy;.

Okay, that destroyed network connectivity... xD

qcom,single-phy is not for a QCA807x based devices.
Its meant for external PHY-s like AR803x

1 Like

It is the sending side. I tried setting NETIF_F_RXHASH but it does not change anything.
Now I try enabling NETIF_F_HW_VLAN_CTAG_TX and see if it will help. I saw that it is the sending side, that has issues when using vlans.

I enabled NETIF_F_RXHASH and NETIF_F_HW_VLAN_CTAG_TX and now the connectivity seems broken on the vlan. :confused:

@robimarko Let's see if it will be merged.