Using 802.3ad bonded interfaces #151
-
Hi all, Am trying to use bonded interfaces on the Linux host, since 'Multithreaded IO is not supported for LAG member interfaces' as per the docs. Not getting the network interfaces to resolve however.
However when running the test, it does not progress. If I run the exact same scenario without bonding, it works fine. Have checked Any thoughts perhaps? many thanks Here is the bngblaster and json I am using.
{
"interfaces": {
"io-slots": 16384,
"network": {
"interface": "bond1",
"address": "100.127.6.2/24",
"gateway": "100.127.6.1",
"address-ipv6": "2001:db8::2/64",
"gateway-ipv6": "2001:db8::1",
"vlan": 99
},
"access": {
"interface": "bond2",
"vlan-mode": "N:1",
"outer-vlan": 100,
"type": "pppoe",
"stream-group-id": 1
}
},
"streams": [
{
"name": "general4",
"stream-group-id": 1,
"type": "ipv4",
"direction": "downstream",
"bps": 1536000,
"length": 1440,
"network-interface": "bond1:99"
}
],
"pppoe": {
"reconnect": true
},
"ppp": {
"mru": 1492,
"authentication": {
"username": "test@bng",
"password": "password",
"timeout": 3,
"retry": 5,
"authentication-protocol": "PAP"
},
"lcp": {
"conf-request-timeout": 1,
"conf-request-retry": 10,
"keepalive-interval": 30,
"keepalive-retry": 3
},
"ipcp": {
"enable": true,
"request-ip": true,
"request-dns1": true,
"request-dns2": true,
"conf-request-timeout": 1,
"conf-request-retry": 10
},
"ip6cp": {
"enable": false,
"conf-request-timeout": 1,
"conf-request-retry": 10
}
},
"dhcpv6": {
"enable": false,
"retry": 2
}
} |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 2 replies
-
Tried using LAG config inside bngblaster, with 802.3ad on the BNG DUT. No go yet .. {
"interfaces": {
"io-slots": 16384,
"lag": [
{
"interface": "lag1",
"lacp": true,
"lacp-timeout-short": true
},
{
"interface": "lag2",
"lacp": true,
"lacp-timeout-short": true
}
],
"links": [
{
"interface": "enp129s0f0",
"lag-interface": "lag1"
},
{
"interface": "enp129s0f1",
"lag-interface": "lag1"
},
{
"interface": "enp129s0f2",
"lag-interface": "lag2"
},
{
"interface": "enp129s0f3",
"lag-interface": "lag2"
}
],
"network": {
"interface": "lag1",
"address": "100.127.6.2/24",
"gateway": "100.127.6.1",
"address-ipv6": "2001:db8::2/64",
"gateway-ipv6": "2001:db8::1",
"vlan": 99
},
"access": {
"interface": "lag2",
"vlan-mode": "N:1",
"outer-vlan": 100,
"type": "pppoe",
"stream-group-id": 1
}
},
"streams": [
{
"name": "general4",
"stream-group-id": 1,
"type": "ipv4",
"direction": "downstream",
"bps": 1536000,
"length": 1440,
"network-interface": "lag1:99"
}
],
"pppoe": {
"reconnect": true
},
"ppp": {
"mru": 1492,
"authentication": {
"username": "test@bng",
"password": "password",
"timeout": 3,
"retry": 5,
"authentication-protocol": "PAP"
},
"lcp": {
"conf-request-timeout": 1,
"conf-request-retry": 10,
"keepalive-interval": 30,
"keepalive-retry": 3
},
"ipcp": {
"enable": true,
"request-ip": true,
"request-dns1": true,
"request-dns2": true,
"conf-request-timeout": 1,
"conf-request-retry": 10
},
"ip6cp": {
"enable": false,
"conf-request-timeout": 1,
"conf-request-retry": 10
}
},
"dhcpv6": {
"enable": false,
"retry": 2
}
} |
Beta Was this translation helpful? Give feedback.
-
Found it. With the various changes on the BNG DUT did not remember to update the attached routing interfaces. Have it working with 802.3ad interfaces on the Linux host, with bngblaster calling them direct. Have not gotten it working yet with bgnblaster defining the LAG though ... for another day :) |
Beta Was this translation helpful? Give feedback.
-
Thanks for your feedback. Actually we use the LAG feature internally quite extensive and should work fine. You can also start the BNG Blaster with the logging flag Please be also aware that there must be no bridge between BNG Blaster interfaces and device under test (DUT) because any bridges (including linux bridges) will drop LACP packets, but veth interfaces are fine! We use BNG Blaster LAG either directly or via veth interfaces. |
Beta Was this translation helpful? Give feedback.
-
hi Christian, A follow-up on this one. ran the scenario first time without LACP and nothing resolved. root@bng-poc1-bngblaster:~# sudo bngblaster-cli run.sock lag-info
{
"status": "ok",
"code": 200,
"lag-info": [
{
"id": 1,
"interface": "lag1",
"state": "Down",
"state-transitions": 0,
"members": [
{
"interface": "enp130s0f4",
"state": "Up",
"state-transitions": 0,
"packets-rx": 0,
"packets-tx": 0,
"lacp-state": "Disabled"
},
{
"interface": "enp130s0f4d1",
"state": "Up",
"state-transitions": 0,
"packets-rx": 0,
"packets-tx": 0,
"lacp-state": "Disabled"
}
]
}
]
} Second time the scenario ran with LACP, and it came up ok. root@bng-poc1-bngblaster:~# sudo bngblaster-cli run.sock lag-info
{
"status": "ok",
"code": 200,
"lag-info": [
{
"id": 1,
"interface": "lag1",
"state": "Up",
"state-transitions": 1,
"members": [
{
"interface": "enp130s0f4",
"state": "Up",
"state-transitions": 1,
"packets-rx": 3485,
"packets-tx": 3566,
"lacp-state": "Current",
"lacp": {
"bpdu-rx": 6,
"bpdu-tx": 5,
"bpdu-dropped": 0,
"actor-system-id": "02:ff:ff:ff:ff:00",
"actor-system-priority": 32768,
"actor-key": 1,
"actor-port-priority": 32768,
"actor-port-id": 1,
"actor-state": 61,
"partner-system-id": "52:54:00:06:eb:7f",
"partner-system-priority": 32768,
"partner-key": 1,
"partner-port-priority": 32768,
"partner-port-id": 1,
"partner-state": 61
}
},
{
"interface": "enp130s0f4d1",
"state": "Up",
"state-transitions": 1,
"packets-rx": 29829,
"packets-tx": 29869,
"lacp-state": "Current",
"lacp": {
"bpdu-rx": 6,
"bpdu-tx": 4,
"bpdu-dropped": 0,
"actor-system-id": "02:ff:ff:ff:ff:00",
"actor-system-priority": 32768,
"actor-key": 1,
"actor-port-priority": 32768,
"actor-port-id": 2,
"actor-state": 61,
"partner-system-id": "52:54:00:06:eb:7f",
"partner-system-priority": 32768,
"partner-key": 1,
"partner-port-priority": 32768,
"partner-port-id": 2,
"partner-state": 61
}
}
]
}
]
} Here is the json I am using for reference: {
"interfaces": {
"lag": [
{
"interface": "lag1",
"lacp": true,
"lacp-timeout-short": false
}
],
"links": [
{
"interface": "enp130s0f4",
"lag-interface": "lag1"
},
{
"interface": "enp130s0f4d1",
"lag-interface": "lag1"
}
],
"network": {
"interface": "lag1",
"address": "100.127.1.2/24",
"gateway": "100.127.1.1",
"address-ipv6": "2001:db8:1::2/64",
"gateway-ipv6": "2001:db8:1::1",
"vlan": 100
},
"access": {
"interface": "lag1",
"vlan-mode": "N:1",
"outer-vlan": 702,
"type": "pppoe",
"stream-group-id": 1
}
},
"streams": [
{
"name": "general4",
"stream-group-id": 1,
"type": "ipv4",
"direction": "downstream",
"bps": 3072000,
"length": 1400,
"network-interface": "lag1:100"
}
],
"sessions": {
"start-rate": 30,
"stop-rate": 30
},
"pppoe": {
"reconnect": true
},
"ppp": {
"mru": 1492,
"authentication": {
"username": "[email protected]",
"password": "testing",
"timeout": 3,
"retry": 5,
"protocol": "PAP"
},
"lcp": {
"conf-request-timeout": 1,
"conf-request-retry": 10,
"keepalive-interval": 30,
"keepalive-retry": 3
},
"ipcp": {
"enable": true,
"request-ip": true,
"request-dns1": true,
"request-dns2": true,
"conf-request-timeout": 1,
"conf-request-retry": 10
},
"ip6cp": {
"enable": true,
"conf-request-timeout": 1,
"conf-request-retry": 10
}
},
"dhcpv6": {
"enable": true,
"retry": 2
}
} Here is the log output from '-l lag' logging:
|
Beta Was this translation helpful? Give feedback.
-
Hi, Some interesting points.
Is this something perhaps anyone has seen, ie. where using Linux bonded interfaces will only hash to a single member and not consider the other, irrespective of the xmit_hash_policy? How does bngblaster LAG decide to load-balance traffic on egress? thanks! |
Beta Was this translation helpful? Give feedback.
-
many thanks for the info Christian. we are progressing ok with our use cases with the current setup and nuances. blessings and chat later |
Beta Was this translation helpful? Give feedback.
Found it. With the various changes on the BNG DUT did not remember to update the attached routing interfaces.
Have it working with 802.3ad interfaces on the Linux host, with bngblaster calling them direct. Have not gotten it working yet with bgnblaster defining the LAG though ... for another day :)