Closed hugohuetzel closed 4 years ago
I'm sorry, but I don't understand your setup. What is a virtual bridge, and what is an ECU?
When I use bridges I set up things like this:
br0.1 br0.2
\ /
.--br0---.
/ / \ \
eth0 eth1 eth2 eth3
1U 1U 2U 2U
br0.1 -- IP: 192.168.1.1/24
br0.2 -- IP: 192.168.2.1/24
In my example pimd runs on br0.1 and br0.2 VLAN interfaces (layer-3). Any multicast coming in on any of the Ethernet ports in VLAN 1 (eth0 or eth1), can both be bridged to the other port in the same VLAN, or routed using the kernel multicast routes, set up by pimd, to VLAN 2 where either eth2 or eth3 is the receiver, or both.
pimd does not support having the same IP subnet on br0.1 and br0.2, but neither does regular unicast routing. For that to work you need either policy routing or VRF, neither of which have support in pimd, and even if it did it would not be possible to route between different "domains" like that.
PIM is a protocol independent multicast routing protocol. This means it relies on unicast routes being set up, either statically or using protocols like RIP or OSPF which are handy when there are multiple routers. A good basic test to use is to first try to send unicast ping between end devices, if that doesn't work, then multicast with pimd will not work either.
Hello,
ECU stands for electronic control unit (in german "Steuergerät"), the little computers in cars.
My setup looks like this:
...br0.....
/ \
...veth1... veth2
/ | \ / \
vlan1.1 vlan1.2 vlan1.3 vlan2.1 vlan2.2
With:
We need this to simulate (residual bus simulation) a car automotive ethernet setup (new vehicle bus like CAN or FlexRay in cars). The setup is given by the car manufacturers.
From my limited understanding of bridging and IP networking in Linux, that will not work.
I'd try something like this, with a VLAN filtering bridge, and each of the veth-peerN's in a container, or at least separate network namespace, for each of the end devices. On the end of the veth pairs.
br0.1 br0.2 br0.3 Layer-3 interfaces, with IP
\ | / 192.168.n.1/24 in each VLAN
\ | /
\ | / Layer-2 bridge w/ VLAN filtering
.---br0---. br0 is tagged member i all VLANs
| |
veth1 veth2 veth1 tagged member in VLAN 1,2,3
| | veth2 tagged member in VLAN 1,2
| |
veth1 veth2 veth1-peer and vlan2-peer carries
-peer -peer VLAN tagged traffic, which can be
/ | \ extracted with a VLAN interface,
.. .. veth1-peer.2 e.g., veth1-peer.2
Notice the br0.1 to br0.3 interfaces, that's where both ospf/rip and pimd could run and forward both unicast and multicast traffic.
Hi,
i have a special configuration to test/simulate automotive ethernet. I have configured for each ECU to simulate a device to set the MAC address and set a link for each VLAN. All devices are connected to a virtual bridge.
for example: Virtual-BRIDGE -- ECU1 MAC=20:00:00:00:01:01 ---- VLAN1 192.168.1.1/24 ---- VLAN2 192.168.2.1/24 ---- VLAN3 192.168.3.1/24 -- ECU2 MAC=20:00:00:00:01:03 ---- VLAN1 192.168.1.3/24 ---- VLAN2 192.168.2.3/24
The problem is that ECU2-VLAN1 and ECU2-VLAN2 are ignored because they are in the same subnet as ECU1-VLAN1 and ECU1-VLAN2. So no multicast packet from ECU2 can be send to ECU1.