0

I am running Debian 11 on a small form factor box.

I am wanting to take all traffic from a network tap upstream on ethernet interface eno2 and output it on sfp+ interface eno8.

I've set up bridging using the following commands:

brctl addbr br0
brctl addif br0 eno2 eno8
ip link set br0 up

When I do a tcpdump -ni eno2 I see a TON of traffic, which is expected. But when I do a tcpdump -ni eno8 I see very little traffic and it seems to be limited to UDP traffic. I'm wanting all traffic from eno2 to go to eno8.

Somehow it's not bridging the TCP traffic.

The output of ip a

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ac:1f:6b:72:d0:2a brd ff:ff:ff:ff:ff:ff
    altname enp7s0
    inet 10.0.20.250/24 brd 10.0.50.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::ae1f:6bff:fe72:d02a/64 scope link
       valid_lft forever preferred_lft forever
3: eno2: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether ac:1f:6b:72:d0:2b brd ff:ff:ff:ff:ff:ff
    altname enp8s0
4: eno3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ac:1f:6b:72:d0:2c brd ff:ff:ff:ff:ff:ff
    altname enp11s0f0
5: eno4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ac:1f:6b:72:d0:2d brd ff:ff:ff:ff:ff:ff
    altname enp11s0f1
6: eno5: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ac:1f:6b:72:d0:2e brd ff:ff:ff:ff:ff:ff
    altname enp11s0f2
7: eno6: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ac:1f:6b:72:d0:2f brd ff:ff:ff:ff:ff:ff
    altname enp11s0f3
8: eno7: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master br0 state DOWN group default qlen 1000
    link/ether ac:1f:6b:72:d9:ba brd ff:ff:ff:ff:ff:ff
    altname enp4s0f0
9: eno8: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether ac:1f:6b:72:d9:bb brd ff:ff:ff:ff:ff:ff
    altname enp4s0f1
16: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 72:69:25:12:99:da brd ff:ff:ff:ff:ff:ff
    inet6 fe80::7069:25ff:fe12:99da/64 scope link
       valid_lft forever preferred_lft forever

Can anyone point me in a direction to solve this issue?

3
  • @roaima Just added output of ip a Feb 14, 2022 at 20:40
  • A bridge is a logical interface made up of multiple physical interfaces. Usually configured for fault redundancy to account for possible hardware failures. Look into IPTables and don't forget to set the kernel parameter net.ipv4.ip_forward
    – Deathgrip
    Feb 15, 2022 at 1:49
  • 1
    @Deathgrip the OP's not forwarding, they're bridging
    – roaima
    Feb 15, 2022 at 9:28

1 Answer 1

1

Finally found an answer:

The kernal code doesn't really implement a bridge, but more of a virtual switch. So it will learn what MAC addresses belong to which port and only forward the traffic to that port.

If you set brctl setaging br0 0 the box won't retain the MAC information.

It is now working. Thanks to all who looked at this!

1
  • 1
    So you mean you changed the bridge from behaving like a switch to behaving like a hub? Couldn't guess that in the question.
    – A.B
    Feb 15, 2022 at 17:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.