NIC Bonding


Ndgame

Recommended Posts

Is there a guide for bonding 2 NICS in UNRAID 6.1.7.

 

I have LAG enabled on my managed Netgear Switch..

 

I have 2 Intel pro cards installed.  At one time I have 5 different TV's in the house streaming and I am trying to team the nics for more bandwidth.

 

Any instruction on how to do this from the GUI would be greatly appreciated.

 

Thanks in advance.

Link to comment

I did this and help did not explain all the different mode options and which is better to use.   

 

Can anyone explain the difference in them or tell me which to use. 

 

On Server 2012 I just teamed the NICS together to get a 4GB connection along with the settings on my switch.

 

All I want to do is create a 2Gb pipe with teaming 2 nics..

 

 

Link to comment

It's some time ago, but I seem to remember I needed to also enable br0 (it worked and I didn't want to investigate any further at that time...).

 

See network settings (capture1.png)

 

Configure the bond in the switch (capture2-4.png, I use a TP-link) (I have 2 servers)

 

Hope this helps...

 

 

CLI output for ifconfig (on unraid server):

**********************************

bond0: flags=5443<UP,BROADCAST,RUNNING,PROMISC,MASTER,MULTICAST>  mtu 1500

        ether 0c:c4:7a:05:46:5e  txqueuelen 0  (Ethernet)

        RX packets 5395740  bytes 465190370 (443.6 MiB)

        RX errors 0  dropped 3  overruns 0  frame 0

        TX packets 9117279  bytes 1811085194 (1.6 GiB)

        TX errors 0  dropped 2 overruns 0  carrier 0  collisions 0

 

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 10.87.51.78  netmask 255.255.255.0  broadcast 10.87.51.255

        ether 0c:c4:7a:05:46:5e  txqueuelen 0  (Ethernet)

        RX packets 5386191  bytes 359554170 (342.8 MiB)

        RX errors 0  dropped 71390  overruns 0  frame 0

        TX packets 9033136  bytes 1805955114 (1.6 GiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 172.17.42.1  netmask 255.255.0.0  broadcast 0.0.0.0

        ether be:d8:d9:1d:8f:33  txqueuelen 0  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 2499  bytes 282510 (275.8 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

eth0: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500

        ether 0c:c4:7a:05:46:5e  txqueuelen 1000  (Ethernet)

        RX packets 41411  bytes 3192730 (3.0 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 2348  bytes 290940 (284.1 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

        device memory 0xdf560000-df57ffff 

 

eth1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500

        ether 0c:c4:7a:05:46:5e  txqueuelen 1000  (Ethernet)

        RX packets 172385  bytes 18834907 (17.9 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 310391  bytes 78224131 (74.6 MiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

        device memory 0xdf540000-df55ffff 

 

eth2: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500

        ether 0c:c4:7a:05:46:5e  txqueuelen 1000  (Ethernet)

        RX packets 4935800  bytes 421827537 (402.2 MiB)

        RX errors 0  dropped 1  overruns 0  frame 0

        TX packets 37465  bytes 2117020 (2.0 MiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

        device memory 0xdf520000-df53ffff 

 

eth3: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500

        ether 0c:c4:7a:05:46:5e  txqueuelen 1000  (Ethernet)

        RX packets 246144  bytes 21335196 (20.3 MiB)

        RX errors 0  dropped 2  overruns 0  frame 0

        TX packets 8767075  bytes 1730453103 (1.6 GiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

        device memory 0xdf500000-df51ffff 

 

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        loop  txqueuelen 0  (Local Loopback)

        RX packets 430  bytes 80546 (78.6 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 430  bytes 80546 (78.6 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

***********************************

 

Capture1.PNG.bbdf684ad5c956c001ccff4ba9a2a615.PNG

Capture2.PNG.9f77efa3cc0cdd17573c1876bbfc96e3.PNG

Capture3.PNG.d857409612a71e0be186f7ac039ad208.PNG

Capture4.PNG.89472c48f2988d80dd3057b6f649b35c.PNG

Link to comment

I think

/sbin/ip link

gives a better result the ifconfig

 

MediaStore:~# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT
    link/ipip 0.0.0.0 brd 0.0.0.0
3: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN mode DEFAULT
    link/gre 0.0.0.0 brd 0.0.0.0
4: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN mode DEFAULT qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
5: ip_vti0@NONE: <NOARP> mtu 1364 qdisc noop state DOWN mode DEFAULT
    link/ipip 0.0.0.0 brd 0.0.0.0
6: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP mode DEFAULT qlen 1000
    link/ether 00:e0:b6:17:76:84 brd ff:ff:ff:ff:ff:ff
7: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP mode DEFAULT qlen 1000
    link/ether 00:e0:b6:17:76:84 brd ff:ff:ff:ff:ff:ff
8: bond0: <BROADCAST,MULTICAST,PROMISC,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP mode DEFAULT
    link/ether 00:e0:b6:17:76:84 brd ff:ff:ff:ff:ff:ff
9: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT
    link/ether 00:e0:b6:17:76:84 brd ff:ff:ff:ff:ff:ff
10: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT
    link/ether 46:be:f0:f3:73:2a brd ff:ff:ff:ff:ff:ff

 

On My TP-Link, I just enabled LACP on the specific ports from the LACP Config Tab, and picked passive - as this will allow the server to have a network connection in case you are manually debugging or similar

 

Then to quick check on the server

root@MediaStore:~# ethtool bond0
Settings for bond0:
        Supported ports: [ ]
        Supported link modes:   Not reported
        Supported pause frame use: No
        Supports auto-negotiation: No
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Speed: 2000Mb/s
        Duplex: Full
        Port: Other
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: off
        Link detected: yes

 

Mine is 2Gbps since I only have two linked ports

you should be getting 4Gbps in your case.

 

Finally, my switch logs this:

98    2016-01-16 16:36:44    LAG    level_6         Added new Link Aggregation Group 1, members: Port 7-8.
99    2016-01-16 16:36:40    Link    level_3         port 7, changed state to up.
100    2016-01-16 16:36:39    Link    level_3         port 8, changed state to up.

Capture.PNG.7074ae36a72f07e9d42f05cdfcbaff34.PNG

Link to comment

Thank you ken-ji for posting your settings.

 

I got to these settings (getting lots of frustration) by trial and error to get this working. So when it finally worked, I just let those settings as they were...

 

Do you know why it's needed to have br0 enabled to have this working? I (as a non-expert) find it very strange that the IP is granted to the br0 interface. I would expect that the IP address would go to the bond0 interface.

 

What do you mean by this :

"and picked passive - as this will allow the server to have a network connection in case you are manually debugging or similar"

 

Thanks!

 

Link to comment

you can get more info by looking at /proc/net/bonding/bond0

 

Im doing LACP with layer 2+3 load balancing:

 

root@orion:~# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2+3 (2)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

802.3ad info
LACP rate: slow
Min links: 0
Aggregator selection policy (ad_select): stable
Active Aggregator Info:
Aggregator ID: 2
Number of ports: 2
Actor Key: 9
Partner Key: 1003
Partner Mac Address: 1c:de:a7:30:aa:03

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:25:90:d5:17:34
Slave queue ID: 0
Aggregator ID: 2
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
    system priority: 0
    port key: 9
    port priority: 255
    port number: 1
    port state: 61
details partner lacp pdu:
    system priority: 1
    oper key: 1003
    port priority: 1
    port number: 52
    port state: 61

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:25:90:d5:17:35
Slave queue ID: 0
Aggregator ID: 2
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
    system priority: 0
    port key: 9
    port priority: 255
    port number: 2
    port state: 61
details partner lacp pdu:
    system priority: 1
    oper key: 1003
    port priority: 1
    port number: 51
    port state: 61
root@orion:~#

Link to comment
  • 6 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.