Hi,
I am trying to set up an aggregated Ethernet connection between a ZFS server running FreeBSD 9.1 and my MythTV server running Ubuntu 11.04. The connection is direct. i.e. two Intel Gigabit interfaces on each host with UTP cable directly connecting them.
My eventual goal is to run NFS traffic with jumbo packets on the aggregated link. But first, I have to crawl...
I have tested the interfaces by configuring them in a single back-to-back network connection. All four interfaces and both cables work.
Not sure if I'm being naive regarding how lagg/bonding works, or just have technical problems.
The FreeBSD /etc/rc.conf says:
The Linux /etc/network/interfaces says:
After rebooting the FreeBSD system:
Note that the lagg0 interface has no IP address configured. Maybe that's a clue. It's easy enough to add:
Note there is "no carrier" for lagg0. Maybe that's because of negotiation failure?
Meanwhile, on the Linux side:
FreeBSD netstat:
Linux netstat:
It's not working. Any clues appreciated.
Cheers,
--
Phil
I am trying to set up an aggregated Ethernet connection between a ZFS server running FreeBSD 9.1 and my MythTV server running Ubuntu 11.04. The connection is direct. i.e. two Intel Gigabit interfaces on each host with UTP cable directly connecting them.
My eventual goal is to run NFS traffic with jumbo packets on the aggregated link. But first, I have to crawl...
I have tested the interfaces by configuring them in a single back-to-back network connection. All four interfaces and both cables work.
Not sure if I'm being naive regarding how lagg/bonding works, or just have technical problems.
The FreeBSD /etc/rc.conf says:
Code:
ifconfig_em0="up mtu=1500"
ifconfig_em1="up mtu=1500"
cloned_interfaces="lagg0"
ifconfig_lagg0="laggproto roundrobin em0 laggport em1 inet 10.0.0.1 netmask 255.255.255.0"
The Linux /etc/network/interfaces says:
Code:
auto eth1
iface eth1 inet manual
bond-master bond0
auto eth2
iface eth2 inet manual
bond-master bond0
auto bond0
iface bond0 inet static
address 10.0.0.3
network 10.0.0.0
netmask 255.255.255.0
mtu 1500
bond_mode balance-rr
bond_miimon 100
bond_downdelay 200
bond_updelay 200
slaves eth1 eth2
After rebooting the FreeBSD system:
Code:
[orac#145] ifconfig -a
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
ether 50:46:5d:76:25:9b
inet6 fe80::5246:5dff:fe76:259b%em0 prefixlen 64 scopeid 0x2
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
ether 68:05:ca:11:58:33
inet6 fe80::6a05:caff:fe11:5833%em1 prefixlen 64 scopeid 0x6
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 00:00:00:00:00:00
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect
status: no carrier
laggproto roundrobin lagghash l2,l3,l4
Note that the lagg0 interface has no IP address configured. Maybe that's a clue. It's easy enough to add:
Code:
[orac#146] ifconfig lagg0 inet orac10 netmask 255.255.255.0
[orac#147] ifconfig lagg0
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 00:00:00:00:00:00
inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect
status: no carrier
laggproto roundrobin lagghash l2,l3,l4
Note there is "no carrier" for lagg0. Maybe that's because of negotiation failure?
Meanwhile, on the Linux side:
Code:
[myth#145] ifconfig -a
bond0 Link encap:Ethernet HWaddr 68:05:ca:11:4f:05
inet addr:10.0.0.3 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::6a05:caff:fe11:4f05/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:52 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:9702 (9.7 KB)
eth1 Link encap:Ethernet HWaddr 68:05:ca:11:4f:05
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:52 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:9702 (9.7 KB)
Interrupt:16 Memory:fcfe0000-fd000000
eth2 Link encap:Ethernet HWaddr 68:05:ca:11:4f:05
BROADCAST SLAVE MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:17 Memory:f9fe0000-fa000000
FreeBSD netstat:
Code:
[orac#147] netstat -ni
Name Mtu Network Address Ipkts Ierrs Idrop Opkts Oerrs Coll
usbus 0 <Link#1> 0 0 0 0 0 0
em0 1500 <Link#2> 50:46:5d:76:25:9b 24 0 0 0 0 0
em0 1500 fe80::5246:5d fe80::5246:5dff:f 0 - - 3 - -
usbus 0 <Link#3> 0 0 0 0 0 0
usbus 0 <Link#4> 0 0 0 0 0 0
usbus 0 <Link#5> 0 0 0 0 0 0
em1 1500 <Link#6> 68:05:ca:11:58:33 0 0 0 0 0 0
em1 1500 fe80::6a05:ca fe80::6a05:caff:f 0 - - 1 - -
re0 1500 <Link#7> 50:46:5d:76:22:ad 2617 0 0 775 0 0
re0 1500 192.168.1.0/2 192.168.1.26 894 - - 764 - -
re0 1500 fe80::5246:5d fe80::5246:5dff:f 0 - - 1 - -
usbus 0 <Link#8> 0 0 0 0 0 0
lo0 16384 <Link#9> 46 0 0 46 0 0
lo0 16384 ::1/128 ::1 4 - - 4 - -
lo0 16384 fe80::1%lo0/6 fe80::1 0 - - 0 - -
lo0 16384 127.0.0.0/8 127.0.0.1 40 - - 42 - -
lagg0 1500 <Link#10> 00:00:00:00:00:00 0 0 0 0 0 0
lagg0 1500 10.0.0.0/24 10.0.0.1 2 - - 4 - -
Linux netstat:
Code:
[myth#148] netstat -ni
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
bond0 1500 0 0 0 0 0 62 0 0 0 BMmRU
eth0 1500 0 285529 0 0 0 1382 0 0 0 BMRU
eth1 1500 0 0 0 0 0 62 0 0 0 BMsRU
lo 16436 0 149 0 0 0 149 0 0 0 LRU
It's not working. Any clues appreciated.
Cheers,
--
Phil