Just checked with the git master of libteam. Problem still present, the third NIC gets randomly assigned MAC instead of the one the other two NICs get.

As to how I run it:
- the physical interfaces (eno* enp*) are in their default state, not touched by any scripts
- teamd is being run using the teamd@.service file as present in libteam, so:
root     10757  0.4  0.0  41032  4252 ?        Ss   08:23   0:00 /usr/bin/teamd -U -D -o -t sw2 -f /etc/sysconfig/interfaces/team-sw2

Interesting tidbit: if I reduce the config to two interfaces, both get the proper MAC. Only if I extend them to three, the third gets the random MAC.
 


2016-08-08 15:26 GMT+02:00 Jiri Pirko <jiri@resnulli.us>:
Thu, Aug 04, 2016 at 05:45:17PM CEST, mariusz.g.mazur@gmail.com wrote:
>I'm running kernel 4.7.0 and teamd 1.25. The following config should set
>all of the configured links to the same MAC address. It doesn't:
>
>[root@vc1n3 ~]# teamdctl sw2 config dump
>{
>    "device": "sw2",
>    "link_watch": {
>        "delay_up": 5000,
>        "name": "ethtool"
>    },
>    "ports": {
>        "eno4": {},
>        "eno5": {},
>        "enp17s0f1": {}
>    },
>    "runner": {
>        "active": true,
>        "fast_rate": true,
>        "name": "lacp",
>        "tx_hash": [
>            "eth",
>            "ipv4",
>            "ipv6"
>        ]
>    }
>}
>
>And the links are:
>
>3: enp17s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master
>sw2 state UP mode DEFAULT group default qlen 1000
>    link/ether 00:0a:f7:06:1e:6a brd ff:ff:ff:ff:ff:ff
>6: eno4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master sw2
>state UP mode DEFAULT group default qlen 1000
>    link/ether 00:0a:f7:06:1e:6a brd ff:ff:ff:ff:ff:ff
>7: eno5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master sw2
>state UP mode DEFAULT group default qlen 1000
>    link/ether f2:8a:c5:1a:67:47 brd ff:ff:ff:ff:ff:ff
>
>As you can see, eno5 was changed (from the NIC's default
>'98:be:94:45:31:f5'), but to something seemingly random. Interestingly
>enough if I explicitly add  "hwaddr": "00:0a:f7:06:1e:6a" to the config,
>all three NICs are set up properly and I have no issues.
>
>But as it stands, the default behavior is buggy for me.

Indeed looks like a but. Could you please try libteam/teamd from our
git? There's one lacp fix there. But I think it won't help.

Could you please send how exactly are you bringing the team device and
ports up? This looks like a possible race condition in teamd. I don't
think this is kernel related.


Thanks!