Manufacturer (Gigabyte EP45-UD3P) states the internal NICs as Realtek 8111C.
The system is correctly using RE(4). NICs are re0 and re1 in ifconfig.
Before anyone starts blasting me on using Realtek NICs, I'm aware of the jumbo frames issue with these models under FreeBSD. For some reason, I can enable jumbo frames up to 9K on Windows & Linux (although admittedly I haven't put those drivers through the paces of testing 9K utilization) but in FreeBSD using the RE(4) driver, the highest I can go is MTU 6122. I have no idea why this is the highest value (defies logic to me as this value is not a multiple of 1024) but I determined this through trial and error. Trying to set the MTU to a value higher than 6122 kicks back the following error:
ifconfig re0 MTU 9000
Code:
ioctl (set mtu): Invalid argument
However, after setting both re0 and re1 to MTU 6122 using IFCONFIG and then creating the LACP/LAGG bonding using the Console Menu method (which kills all network access and seemingly causes the main console to lock up) I was able to see LAGG0 had an MTU of 6122 by logging into another console session locally using Option F2. However, this did not survive the reboot. Upon reboot both Realtek NICs and the LAGG0 bond had an MTU of 1500.
As I have an embedded install, I tried setting the MTU of both NICS using preinit and postinit commands:
ifconfig re0 up mtu 6122
My hope was that the MTU could be set before the LAGG0 bond was loaded but that didn't work. I haven't tried an rc.conf method of setting the MTU yet, so I'm open to trying this if someone can point me in the right direction.
I'll be installing an Intel NIC to see if my mileage varies and this can be chalked up to a Realtek driver <-> LAGG/LACP issue.
More info on the Realtek 8111C NICs below:
ifconfig
Code:
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
ether 6c:f0:49:06:ec:ae
inet6 fe80::6ef0:49ff:fe06:ecae%re0 prefixlen 64 scopeid 0x8
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
re1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
ether 6c:f0:49:06:ec:ae
inet6 fe80::224:1dff:fe80:205b%re1 prefixlen 64 scopeid 0x9
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
ether 6c:f0:49:06:ec:ae
inet 10.0.0.5 netmask 0xffffff00 broadcast 10.0.0.255
inet6 fe80::6ef0:49ff:fe06:ecae%lagg0 prefixlen 64 scopeid 0x10
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
media: Ethernet autoselect
status: active
laggproto lacp lagghash l2,l3,l4
laggport: re1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
laggport: re0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
pciconf -lv | grep -B3 network
Code:
re0@pci0:6:0:0: class=0x020000 card=0xe0001458 chip=0x816810ec rev=0x02 hdr=0x00
vendor = 'Realtek Semiconductor Co., Ltd.'
device = 'RTL8111/8168B PCI Express Gigabit Ethernet controller'
class = network
--
re1@pci0:7:0:0: class=0x020000 card=0xe0001458 chip=0x816810ec rev=0x02 hdr=0x00
vendor = 'Realtek Semiconductor Co., Ltd.'
device = 'RTL8111/8168B PCI Express Gigabit Ethernet controller'
class = network
dmesg | grep -i ethernet
Code:
re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F PCIe Gigabit Ethernet> port 0xce00-0xceff mem 0xefeff000-0xefefffff,0xefee0000-0xefeeffff irq 16 at device 0.0 on pci6
re0: Ethernet address: 6c:f0:49:06:ec:ae
re1: <RealTek 8168/8111 B/C/CP/D/DP/E/F PCIe Gigabit Ethernet> port 0xae00-0xaeff mem 0xefcff000-0xefcfffff,0xefce0000-0xefceffff irq 17 at device 0.0 on pci7
re1: Ethernet address: 00:24:1d:80:20:5b