# Can I set a bridge between deferent speed nics?



## Tomonf613 (Feb 28, 2020)

Hi, I am trying to set up a bridge with 6 nics, 3 lan ports and 3 usb-lan adapters (igb1, igb2, igb3 and ue0, ue1, ue2).

Configured by "ifconfig bridge0 addm igb1 addm igb2 addm igb3 addm ue0 addm ue1 addm ue2 up", but bridge0 has only 4 nics igb1, igb2, gib3 and ue1.

I think it is because these nics has defferent speed. Igbs and ue1 (USB3.0) are 1Gb-nics, and other 2 nics-100Mb (USB2.0).
Bridging with only 1Gb-nics or with only 100Mb-nics goes well.

Is it able to set these defferent speed nics in a bridge?
How can I set?


----------



## the_clean (Feb 28, 2020)

You can try setting it with 


```
ifconfig <interface-name> media 100baseTX mediaopt full-duplex
```

If that works, make it permanent in /etc/rc.conf


```
ifconfig_interfacename= <interface-name> media 100baseTX mediaopt full-duplex
```


----------



## SirDice (Feb 28, 2020)

Speed is not relevant.


```
The if_bridge driver creates a logical link between two or more IEEE 802
     networks that use the same (or "similar enough") framing format.  For
     example, it is possible to bridge Ethernet and 802.11 networks together,
     but it is not possible to bridge Ethernet and Token Ring together.
```


```
BUGS
     The if_bridge driver currently supports only Ethernet and Ethernet-like
     (e.g., 802.11) network devices, with exactly the same interface MTU size
     as the bridge device.
```


----------



## Tomonf613 (Feb 29, 2020)

>>*the_clean
Thank youfor your reply, but your advice cannot resolv this problem.*

>>*SirDice
I see that the defferent  speed doesn't cause this.
But how can I set these nics in a same bridge?*


----------



## Phishfry (Feb 29, 2020)

Tomonf613 said:


> Configured by "ifconfig bridge0 addm igb1 addm igb2 addm igb3 addm ue0 addm ue1 addm ue2 up", but bridge0 has only 4 nics igb1, igb2, gib3 and ue1.


How about bringing up the interfaces after the bridge.
`ifconfig bridge create`
`ifconfig bridge0 addm igb1 addm igb2 addm igb3 addm ue0 addm ue1 addm ue2 up`
`ifconfig igb1 up`
`ifconfig igb2 up`
`ifconfig igb3 up`
`ifconfig ue0 up`
`ifconfig ue1 up`
`ifconfig ue2 up`


----------



## Tomonf613 (Feb 29, 2020)

>> Phishfry
Your advice worked  very well !

My configuatin was...
1st: bridge creation
2nd: nics up
3rd: bridging
'''
ifconfig bridge0 create
ifconfig igb1 up
ifconfig igb2 up
ifconfig igb3 up
ifconfig ue0 up
ifconfig ue1 up
ifconfig ue2 up
ifconfig bridge0 addm igb1 addm igb2 addm igb3 addm ue0 addm ua1 addm ue2 up
'''

Maybe this sequence was not correct, thank you !


----------



## LVLouisCyphre (Feb 29, 2020)

According to SirDice, if all devices in the same bridge have the same MTU, it should work.  The key is they must be the same MTU.

I'm an extremely strong advocate against bridging.  I only build bridges when I absolutely have to.  I have yet to build one.  I've always been able to implement routing and call it a day and it worked.

Routing instead of bridging negates any possible bridging issues pertaining to MTU, speed or spanning tree convergence.  Those are just the three issues off the top of my head.

You have enough interfaces going on with this bridge you're trying to build that IMO that's going to crash and burn. You should seriously consider routing and put each interface on its own VLAN.  IME&O it's much easier to administer and troubleshoot several routed interfaces that several bridged interfaces.

Ask yourself this; why is this absolutely *fugly* complex network topology necessary?

IMO, this is a type of network topology that Clive Barker, Stephen King or H.P. Lovecraft would come up with to terrorize net and sys admins.


----------

