Bug 1253769
| Summary: | Inconsistent behaviour of 'runner.actor_lacpdu_info.system' addresss assignment when team MAC address is changed. | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Amit Supugade <asupugad> | ||||
| Component: | libteam | Assignee: | Xin Long <lxin> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Amit Supugade <asupugad> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | 7.2 | CC: | asupugad, jiri, kzhang, mleitner, rkhan, zhchen | ||||
| Target Milestone: | rc | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | 1.17-4.el7 | Doc Type: | Bug Fix | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2015-11-19 03:56:31 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
Adding the upstream (non-RH) maintainer to CC. Created attachment 1063236 [details]
proposed fix
system mac is set in lacp_port_actor_init called from lacp_port_added. There is need to react to team mac change accordingly and update this value.
Could you please try to test this patch if it helps to resolve your issue? Thanks!
Hi, Used package from Comment# 5. With this package, 'runner.actor_lacpdu_info.system' gets updated every time when we change team's MAC address. It works fine. Thanks!! Log- [root@robin ~]# rpm -q libteam libteam-1.17-1.el7.bz1253769.x86_64 [root@robin ~]# rpm -q teamd teamd-1.17-1.el7.bz1253769.x86_64 [root@robin ~]# [root@robin ~]# teamd -d -t team0 -c '{ "runner" : { "name": "lacp", "fast_rate": true }, "link_watch" : { "name": "ethtool" } }' [ 1527.976108] team0: Mode changed to "loadbalance" [root@robin ~]# [root@robin ~]# teamdctl team0 port add enp7s0f0 [ 1553.572935] be2net 0000:07:00.0 enp7s0f0: Link is Up [ 1553.632449] team0: Port device enp7s0f0 added [root@robin ~]# [ 1553.688780] be2net 0000:07:00.0: MAC address changed to 2a:05:af:06:7f:6e [ 1553.785064] be2net 0000:07:00.0: MAC address changed to 00:90:fa:8a:5c:7a [root@robin ~]# teamdctl team0 port add enp7s0f1 [ 1558.487230] be2net 0000:07:00.1 enp7s0f1: Link is Up [ 1558.546703] team0: Port device enp7s0f1 added [root@robin ~]# [ 1558.602927] be2net 0000:07:00.1: MAC address changed to 00:90:fa:8a:5c:7a [root@robin ~]# [root@robin ~]# ip link set team0 up [root@robin ~]# [root@robin ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp7s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master team0 state UP qlen 1000 link/ether 00:90:fa:8a:5c:7a brd ff:ff:ff:ff:ff:ff inet6 fe80::290:faff:fe8a:5c7a/64 scope link valid_lft forever preferred_lft forever 3: enp7s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master team0 state UP qlen 1000 link/ether 00:90:fa:8a:5c:7a brd ff:ff:ff:ff:ff:ff inet6 fe80::290:faff:fe8a:5c82/64 scope link valid_lft forever preferred_lft forever 4: enp5s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether e4:11:5b:dd:d6:06 brd ff:ff:ff:ff:ff:ff inet 10.19.15.27/24 brd 10.19.15.255 scope global dynamic enp5s0f0 valid_lft 84893sec preferred_lft 84893sec inet6 2620:52:0:130b:e611:5bff:fedd:d606/64 scope global noprefixroute dynamic valid_lft 2591500sec preferred_lft 604300sec inet6 fe80::e611:5bff:fedd:d606/64 scope link valid_lft forever preferred_lft forever 5: enp5s0f1: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN qlen 1000 link/ether e4:11:5b:dd:d6:07 brd ff:ff:ff:ff:ff:ff 6: team0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 00:90:fa:8a:5c:7a brd ff:ff:ff:ff:ff:ff inet6 fe80::290:faff:fe8a:5c7a/64 scope link valid_lft forever preferred_lft forever [root@robin ~]# teamdctl team0 state dump { "ports": { "enp7s0f0": { "ifinfo": { "dev_addr": "00:90:fa:8a:5c:7a", "dev_addr_len": 6, "ifindex": 2, "ifname": "enp7s0f0" }, "link": { "duplex": "full", "speed": 10000, "up": true }, "link_watches": { "list": { "link_watch_0": { "delay_down": 0, "delay_up": 0, "down_count": 0, "name": "ethtool", "up": true } }, "up": true }, "runner": { "actor_lacpdu_info": { "key": 0, "port": 2, "port_priority": 255, "state": 115, "system": "00:90:fa:8a:5c:7a", "system_priority": 65535 }, "aggregator": { "id": 0, "selected": false }, "key": 0, "partner_lacpdu_info": { "key": 0, "port": 0, "port_priority": 0, "state": 0, "system": "00:00:00:00:00:00", "system_priority": 0 }, "prio": 255, "selected": false, "state": "defaulted" } }, "enp7s0f1": { "ifinfo": { "dev_addr": "00:90:fa:8a:5c:7a", "dev_addr_len": 6, "ifindex": 3, "ifname": "enp7s0f1" }, "link": { "duplex": "full", "speed": 10000, "up": true }, "link_watches": { "list": { "link_watch_0": { "delay_down": 0, "delay_up": 0, "down_count": 0, "name": "ethtool", "up": true } }, "up": true }, "runner": { "actor_lacpdu_info": { "key": 0, "port": 3, "port_priority": 255, "state": 119, "system": "00:90:fa:8a:5c:7a", "system_priority": 65535 }, "aggregator": { "id": 0, "selected": false }, "key": 0, "partner_lacpdu_info": { "key": 0, "port": 0, "port_priority": 0, "state": 0, "system": "00:00:00:00:00:00", "system_priority": 0 }, "prio": 255, "selected": false, "state": "defaulted" } } }, "runner": { "active": true, "fast_rate": true, "select_policy": "lacp_prio", "sys_prio": 65535 }, "setup": { "daemonized": true, "dbus_enabled": false, "debug_level": 0, "kernel_team_mode_name": "loadbalance", "pid": 12368, "pid_file": "/var/run/teamd/team0.pid", "runner_name": "lacp", "zmq_enabled": false }, "team_device": { "ifinfo": { "dev_addr": "00:90:fa:8a:5c:7a", "dev_addr_len": 6, "ifindex": 6, "ifname": "team0" } } } [root@robin ~]# [root@robin ~]# ip link set team0 addr 00:11:22:33:44:55 [root@robin ~]# [ 1646.516941] be2net 0000:07:00.1: MAC address changed to 00:11:22:33:44:55 [ 1646.615063] be2net 0000:07:00.0: MAC address changed to 00:11:22:33:44:55 [root@robin ~]# teamdctl team0 state dump { "ports": { "enp7s0f0": { "ifinfo": { "dev_addr": "00:11:22:33:44:55", "dev_addr_len": 6, "ifindex": 2, "ifname": "enp7s0f0" }, "link": { "duplex": "full", "speed": 10000, "up": true }, "link_watches": { "list": { "link_watch_0": { "delay_down": 0, "delay_up": 0, "down_count": 0, "name": "ethtool", "up": true } }, "up": true }, "runner": { "actor_lacpdu_info": { "key": 0, "port": 2, "port_priority": 255, "state": 115, "system": "00:11:22:33:44:55", "system_priority": 65535 }, "aggregator": { "id": 0, "selected": false }, "key": 0, "partner_lacpdu_info": { "key": 0, "port": 0, "port_priority": 0, "state": 0, "system": "00:00:00:00:00:00", "system_priority": 0 }, "prio": 255, "selected": false, "state": "defaulted" } }, "enp7s0f1": { "ifinfo": { "dev_addr": "00:11:22:33:44:55", "dev_addr_len": 6, "ifindex": 3, "ifname": "enp7s0f1" }, "link": { "duplex": "full", "speed": 10000, "up": true }, "link_watches": { "list": { "link_watch_0": { "delay_down": 0, "delay_up": 0, "down_count": 0, "name": "ethtool", "up": true } }, "up": true }, "runner": { "actor_lacpdu_info": { "key": 0, "port": 3, "port_priority": 255, "state": 119, "system": "00:11:22:33:44:55", "system_priority": 65535 }, "aggregator": { "id": 0, "selected": false }, "key": 0, "partner_lacpdu_info": { "key": 0, "port": 0, "port_priority": 0, "state": 0, "system": "00:00:00:00:00:00", "system_priority": 0 }, "prio": 255, "selected": false, "state": "defaulted" } } }, "runner": { "active": true, "fast_rate": true, "select_policy": "lacp_prio", "sys_prio": 65535 }, "setup": { "daemonized": true, "dbus_enabled": false, "debug_level": 0, "kernel_team_mode_name": "loadbalance", "pid": 12368, "pid_file": "/var/run/teamd/team0.pid", "runner_name": "lacp", "zmq_enabled": false }, "team_device": { "ifinfo": { "dev_addr": "00:11:22:33:44:55", "dev_addr_len": 6, "ifindex": 6, "ifname": "team0" } } } [root@robin ~]# [root@robin ~]# ip link set team0 addr 00:11:22:66:77:88 [root@robin ~]# [ 1679.016336] be2net 0000:07:00.1: MAC address changed to 00:11:22:66:77:88 [ 1679.114316] be2net 0000:07:00.0: MAC address changed to 00:11:22:66:77:88 [root@robin ~]# teamdctl team0 state dump { "ports": { "enp7s0f0": { "ifinfo": { "dev_addr": "00:11:22:66:77:88", "dev_addr_len": 6, "ifindex": 2, "ifname": "enp7s0f0" }, "link": { "duplex": "full", "speed": 10000, "up": true }, "link_watches": { "list": { "link_watch_0": { "delay_down": 0, "delay_up": 0, "down_count": 0, "name": "ethtool", "up": true } }, "up": true }, "runner": { "actor_lacpdu_info": { "key": 0, "port": 2, "port_priority": 255, "state": 115, "system": "00:11:22:66:77:88", "system_priority": 65535 }, "aggregator": { "id": 0, "selected": false }, "key": 0, "partner_lacpdu_info": { "key": 0, "port": 0, "port_priority": 0, "state": 0, "system": "00:00:00:00:00:00", "system_priority": 0 }, "prio": 255, "selected": false, "state": "defaulted" } }, "enp7s0f1": { "ifinfo": { "dev_addr": "00:11:22:66:77:88", "dev_addr_len": 6, "ifindex": 3, "ifname": "enp7s0f1" }, "link": { "duplex": "full", "speed": 10000, "up": true }, "link_watches": { "list": { "link_watch_0": { "delay_down": 0, "delay_up": 0, "down_count": 0, "name": "ethtool", "up": true } }, "up": true }, "runner": { "actor_lacpdu_info": { "key": 0, "port": 3, "port_priority": 255, "state": 119, "system": "00:11:22:66:77:88", "system_priority": 65535 }, "aggregator": { "id": 0, "selected": false }, "key": 0, "partner_lacpdu_info": { "key": 0, "port": 0, "port_priority": 0, "state": 0, "system": "00:00:00:00:00:00", "system_priority": 0 }, "prio": 255, "selected": false, "state": "defaulted" } } }, "runner": { "active": true, "fast_rate": true, "select_policy": "lacp_prio", "sys_prio": 65535 }, "setup": { "daemonized": true, "dbus_enabled": false, "debug_level": 0, "kernel_team_mode_name": "loadbalance", "pid": 12368, "pid_file": "/var/run/teamd/team0.pid", "runner_name": "lacp", "zmq_enabled": false }, "team_device": { "ifinfo": { "dev_addr": "00:11:22:66:77:88", "dev_addr_len": 6, "ifindex": 6, "ifname": "team0" } } } [root@robin ~]# [root@robin ~]# [root@robin ~]# ip link set team0 addr 00:66:77:88:99:00 [root@robin ~]# [ 1711.419483] be2net 0000:07:00.1: MAC address changed to 00:66:77:88:99:00 [ 1711.517496] be2net 0000:07:00.0: MAC address changed to 00:66:77:88:99:00 [root@robin ~]# [root@robin ~]# teamdctl team0 state dump { "ports": { "enp7s0f0": { "ifinfo": { "dev_addr": "00:66:77:88:99:00", "dev_addr_len": 6, "ifindex": 2, "ifname": "enp7s0f0" }, "link": { "duplex": "full", "speed": 10000, "up": true }, "link_watches": { "list": { "link_watch_0": { "delay_down": 0, "delay_up": 0, "down_count": 0, "name": "ethtool", "up": true } }, "up": true }, "runner": { "actor_lacpdu_info": { "key": 0, "port": 2, "port_priority": 255, "state": 115, "system": "00:66:77:88:99:00", "system_priority": 65535 }, "aggregator": { "id": 0, "selected": false }, "key": 0, "partner_lacpdu_info": { "key": 0, "port": 0, "port_priority": 0, "state": 0, "system": "00:00:00:00:00:00", "system_priority": 0 }, "prio": 255, "selected": false, "state": "defaulted" } }, "enp7s0f1": { "ifinfo": { "dev_addr": "00:66:77:88:99:00", "dev_addr_len": 6, "ifindex": 3, "ifname": "enp7s0f1" }, "link": { "duplex": "full", "speed": 10000, "up": true }, "link_watches": { "list": { "link_watch_0": { "delay_down": 0, "delay_up": 0, "down_count": 0, "name": "ethtool", "up": true } }, "up": true }, "runner": { "actor_lacpdu_info": { "key": 0, "port": 3, "port_priority": 255, "state": 119, "system": "00:66:77:88:99:00", "system_priority": 65535 }, "aggregator": { "id": 0, "selected": false }, "key": 0, "partner_lacpdu_info": { "key": 0, "port": 0, "port_priority": 0, "state": 0, "system": "00:00:00:00:00:00", "system_priority": 0 }, "prio": 255, "selected": false, "state": "defaulted" } } }, "runner": { "active": true, "fast_rate": true, "select_policy": "lacp_prio", "sys_prio": 65535 }, "setup": { "daemonized": true, "dbus_enabled": false, "debug_level": 0, "kernel_team_mode_name": "loadbalance", "pid": 12368, "pid_file": "/var/run/teamd/team0.pid", "runner_name": "lacp", "zmq_enabled": false }, "team_device": { "ifinfo": { "dev_addr": "00:66:77:88:99:00", "dev_addr_len": 6, "ifindex": 6, "ifname": "team0" } } } [root@robin ~]# Thanks! Upstream commit: https://github.com/jpirko/libteam/commit/4f58d76ea4956feec009002f5faba9f9d8391fee Verified on libteam-1.17-4.el7.x86_64
LOG-
[root@netqe11 ~]# rpm -q libteam teamd
libteam-1.17-4.el7.x86_64
teamd-1.17-4.el7.x86_64
[root@netqe11 ~]# teamd -d -t team0 -c '{ "runner" : { "name": "lacp", "fast_rate": true }, "link_watch" : { "name": "ethtool" } }'
[ 193.292137] team0: Mode changed to "loadbalance"
[root@netqe11 ~]# ip link set p1p1 down
[ 206.025465] ixgip link set p1p2 down
[ 214.628279] ixgbe 0000:81:00.1: removed PHC on p1p2
[root@netqe11 ~]#
[root@netqe11 ~]# teamdctl team0 port add p1p1
[ 226.260353] ixgbe 0000:81:00.0: registered PHC device on p1p1
[ 226.367885] IPv6: ADDRCONF(NETDEV_UP): p1p1: link is not ready
[ 226.374499] team0: Port device p1p1 added
[root@netqe11 ~]# [ 226.439267] ixgbe 0000:81:00.0 p1p1: detected SFP+: 3
[ 228.076846] ixgbe 0000:81:00.0 p1p1: NIC Link is Up 10 Gbps, Flow Control: RX/TX
[ 228.085236] IPv6: ADDRCONF(NETDEV_CHANGE): p1p1: link becomes ready
[root@netqe11 ~]# teamdctl team0 port add p1p2
[ 231.856129] ixgbe 0000:81:00.1: registered PHC device on p1p2
[ 231.963963] IPv6: ADDRCONF(NETDEV_UP): p1p2: link is not ready
[ 231.970581] team0: Port device p1p2 added
[root@netqe11 ~]# [ 232.035464] ixgbe 0000:81:00.1 p1p2: detected SFP+: 4
[ 233.172224] ixgbe 0000:81:00.1 p1p2: NIC Link is Up 10 Gbps, Flow Control: RX/TX
[ 233.180606] IPv6: ADDRCONF(NETDEV_CHANGE): p1p2: link becomes ready
[root@netqe11 ~]# ip link set team0 up
[root@netqe11 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: em1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
link/ether 44:a8:42:38:73:bb brd ff:ff:ff:ff:ff:ff
3: p1p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master team0 state UP qlen 1000
link/ether a0:36:9f:75:9f:60 brd ff:ff:ff:ff:ff:ff
4: em2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
link/ether 44:a8:42:38:73:bd brd ff:ff:ff:ff:ff:ff
5: em3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 44:a8:42:38:73:bf brd ff:ff:ff:ff:ff:ff
inet 10.19.15.49/24 brd 10.19.15.255 scope global dynamic em3
valid_lft 86182sec preferred_lft 86182sec
inet6 2620:52:0:130b:46a8:42ff:fe38:73bf/64 scope global noprefixroute dynamic
valid_lft 2591836sec preferred_lft 604636sec
inet6 fe80::46a8:42ff:fe38:73bf/64 scope link
valid_lft forever preferred_lft forever
6: em4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
link/ether 44:a8:42:38:73:c1 brd ff:ff:ff:ff:ff:ff
7: p1p2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master team0 state UP qlen 1000
link/ether a0:36:9f:75:9f:60 brd ff:ff:ff:ff:ff:ff
8: p4p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:90:fa:97:48:c0 brd ff:ff:ff:ff:ff:ff
9: p4p2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:90:fa:97:48:c8 brd ff:ff:ff:ff:ff:ff
10: p7p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether e4:1d:2d:1e:d2:e0 brd ff:ff:ff:ff:ff:ff
11: p7p2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether e4:1d:2d:1e:d2:e1 brd ff:ff:ff:ff:ff:ff
12: team0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether a0:36:9f:75:9f:60 brd ff:ff:ff:ff:ff:ff
inet6 fe80::a236:9fff:fe75:9f60/64 scope link
valid_lft forever preferred_lft forever
[root@netqe11 ~]# teamdctl team0 state dump
{
"ports": {
"p1p1": {
"ifinfo": {
"dev_addr": "a0:36:9f:75:9f:60",
"dev_addr_len": 6,
"ifindex": 3,
"ifname": "p1p1"
},
"link": {
"duplex": "full",
"speed": 10000,
"up": true
},
"link_watches": {
"list": {
"link_watch_0": {
"delay_down": 0,
"delay_up": 0,
"down_count": 0,
"name": "ethtool",
"up": true
}
},
"up": true
},
"runner": {
"actor_lacpdu_info": {
"key": 0,
"port": 3,
"port_priority": 255,
"state": 115,
"system": "a0:36:9f:75:9f:60",
"system_priority": 65535
},
"aggregator": {
"id": 0,
"selected": false
},
"key": 0,
"partner_lacpdu_info": {
"key": 0,
"port": 0,
"port_priority": 0,
"state": 0,
"system": "00:00:00:00:00:00",
"system_priority": 0
},
"prio": 255,
"selected": false,
"state": "defaulted"
}
},
"p1p2": {
"ifinfo": {
"dev_addr": "a0:36:9f:75:9f:60",
"dev_addr_len": 6,
"ifindex": 7,
"ifname": "p1p2"
},
"link": {
"duplex": "full",
"speed": 10000,
"up": true
},
"link_watches": {
"list": {
"link_watch_0": {
"delay_down": 0,
"delay_up": 0,
"down_count": 0,
"name": "ethtool",
"up": true
}
},
"up": true
},
"runner": {
"actor_lacpdu_info": {
"key": 0,
"port": 7,
"port_priority": 255,
"state": 119,
"system": "a0:36:9f:75:9f:60",
"system_priority": 65535
},
"aggregator": {
"id": 0,
"selected": false
},
"key": 0,
"partner_lacpdu_info": {
"key": 0,
"port": 0,
"port_priority": 0,
"state": 0,
"system": "00:00:00:00:00:00",
"system_priority": 0
},
"prio": 255,
"selected": false,
"state": "defaulted"
}
}
},
"runner": {
"active": true,
"fast_rate": true,
"select_policy": "lacp_prio",
"sys_prio": 65535
},
"setup": {
"daemonized": true,
"dbus_enabled": false,
"debug_level": 0,
"kernel_team_mode_name": "loadbalance",
"pid": 2965,
"pid_file": "/var/run/teamd/team0.pid",
"runner_name": "lacp",
"zmq_enabled": false
},
"team_device": {
"ifinfo": {
"dev_addr": "a0:36:9f:75:9f:60",
"dev_addr_len": 6,
"ifindex": 12,
"ifname": "team0"
}
}
}
[root@netqe11 ~]# ip link set team0 addr 00:11:22:33:44:55
[root@netqe11 ~]# teamdctl team0 state dump
{
"ports": {
"p1p1": {
"ifinfo": {
"dev_addr": "00:11:22:33:44:55",
"dev_addr_len": 6,
"ifindex": 3,
"ifname": "p1p1"
},
"link": {
"duplex": "full",
"speed": 10000,
"up": true
},
"link_watches": {
"list": {
"link_watch_0": {
"delay_down": 0,
"delay_up": 0,
"down_count": 0,
"name": "ethtool",
"up": true
}
},
"up": true
},
"runner": {
"actor_lacpdu_info": {
"key": 0,
"port": 3,
"port_priority": 255,
"state": 115,
"system": "00:11:22:33:44:55",
"system_priority": 65535
},
"aggregator": {
"id": 0,
"selected": false
},
"key": 0,
"partner_lacpdu_info": {
"key": 0,
"port": 0,
"port_priority": 0,
"state": 0,
"system": "00:00:00:00:00:00",
"system_priority": 0
},
"prio": 255,
"selected": false,
"state": "defaulted"
}
},
"p1p2": {
"ifinfo": {
"dev_addr": "00:11:22:33:44:55",
"dev_addr_len": 6,
"ifindex": 7,
"ifname": "p1p2"
},
"link": {
"duplex": "full",
"speed": 10000,
"up": true
},
"link_watches": {
"list": {
"link_watch_0": {
"delay_down": 0,
"delay_up": 0,
"down_count": 0,
"name": "ethtool",
"up": true
}
},
"up": true
},
"runner": {
"actor_lacpdu_info": {
"key": 0,
"port": 7,
"port_priority": 255,
"state": 119,
"system": "00:11:22:33:44:55",
"system_priority": 65535
},
"aggregator": {
"id": 0,
"selected": false
},
"key": 0,
"partner_lacpdu_info": {
"key": 0,
"port": 0,
"port_priority": 0,
"state": 0,
"system": "00:00:00:00:00:00",
"system_priority": 0
},
"prio": 255,
"selected": false,
"state": "defaulted"
}
}
},
"runner": {
"active": true,
"fast_rate": true,
"select_policy": "lacp_prio",
"sys_prio": 65535
},
"setup": {
"daemonized": true,
"dbus_enabled": false,
"debug_level": 0,
"kernel_team_mode_name": "loadbalance",
"pid": 2965,
"pid_file": "/var/run/teamd/team0.pid",
"runner_name": "lacp",
"zmq_enabled": false
},
"team_device": {
"ifinfo": {
"dev_addr": "00:11:22:33:44:55",
"dev_addr_len": 6,
"ifindex": 12,
"ifname": "team0"
}
}
}
[root@netqe11 ~]# ip link set team0 addr 00:11:22:66:77:88
[root@netqe11 ~]# teamdctl team0 state dump
{
"ports": {
"p1p1": {
"ifinfo": {
"dev_addr": "00:11:22:66:77:88",
"dev_addr_len": 6,
"ifindex": 3,
"ifname": "p1p1"
},
"link": {
"duplex": "full",
"speed": 10000,
"up": true
},
"link_watches": {
"list": {
"link_watch_0": {
"delay_down": 0,
"delay_up": 0,
"down_count": 0,
"name": "ethtool",
"up": true
}
},
"up": true
},
"runner": {
"actor_lacpdu_info": {
"key": 0,
"port": 3,
"port_priority": 255,
"state": 115,
"system": "00:11:22:66:77:88",
"system_priority": 65535
},
"aggregator": {
"id": 0,
"selected": false
},
"key": 0,
"partner_lacpdu_info": {
"key": 0,
"port": 0,
"port_priority": 0,
"state": 0,
"system": "00:00:00:00:00:00",
"system_priority": 0
},
"prio": 255,
"selected": false,
"state": "defaulted"
}
},
"p1p2": {
"ifinfo": {
"dev_addr": "00:11:22:66:77:88",
"dev_addr_len": 6,
"ifindex": 7,
"ifname": "p1p2"
},
"link": {
"duplex": "full",
"speed": 10000,
"up": true
},
"link_watches": {
"list": {
"link_watch_0": {
"delay_down": 0,
"delay_up": 0,
"down_count": 0,
"name": "ethtool",
"up": true
}
},
"up": true
},
"runner": {
"actor_lacpdu_info": {
"key": 0,
"port": 7,
"port_priority": 255,
"state": 119,
"system": "00:11:22:66:77:88",
"system_priority": 65535
},
"aggregator": {
"id": 0,
"selected": false
},
"key": 0,
"partner_lacpdu_info": {
"key": 0,
"port": 0,
"port_priority": 0,
"state": 0,
"system": "00:00:00:00:00:00",
"system_priority": 0
},
"prio": 255,
"selected": false,
"state": "defaulted"
}
}
},
"runner": {
"active": true,
"fast_rate": true,
"select_policy": "lacp_prio",
"sys_prio": 65535
},
"setup": {
"daemonized": true,
"dbus_enabled": false,
"debug_level": 0,
"kernel_team_mode_name": "loadbalance",
"pid": 2965,
"pid_file": "/var/run/teamd/team0.pid",
"runner_name": "lacp",
"zmq_enabled": false
},
"team_device": {
"ifinfo": {
"dev_addr": "00:11:22:66:77:88",
"dev_addr_len": 6,
"ifindex": 12,
"ifname": "team0"
}
}
}
[root@netqe11 ~]# ip link set team0 addr 00:66:77:88:99:00
[root@netqe11 ~]# teamdctl team0 state dump
{
"ports": {
"p1p1": {
"ifinfo": {
"dev_addr": "00:66:77:88:99:00",
"dev_addr_len": 6,
"ifindex": 3,
"ifname": "p1p1"
},
"link": {
"duplex": "full",
"speed": 10000,
"up": true
},
"link_watches": {
"list": {
"link_watch_0": {
"delay_down": 0,
"delay_up": 0,
"down_count": 0,
"name": "ethtool",
"up": true
}
},
"up": true
},
"runner": {
"actor_lacpdu_info": {
"key": 0,
"port": 3,
"port_priority": 255,
"state": 115,
"system": "00:66:77:88:99:00",
"system_priority": 65535
},
"aggregator": {
"id": 0,
"selected": false
},
"key": 0,
"partner_lacpdu_info": {
"key": 0,
"port": 0,
"port_priority": 0,
"state": 0,
"system": "00:00:00:00:00:00",
"system_priority": 0
},
"prio": 255,
"selected": false,
"state": "defaulted"
}
},
"p1p2": {
"ifinfo": {
"dev_addr": "00:66:77:88:99:00",
"dev_addr_len": 6,
"ifindex": 7,
"ifname": "p1p2"
},
"link": {
"duplex": "full",
"speed": 10000,
"up": true
},
"link_watches": {
"list": {
"link_watch_0": {
"delay_down": 0,
"delay_up": 0,
"down_count": 0,
"name": "ethtool",
"up": true
}
},
"up": true
},
"runner": {
"actor_lacpdu_info": {
"key": 0,
"port": 7,
"port_priority": 255,
"state": 119,
"system": "00:66:77:88:99:00",
"system_priority": 65535
},
"aggregator": {
"id": 0,
"selected": false
},
"key": 0,
"partner_lacpdu_info": {
"key": 0,
"port": 0,
"port_priority": 0,
"state": 0,
"system": "00:00:00:00:00:00",
"system_priority": 0
},
"prio": 255,
"selected": false,
"state": "defaulted"
}
}
},
"runner": {
"active": true,
"fast_rate": true,
"select_policy": "lacp_prio",
"sys_prio": 65535
},
"setup": {
"daemonized": true,
"dbus_enabled": false,
"debug_level": 0,
"kernel_team_mode_name": "loadbalance",
"pid": 2965,
"pid_file": "/var/run/teamd/team0.pid",
"runner_name": "lacp",
"zmq_enabled": false
},
"team_device": {
"ifinfo": {
"dev_addr": "00:66:77:88:99:00",
"dev_addr_len": 6,
"ifindex": 12,
"ifname": "team0"
}
}
}
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-2176.html |
Description of problem: When team MAC address is changed, 'runner.actor_lacpdu_info.system' is not updated consistently. Version-Release number of selected component (if applicable): libteam-1.17-1.el7.x86_64 How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: 'runner.actor_lacpdu_info.system' address assignment is not consistent. Expected results: 'runner.actor_lacpdu_info.system' address assignment should be consistent. Additional info: When I change team MAC- The first time 'runner.actor_lacpdu_info.system' for both ports updated. The secons time 'runner.actor_lacpdu_info.system' for both ports did not update. The third time 'runner.actor_lacpdu_info.system' for only one port is updated. Log- [root@sam ~]# rpm -q libteam libteam-1.17-1.el7.x86_64 [root@sam ~]# rpm -q kernel kernel-3.10.0-302.el7.x86_64 [root@sam ~]# teamd -d -t team0 -c '{ "runner" : { "name": "lacp", "fast_rate": true }, "link_watch" : { "name": "ethtool" } }' [ 1170.637967] team0: Mode changed to "loadbalance" [root@sam ~]# [root@sam ~]# teamdctl team0 port add enp7s0f0 [ 1228.357467] be2net 0000:07:00.0 enp7s0f0: Link is Up [ 1228.416991] team0: Port device enp7s0f0 added [root@sam ~]# [ 1228.473292] be2net 0000:07:00.0: MAC address changed to ba:8d:42:65:f1:d8 [ 1228.567689] be2net 0000:07:00.0: MAC address changed to 00:90:fa:8a:5b:fa [root@sam ~]# teamdctl team0 port add enp7s0f1 [ 1235.186915] be2net 0000:07:00.1 enp7s0f1: Link is Up [ 1235.246404] team0: Port device enp7s0f1 added [root@sam ~]# [ 1235.302699] be2net 0000:07:00.1: MAC address changed to 00:90:fa:8a:5b:fa [root@sam ~]# ip link set team0 up [root@sam ~]# [root@sam ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp7s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master team0 state UP qlen 1000 link/ether 00:90:fa:8a:5b:fa brd ff:ff:ff:ff:ff:ff inet6 fe80::290:faff:fe8a:5bfa/64 scope link valid_lft forever preferred_lft forever 3: enp7s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master team0 state UP qlen 1000 link/ether 00:90:fa:8a:5b:fa brd ff:ff:ff:ff:ff:ff inet6 fe80::290:faff:fe8a:5c02/64 scope link valid_lft forever preferred_lft forever 4: enp5s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether e4:11:5b:dd:e6:6c brd ff:ff:ff:ff:ff:ff inet 10.19.15.26/24 brd 10.19.15.255 scope global dynamic enp5s0f0 valid_lft 85232sec preferred_lft 85232sec inet6 2620:52:0:130b:e611:5bff:fedd:e66c/64 scope global noprefixroute dynamic valid_lft 2591523sec preferred_lft 604323sec inet6 fe80::e611:5bff:fedd:e66c/64 scope link valid_lft forever preferred_lft forever 5: enp5s0f1: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN qlen 1000 link/ether e4:11:5b:dd:e6:6d brd ff:ff:ff:ff:ff:ff 6: team0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 00:90:fa:8a:5b:fa brd ff:ff:ff:ff:ff:ff inet6 fe80::290:faff:fe8a:5bfa/64 scope link valid_lft forever preferred_lft forever [root@sam ~]# teamdctl team0 state dump { "ports": { "enp7s0f0": { "ifinfo": { "dev_addr": "00:90:fa:8a:5b:fa", "dev_addr_len": 6, "ifindex": 2, "ifname": "enp7s0f0" }, "link": { "duplex": "full", "speed": 10000, "up": true }, "link_watches": { "list": { "link_watch_0": { "delay_down": 0, "delay_up": 0, "down_count": 0, "name": "ethtool", "up": true } }, "up": true }, "runner": { "actor_lacpdu_info": { "key": 0, "port": 2, "port_priority": 255, "state": 115, "system": "00:90:fa:8a:5b:fa", "system_priority": 65535 }, "aggregator": { "id": 0, "selected": false }, "key": 0, "partner_lacpdu_info": { "key": 0, "port": 0, "port_priority": 0, "state": 0, "system": "00:00:00:00:00:00", "system_priority": 0 }, "prio": 255, "selected": false, "state": "defaulted" } }, "enp7s0f1": { "ifinfo": { "dev_addr": "00:90:fa:8a:5b:fa", "dev_addr_len": 6, "ifindex": 3, "ifname": "enp7s0f1" }, "link": { "duplex": "full", "speed": 10000, "up": true }, "link_watches": { "list": { "link_watch_0": { "delay_down": 0, "delay_up": 0, "down_count": 0, "name": "ethtool", "up": true } }, "up": true }, "runner": { "actor_lacpdu_info": { "key": 0, "port": 3, "port_priority": 255, "state": 119, "system": "00:90:fa:8a:5b:fa", "system_priority": 65535 }, "aggregator": { "id": 0, "selected": false }, "key": 0, "partner_lacpdu_info": { "key": 0, "port": 0, "port_priority": 0, "state": 0, "system": "00:00:00:00:00:00", "system_priority": 0 }, "prio": 255, "selected": false, "state": "defaulted" } } }, "runner": { "active": true, "fast_rate": true, "select_policy": "lacp_prio", "sys_prio": 65535 }, "setup": { "daemonized": true, "dbus_enabled": false, "debug_level": 0, "kernel_team_mode_name": "loadbalance", "pid": 12318, "pid_file": "/var/run/teamd/team0.pid", "runner_name": "lacp", "zmq_enabled": false }, "team_device": { "ifinfo": { "dev_addr": "00:90:fa:8a:5b:fa", "dev_addr_len": 6, "ifindex": 6, "ifname": "team0" } } } [root@sam ~]# ip link set team0 addr 00:11:22:33:44:55 [root@sam ~]# [ 1756.598313] be2net 0000:07:00.1: MAC address changed to 00:11:22:33:44:55 [ 1756.694170] be2net 0000:07:00.0: MAC address changed to 00:11:22:33:44:55 [root@sam ~]# [root@sam ~]# teamdctl team0 state dump { "ports": { "enp7s0f0": { "ifinfo": { "dev_addr": "00:11:22:33:44:55", "dev_addr_len": 6, "ifindex": 2, "ifname": "enp7s0f0" }, "link": { "duplex": "full", "speed": 10000, "up": true }, "link_watches": { "list": { "link_watch_0": { "delay_down": 0, "delay_up": 0, "down_count": 0, "name": "ethtool", "up": true } }, "up": true }, "runner": { "actor_lacpdu_info": { "key": 0, "port": 2, "port_priority": 255, "state": 115, "system": "00:11:22:33:44:55", "system_priority": 65535 }, "aggregator": { "id": 0, "selected": false }, "key": 0, "partner_lacpdu_info": { "key": 0, "port": 0, "port_priority": 0, "state": 0, "system": "00:00:00:00:00:00", "system_priority": 0 }, "prio": 255, "selected": false, "state": "defaulted" } }, "enp7s0f1": { "ifinfo": { "dev_addr": "00:11:22:33:44:55", "dev_addr_len": 6, "ifindex": 3, "ifname": "enp7s0f1" }, "link": { "duplex": "full", "speed": 10000, "up": true }, "link_watches": { "list": { "link_watch_0": { "delay_down": 0, "delay_up": 0, "down_count": 0, "name": "ethtool", "up": true } }, "up": true }, "runner": { "actor_lacpdu_info": { "key": 0, "port": 3, "port_priority": 255, "state": 119, "system": "00:11:22:33:44:55", "system_priority": 65535 }, "aggregator": { "id": 0, "selected": false }, "key": 0, "partner_lacpdu_info": { "key": 0, "port": 0, "port_priority": 0, "state": 0, "system": "00:00:00:00:00:00", "system_priority": 0 }, "prio": 255, "selected": false, "state": "defaulted" } } }, "runner": { "active": true, "fast_rate": true, "select_policy": "lacp_prio", "sys_prio": 65535 }, "setup": { "daemonized": true, "dbus_enabled": false, "debug_level": 0, "kernel_team_mode_name": "loadbalance", "pid": 12318, "pid_file": "/var/run/teamd/team0.pid", "runner_name": "lacp", "zmq_enabled": false }, "team_device": { "ifinfo": { "dev_addr": "00:11:22:33:44:55", "dev_addr_len": 6, "ifindex": 6, "ifname": "team0" } } } [root@sam ~]# ip link set team0 addr 00:11:22:66:77:88 [root@sam ~]# [ 1901.191166] be2net 0000:07:00.1: MAC address changed to 00:11:22:66:77:88 [ 1901.287064] be2net 0000:07:00.0: MAC address changed to 00:11:22:66:77:88 [root@sam ~]# teamdctl team0 state dump { "ports": { "enp7s0f0": { "ifinfo": { "dev_addr": "00:11:22:66:77:88", "dev_addr_len": 6, "ifindex": 2, "ifname": "enp7s0f0" }, "link": { "duplex": "full", "speed": 10000, "up": true }, "link_watches": { "list": { "link_watch_0": { "delay_down": 0, "delay_up": 0, "down_count": 0, "name": "ethtool", "up": true } }, "up": true }, "runner": { "actor_lacpdu_info": { "key": 0, "port": 2, "port_priority": 255, "state": 115, "system": "00:11:22:33:44:55", "system_priority": 65535 }, "aggregator": { "id": 0, "selected": false }, "key": 0, "partner_lacpdu_info": { "key": 0, "port": 0, "port_priority": 0, "state": 0, "system": "00:00:00:00:00:00", "system_priority": 0 }, "prio": 255, "selected": false, "state": "defaulted" } }, "enp7s0f1": { "ifinfo": { "dev_addr": "00:11:22:66:77:88", "dev_addr_len": 6, "ifindex": 3, "ifname": "enp7s0f1" }, "link": { "duplex": "full", "speed": 10000, "up": true }, "link_watches": { "list": { "link_watch_0": { "delay_down": 0, "delay_up": 0, "down_count": 0, "name": "ethtool", "up": true } }, "up": true }, "runner": { "actor_lacpdu_info": { "key": 0, "port": 3, "port_priority": 255, "state": 119, "system": "00:11:22:33:44:55", "system_priority": 65535 }, "aggregator": { "id": 0, "selected": false }, "key": 0, "partner_lacpdu_info": { "key": 0, "port": 0, "port_priority": 0, "state": 0, "system": "00:00:00:00:00:00", "system_priority": 0 }, "prio": 255, "selected": false, "state": "defaulted" } } }, "runner": { "active": true, "fast_rate": true, "select_policy": "lacp_prio", "sys_prio": 65535 }, "setup": { "daemonized": true, "dbus_enabled": false, "debug_level": 0, "kernel_team_mode_name": "loadbalance", "pid": 12318, "pid_file": "/var/run/teamd/team0.pid", "runner_name": "lacp", "zmq_enabled": false }, "team_device": { "ifinfo": { "dev_addr": "00:11:22:66:77:88", "dev_addr_len": 6, "ifindex": 6, "ifname": "team0" } } } [root@sam ~]# ip link set team0 addr 00:66:77:88:99:00 [root@sam ~]# [ 1988.198977] be2net 0000:07:00.1: MAC address changed to 00:66:77:88:99:00 [ 1988.294895] be2net 0000:07:00.0: MAC address changed to 00:66:77:88:99:00 [root@sam ~]# teamdctl team0 state dump { "ports": { "enp7s0f0": { "ifinfo": { "dev_addr": "00:66:77:88:99:00", "dev_addr_len": 6, "ifindex": 2, "ifname": "enp7s0f0" }, "link": { "duplex": "full", "speed": 10000, "up": true }, "link_watches": { "list": { "link_watch_0": { "delay_down": 0, "delay_up": 0, "down_count": 0, "name": "ethtool", "up": true } }, "up": true }, "runner": { "actor_lacpdu_info": { "key": 0, "port": 2, "port_priority": 255, "state": 115, "system": "00:11:22:66:77:88", "system_priority": 65535 }, "aggregator": { "id": 0, "selected": false }, "key": 0, "partner_lacpdu_info": { "key": 0, "port": 0, "port_priority": 0, "state": 0, "system": "00:00:00:00:00:00", "system_priority": 0 }, "prio": 255, "selected": false, "state": "defaulted" } }, "enp7s0f1": { "ifinfo": { "dev_addr": "00:66:77:88:99:00", "dev_addr_len": 6, "ifindex": 3, "ifname": "enp7s0f1" }, "link": { "duplex": "full", "speed": 10000, "up": true }, "link_watches": { "list": { "link_watch_0": { "delay_down": 0, "delay_up": 0, "down_count": 0, "name": "ethtool", "up": true } }, "up": true }, "runner": { "actor_lacpdu_info": { "key": 0, "port": 3, "port_priority": 255, "state": 119, "system": "00:66:77:88:99:00", "system_priority": 65535 }, "aggregator": { "id": 0, "selected": false }, "key": 0, "partner_lacpdu_info": { "key": 0, "port": 0, "port_priority": 0, "state": 0, "system": "00:00:00:00:00:00", "system_priority": 0 }, "prio": 255, "selected": false, "state": "defaulted" } } }, "runner": { "active": true, "fast_rate": true, "select_policy": "lacp_prio", "sys_prio": 65535 }, "setup": { "daemonized": true, "dbus_enabled": false, "debug_level": 0, "kernel_team_mode_name": "loadbalance", "pid": 12318, "pid_file": "/var/run/teamd/team0.pid", "runner_name": "lacp", "zmq_enabled": false }, "team_device": { "ifinfo": { "dev_addr": "00:66:77:88:99:00", "dev_addr_len": 6, "ifindex": 6, "ifname": "team0" } } }