Skip to content

loopback ip not clear in kernel after config reload #3814

@lguohan

Description

@lguohan

Description

Steps to reproduce the issue:

  1. check current configuration, the config db matches the kernel configuration.
admin@vlab-01:~$ ip addr show Loopback0
72: Loopback0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether b6:c6:c5:15:92:28 brd ff:ff:ff:ff:ff:ff
    inet 10.1.0.32/32 scope global Loopback0
       valid_lft forever preferred_lft forever
    inet6 fc00:1::32/128 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::b4c6:c5ff:fe15:9228/64 scope link 
       valid_lft forever preferred_lft forever
admin@vlab-01:~$ redis-cli
127.0.0.1:6379> select 4
OK
127.0.0.1:6379[4]> keys *LOOP*
1) "LOOPBACK_INTERFACE|Loopback0|10.1.0.32/32"
2) "LOOPBACK_INTERFACE|Loopback0|FC00:1::32/128"
3) "LOOPBACK_INTERFACE|Loopback0"
127.0.0.1:6379[4]> exit
  1. modify /etc/sonic/config_db.json manually to change loopback ip to 10.1.1.32/32
    "LOOPBACK_INTERFACE": {
        "Loopback0": {},
        "Loopback0|10.1.1.32/32": {},
        "Loopback0|FC00:1::32/128": {}
    },
  1. after config reload, config db only has the new loopback ip, but we still see the old loopback ip 10.1.0.32 in the kernel.
admin@vlab-01:~$ sudo config reload -y
admin@vlab-01:~$ ip addr show Loopback0             
72: Loopback0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 10.1.0.32/32 scope global Loopback0
       valid_lft forever preferred_lft forever
    inet 10.1.1.32/32 scope global Loopback0
       valid_lft forever preferred_lft forever
    inet6 fc00:1::32/128 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::b4c6:c5ff:fe15:9228/64 scope link 
       valid_lft forever preferred_lft forever

admin@vlab-01:~$ redis-cli -n 4
127.0.0.1:6379[4]> keys *LOOP*
1) "LOOPBACK_INTERFACE|Loopback0|FC00:1::32/128"
2) "LOOPBACK_INTERFACE|Loopback0"
3) "LOOPBACK_INTERFACE|Loopback0|10.1.1.32/32"

Describe the results you received:

Describe the results you expected:

10.1.0.32/32 should be removed in the loopback0

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

**Output of `show version`:** latest version.

```

admin@vlab-01:~$ show version

SONiC Software Version: SONiC.HEAD.1549-eb5a1f7cc
Distribution: Debian 9.11
Kernel: 4.9.0-9-2-amd64
Build commit: eb5a1f7cc
Build date: Fri Nov 22 06:09:42 UTC 2019
Built by: johnar@jenkins-worker-8
```

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

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

Metadata

Metadata

Assignees

No one assigned

    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