So I have an R7800 that I am trying to replace with a Turris Omnia. The only thing that I wasn't able to reproduce on the Turris is the old VLAN configuration.
Essentially, my ISP delivers the internet connection on VLAN 12, and as such wan port is tagged ( 5t )
As the IPTV service is also on that same VLAN, I set up port 1 ( 1t ) to also be tagged, and I connect the OEM router there. This OEM router manages the IPTV service ( the set-top-box is connected to it ).
So, the R7800 gets a public IP from the ISP because it can decode/encode the VLAN 12 encapsulation, and the OEM router also receives the same encapsulated VLAN12 frames and as such also receives a public IP and is able to manage IPTV traffic.
So, back to the Omnia. This should have been as simple as:
the wan is interface eth2, so on the /etc/config/network one uses eth2,12 for the wan device. It works perfectly. the router receives a public IP address from the ISP.
For lan I simply bridged the interfaces named lan0, lan1, lan2 and lan3 and wlan0 and wlan1. Works perfectly.
For the IPTV I created an unmanaged interface with device lan4.12. It does not work. the OEM router that is connected to this interface does not get a public IP address from the ISP.
the port for the IPTV router must be tagged, because that router is expecting tagged packets. Still, I have no idea on how to configure a port on one vlan that untags the tag, in DSA switches. that is easy on old swconfig mode, but I don't know how to do it in DSA mode.
Actually, I may have not tried this. I mean, I did try the configuration, but I didn't notice before that the router would enter a reboot loop. I tried today again just in case and indeed, the kernel does not like the configuration.
config interface 'lan'
option type 'bridge'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option delegate '0'
option ifname 'lan0 lan1 lan2 lan3 lan4'
option ipaddr '192.168.18.254'
config interface 'wan'
option proto 'dhcp'
option broadcast '1'
option peerdns '0'
option delegate '0'
list dns '8.8.4.4'
list dns '8.8.8.8'
option ifname 'eth2.12'
config interface 'iptv'
option proto 'none'
option type 'bridge'
option ifname 'eth2.12 lan4.12'
TO -> wan eth2.12 working
|_ TO Lan4(.12) for IPTV client (OEM router) not getting upstream connectivity
My comphension of the switch concept is that it:
centralizes communications among multiple connected LAN segements (which can array across mulptiple devices connected to the switch port(s)) by determinating the source and destination addresses of each packet and forwards data only to the specific network segments
With that premise it does not seem necessary to tag packets on the switch downstream port(s) (LAN 0 - 4) since upstream WAN (eth2) interface already tags egress packets with VLAN ID 12.
What I do not get is
Why should the OEM router for IPTV get a public ip from the ISP, or expect tagged packets at all? If it is ipv4 then it would be NATed by TO with a LAN ip or else with ipv6 should get a deletgated prefix from the TO,
Quick question: Did you get your desired configuration to work before with a non DSA switch? I assume you did and are trying to re-create an known working configuration here...
On a stock ISP configuration, the OEM router has its RJ45 WAN port connected to a device that terminates the fiber link and converts it to RJ45.
Packets that come from this RJ45 port are tagged with VLAN12. So the OEM router receives them tagged on his WAN port, untags them, routes the untagged packages to the several devices that I have at home, including the ISP's provided IPTV set-top-boxes, and the oubound traffic from these all these devices gets tagged again with VLAN ID 12 tag before leaving the WAN port.
So, to replace this OEM router for another running OpenWRT one has to mark the OpenWRT WAN port as tagged on VLAN 12. Problem, is, if I do just this, the IPTV set-top-boxes wont work, because their traffic is IGMP and I don't know how to properly route this traffic to the internal IP networks of the ISP. So the solution is to keep using the OEM router just for IPTV functionality ( the set-top boxes are connected to it's lan ports ). For this, I can simply use a dumb switch and connect the OEM router, OpenWRT router and fiber box to it, and everything will work. The OpenWRT router will get a public IP address and I will have internet, the OEM router will get a public IP address and manage the set-top-boxes. But I don't want to have yet another device ( switch ) on my setup.
The above configuration worked perfectly on the R7800. But I can't figure out how to make this work with DSA. And actually something fishy is happening, as per above post ( that you , may not have read because we posted at the same time ), the kernel ops when I try to bridge eth2.12 and lan4.12 toghether.
this is with the latest development snapshot. will try 18.06 and see if it ops too.
Yes, so as I have posted, my R7800 works perfectly with the swconfig posted above. I am going to replace it with the omnia and because it uses DSA, I'm not being able to reproduce the R7800 vlan configuration.
For each front-panel port, DSA will create specialized network devices which are used as controlling and data-flowing endpoints for use by the Linux networking stack. These specialized network interfaces are referred to as “slave” network interfaces in DSA terminology and code.
On the Omnia you got
eth2 -> WAN facing CPU port
eth0 and eth1 -> switch's CPU (management) port(s) (master/conduit network devices since they act as a pipe between the host processor and the hardware Ethernet switch)
lan0@ethX, lan1@ethX, lan2@ethX, lan3@ethX and lan4@@ethX -> switch's downstream ports (“slave” network interfaces in DSA terminology and code)