I installed OpenWRT 23.05.2 r23630-842932a63d on my old Fritz!Box 7362SL (aka 1&1 Homeserver 50.000) successfully.
I want to use this rather old device as kind of a smart switch or some kind of secondary DHCP that only provides IPv4 to one single device. Long story short: My Playstation 5 bugs out on IPv6, although all the other devices on the network work with IPv6 flawlessly. This is a well documented problem, i.e. on reddit here, here and here. As I do not want to cut IPv6 completely, I want to separate the PS5 in a subnet that does not have IPv6 with the OpenWRT Fritz!Box 7362SL.
After installation of OpenWRT, I was able to set up the desired subnet. My main router provides DHCP @192.168.178.x, a pihole provides (recursive) DNS. The 7362SL connects with interface br-lan set to DHCP client and gets an IP from the .178.x range. The Playstation 5 is connected to br-ipv4 which is set to static address and has DHCP server on @192.168.100.x and receives a .100.x IP as desired.
So far, so good. The PS5 connects to the internet, gets no IPv6 just like I need it and works without hiccups in the store and with the social features.
But...
LAN port performance is not good. Both ports are 1Gb, and link info shows 1Gb as well. I have a fibre connection, 500down/100up, and always got around 490/80 with the PS5s internal network speed test. Now, at first, I only got around 50/2. After enabling "packet steering" (Network > Interfaces > Global options) and Software/Hardware Flow Offloading (Network > Firewall > Routing/NAT Offloading) I get 250down /12up. For sanity check reasons I disabled the secondary DHCP and threw all ports in one bridge-device on the 7362SL and instantly got my 490/80 back - along with all the IPv6 problems, though.
What can I do to improve network speeds? My guess is that running two bridge-devices (one as dhcp client, one as static address with dhcp server) severely impacts performance and load on the cpu to a point that even hardware flow offloading won't help anymore. But when I join all ports in one bridge, the PS5 gets IPv6 again.
I see two possible solutions:
Is there a magic switch to improve port/bridge-performance that I am missing, maybe somewhere in the firewall?
Can I have all my LAN ports in one bridge-device and still get the desired outcome, i.e. the PS5 in another DHCP-range without IPv6?
It sounds like you're using your device as a router in this case, and it's clearly not capable of routing at the speeds of your internet service (not even close).
Let's review your config to make sure there's nothing unusual going on.
But, the other question is this: what is the upstream device -- does it run OpenWrt?
Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button:
Remember to redact passwords, MAC addresses and any public IP addresses you may have:
I will gather the device info via SSH in a few minutes. The 7362SL is rather strange as it has two Gigabit and two 100MBit ethernet ports besides the DSL port.
a vectoring capable DSL router with two Gigabit and two Fast Ethernet ports
But in the hardware highlights table, it shows 2x 100M (and no 1G). Possibly just an issue with the table rendering if that's the case.
It is clear that you're not going to get full line speed out of that device because it has just a single core 500MHz processor, but we'll see if there is anything with the config that can be adjusted.
Ah, indeed the table is wrong. The 7362SL has four LAN ports, two 1GBit, two 100MBit. On the PS5 I was able to get very close to the full 500MBit (about 60 Megabyte per second) with FritzOS, but had no opprtunity to cut IPv6...
Upstream is a Fritz!Box 7590, connected with 1GBit, on a 500MBit/100MBit Telekom fibre connection. The 7362SL is connected directly to the router.
What is the lan subnet for the 7590 (just for info as I review the config of the other device)? IIRC, 192.168.178.0/24 is the default Fritz lan subnet -- is that right and is that what you are using?
config device
option name 'br-lan'
option type 'bridge'
option ipv6 '0'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
now define bridge-vlans for the lan and ipv4 networks:
config bridge-vlan
option device 'br-lan'
option vlan '1'
option ipv6 '0'
list ports 'lan1:u*'
list ports 'lan3:u*'
config bridge-vlan
option device 'br-lan'
option vlan '2'
option ipv6 '0'
list ports 'lan2:u*'
list ports 'lan4:u*'
finally, edit the network interfaces to use the new bridge-vlans br-lan.1 and br-lan.2. Also, remove the dns and force_link lines from the ipv4 interface.
Awesome that you are able to just reply at this level... I am impressed. Had to get into vi shortcuts again, but the 7362SL is rebooting right now. Fingers crossed!
Yes. 1 and 2 are Gigabit, 3 and 4 are 100 MBit. When speed-testing on the PS5, I see that the realtime graphs on the 7362SL are well red but at about 0.38 peak.
P.S. I just lost electricity due to the big storm rolling through California, so my online time is limited -- cell coverage is terrible in my house and my network can only stay live for a little while on a UPS).
Good day to you, I hope the storm has passed without creating any more problems for you!
This new idea is definitely faster. I get around 280/15 in this setup, with peaks at 400+ MBit. Sadly, these peaks immediately drop down, so I guess I am really facing a performance bottleneck at this point.
I'd put it this way, simplified to the max: As soon as the dhcp client port has received data, the data has to be "translated" into the dhcp server ip range and then the dhcp server port pushes the data out again. Double the work when compared to a simple switch that just pushes data through without any "translation".
What are my choices now?
Is there another way to reduce "translation" load?
Can I remove unnecessary services, i.e. the firewall, to free up some resources?
Can I wget a 100mb file (not more space on the 7362SL) directly via SSH to test the speed without "translating" into the dhcp server port?
Can I change the cpu/scaling governor to "performance"? Is there a current LuCI extension for this or do I rely on SSH'ing into the device and echo'ing into the scaling_governor file?
I am planning to buy 2.5GB Switches anyways, so is there a good choice of products that are known to be fast enough for this specific problem?
It's funny that I am just trying to solve some shortcomings of Sony (PS5 has IPv6 issues), AVM (Fritz!Box can't cut IPv6 for single devices) and Deutsche Telekom (IPv6 is not 100% standard as it fails on special devices like the PS5) and I started build a second infrastructure
No. Because issues have been reported, i.e. variable prefixes forced on non business contracts, some early dual stack "experiments", quirks regarding compatibility with Speedport devices. I don't see how this helps solving the problem, though...
I chose the easy route now. A friend had a Zyxel NBG7510 router lying around unused that I could borrow for testing. It has a 900MHz dual-core CPU which is a loooooot faster than the 500MHz 10 year old xRX200 package on the 7362SL. The Zyxel is advertised as being capable of up to 1GBit WAN connections, so in theory, the device should be fast enough to connect to my LAN and the 500MBit fibre connection and serve it's own DHCP range. And yes, indeed it is. I now get about the same speeds as before, around 490down/85 up. Close enough.
It's a bit sad that the 7362SL is just a bit too slow as I really like OpenWRT. I will keep it as a spare, though. Since the Zyxel is dirt cheap at roundabout 24 Euros, I ordered a new one up for my friend and just removed the four (!) WiFi antennaes on "my" device. Maybe at some point in the future we might see a OpenWRT target for the Zyxel as well, who knows.