Skip to content

Warm-reboot: teamd warm restart caused neighbor deleted and learned again.  #2600

@jipanyang

Description

@jipanyang

warm restart of teamd caused interruption on Linux neighbor entries.

It may mess up neighbor restore processing even for system warm reboot.

Steps to reproduce the issue:
1.

root@vlab-01:/host/warmboot/teamd# show warm_restart config
name    enable    timer_name    timer_duration
------  --------  ------------  ----------------
system  true      NULL          NULL
teamd   true      NULL          NULL
root@vlab-01:/host/warmboot/teamd# teamshow
Flags: A - active, I - inactive, Up - up, Dw - Down, N/A - not available, S - selected, D - deselected
  No.  Team Dev         Protocol     Ports
-----  ---------------  -----------  --------------
 0001  PortChannel0001  LACP(A)(Up)  Ethernet112(S)
 0002  PortChannel0002  LACP(A)(Up)  Ethernet116(S)
 0003  PortChannel0003  LACP(A)(Up)  Ethernet120(S)
 0004  PortChannel0004  LACP(A)(Up)  Ethernet124(S)
root@vlab-01:/host/warmboot/teamd# 
root@vlab-01:/host/warmboot/teamd# 
root@vlab-01:/host/warmboot/teamd# docker exec -i teamd pkill -USR1 teamd
root@vlab-01:/host/warmboot/teamd# 
root@vlab-01:/host/warmboot/teamd# ls -l
total 16
-rw------- 1 root root 124 Feb 23 23:02 Ethernet112
-rw------- 1 root root 124 Feb 23 23:02 Ethernet116
-rw------- 1 root root 124 Feb 23 23:02 Ethernet120
-rw------- 1 root root 124 Feb 23 23:02 Ethernet124
root@vlab-01:/host/warmboot/teamd# systemctl restart teamd

Describe the results you received:


2019-02-23.23:02:12.913622|NEIGH_TABLE:PortChannel0001:fc00::72|DEL
2019-02-23.23:02:12.913681|NEIGH_TABLE:PortChannel0001:10.0.0.57|DEL
2019-02-23.23:02:12.949428|LAG_TABLE:PortChannel0001|SET|mtu:9100
2019-02-23.23:02:12.951454|PORT_TABLE:Ethernet112|SET|mtu:9100
2019-02-23.23:02:12.958725|NEIGH_TABLE:PortChannel0002:10.0.0.59|DEL
2019-02-23.23:02:12.958774|NEIGH_TABLE:PortChannel0002:fc00::76|DEL
2019-02-23.23:02:13.000059|LAG_TABLE:PortChannel0002|SET|mtu:9100
2019-02-23.23:02:13.000761|PORT_TABLE:Ethernet116|SET|mtu:9100
2019-02-23.23:02:13.009988|NEIGH_TABLE:PortChannel0003:fc00::7a|DEL
2019-02-23.23:02:13.010062|NEIGH_TABLE:PortChannel0003:10.0.0.61|DEL
2019-02-23.23:02:13.042046|LAG_TABLE:PortChannel0003|SET|mtu:9100
2019-02-23.23:02:13.042903|PORT_TABLE:Ethernet120|SET|mtu:9100
2019-02-23.23:02:13.049285|NEIGH_TABLE:PortChannel0004:10.0.0.63|DEL
2019-02-23.23:02:13.049356|NEIGH_TABLE:PortChannel0004:fc00::7e|DEL
2019-02-23.23:02:13.084162|LAG_TABLE:PortChannel0004|SET|mtu:9100
2019-02-23.23:02:13.084728|PORT_TABLE:Ethernet124|SET|mtu:9100
2019-02-23.23:02:13.533543|NEIGH_TABLE:PortChannel0004:fc00::7e|SET|neigh:52:54:00:e5:5b:02|family:IPv6
2019-02-23.23:02:13.597808|NEIGH_TABLE:PortChannel0003:10.0.0.61|SET|neigh:52:54:00:31:7b:48|family:IPv4
2019-02-23.23:02:13.636639|NEIGH_TABLE:PortChannel0002:10.0.0.59|SET|neigh:52:54:00:ed:7a:ca|family:IPv4
2019-02-23.23:02:14.686387|NEIGH_TABLE:PortChannel0004:10.0.0.63|SET|neigh:52:54:00:e5:5b:02|family:IPv4
2019-02-23.23:02:15.115361|NEIGH_TABLE:PortChannel0002:fc00::76|SET|neigh:52:54:00:ed:7a:ca|family:IPv6
2019-02-23.23:02:15.118383|NEIGH_TABLE:PortChannel0001:fc00::72|SET|neigh:52:54:00:30:12:7f|family:IPv6
2019-02-23.23:02:15.121553|NEIGH_TABLE:PortChannel0001:10.0.0.57|SET|neigh:52:54:00:30:12:7f|family:IPv4
2019-02-23.23:02:15.212709|NEIGH_TABLE:PortChannel0003:fc00::7a|SET|neigh:52:54:00:31:7b:48|family:IPv6
2019-02-23.23:03:25.231184|LAG_TABLE:PortChannel0001|SET|admin_status:up|oper_status:up
2019-02-23.23:03:25.231393|LAG_TABLE:PortChannel0003|SET|admin_status:up|oper_status:up
2019-02-23.23:03:25.231491|LAG_TABLE:PortChannel0002|SET|admin_status:up|oper_status:up
2019-02-23.23:03:25.231564|LAG_TABLE:PortChannel0004|SET|admin_status:up|oper_status:up

Describe the results you expected:
No impact on existing arp and ND entries.

Additional information you deem important (e.g. issue happens only occasionally):

**Output of `show version`:**

```
(paste your output here)
```

**Attach debug file `sudo generate_dump`:**

```
(paste your output here)
```

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions