Jail bridge not working with 10G interface (oce0)

Status
Not open for further replies.

MasterTacoChief

Explorer
Joined
Feb 20, 2017
Messages
67
I have installed a Emulex P005414 dual-10G card, and am currently using port 0 which is oce0 in the OS:
Code:
[root@nas ~]# ifconfig oce0                                                     
oce0: flags=8143<UP,BROADCAST,RUNNING,PROMISC,MULTICAST> metric 0 mtu 1500     
        options=500b9<RXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_
HWFILTER,VLAN_HWTSO>                                                           
        ether 00:90:fa:79:87:1a                                                 
        inet 192.168.1.35 netmask 0xffffff00 broadcast 192.168.1.255           
        nd6 options=9<PERFORMNUD,IFDISABLED>                                   
        media: Ethernet autoselect (10Gbase-SR <full-duplex>)                   
        status: active 


This interface works great as a connection to FreeNAS via SMB and NFS. The web interface works fine as well. What is strange is that any jail that is bridged with this connection seems to not have a connection between this interface and itself. Inside the jail I can't ping anything, and I also can't reach anything inside the jail from my LAN (in this case qBittorrent on port 8080).

I also have a LACP LAGG (lagg0) composed of two 1GB ethernet ports (bge0 and bge1). When the bridge contains this interface instead of the oce0 interface then the jail can access the network with no problem at all.

FreeNAS seems to create a bridge out of the "first" interface. To define the "first" interface I had to destroy all network interfaces, configure lagg0, then configure oce0. Then the jail has a bridge with lagg0. Great, except as soon as I rebooted it somehow decided oce0 should be in the bridge instead.

So a few questions:

- Why doesn't bridging work with the Emulex card? I've seen in a few other (older) posts that Emulex might not work so well with everything, so if that's the answer then I can live with that. It works fine for my primary use (10G external access).
- I'm fine with creating a bridge using lagg0, but how do I tell FreeNAS to always use lagg0 to create the bridge and NOT oce0?

This might be an obvious thing for a seasoned FreeBSD user, but I'm fairly new to this OS. Thanks for the help.
 

MasterTacoChief

Explorer
Joined
Feb 20, 2017
Messages
67
So I was able to manually change the bridge with the following commands:

ifconfig bridge0 deletem oce0
ifconfig bridge0 addm lagg0

I found it's important to run them in this order, otherwise a loop will be created (which brought down my LAN for a minute).

So I suppose I could just add these as init commands and it would ensure lagg0 ends up in the bridge, right? I'd really prefer a better way that doesn't involve going behind the scenes to change this though. Any better ideas? Thanks.
 
Last edited:

MasterTacoChief

Explorer
Joined
Feb 20, 2017
Messages
67
OK, I figured out where the NIC option is hiding in the jail advanced config, so now I'm able to set lagg0 as the bridge interface. I still don't know why oce0 doesn't work though.
 
Status
Not open for further replies.
Top