DVR:Removing an interface from router with multiple interfaces and with ext gw set does not remove interface from SNAT namespace
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
High
|
Swaminathan Vasudevan |
Bug Description
Steps to reproduce:
1) Create one private and one public network.
2) Create DVR Router.
3) Add internal interface to router.
4) Set gateway to router. (qrouter & snat namespace should be created).
5) Remove internal interface from router (by port or by subnet)
6) Notice that corresponding SNAT interface for the internal network from SNAT namespace is still there.
So if we add internal interface again to a router then 2 SNAT interfaces for internal network will be there in the SNAT Namespace, which breaks external traffic for private subnet.
$ neutron net-list
+------
| id | name | subnets |
+------
| 6a180ace-
| acf1512c-
+------
$ neutron router-list
+------
| id | name | external_
+------
| 4948fdfa-
+------
$ neutron router-
Added interface 59f3fd7b-
$ neutron router-gateway-set r1 ext-net
Set gateway for router r1
$ ip netns
snat-4948fdfa-
qrouter-
$ neutron router-
Removed interface from router r1
It remove interface from qrouter namespace
$ sudo ip netns exec qrouter-
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Not removing sg interface from sname namespace.
sudo ip netns exec snat-4948fdfa-
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
qg-9c6eb6ec-17 Link encap:Ethernet HWaddr fa:16:3e:77:4c:43
inet addr:10.10.20.107 Bcast:10.10.20.255 Mask:255.255.255.0
inet6 addr: fe80::f816:
UP BROADCAST RUNNING MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:0 (0.0 B) TX bytes:1300 (1.3 KB)
sg-4f5377ff-fc Link encap:Ethernet HWaddr fa:16:3e:ae:ac:d2
inet addr:192.168.20.3 Bcast:192.
inet6 addr: fe80::f816:
UP BROADCAST RUNNING MTU:1500 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:992 (992.0 B) TX bytes:952 (952.0 B)
Re-adding internal interface to router will have 2 sg ports inside the SNAT namespace.
$ neutron router-
Added interface 57d66312-
$ sudo ip netns exec snat-4948fdfa-
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
qg-9c6eb6ec-17 Link encap:Ethernet HWaddr fa:16:3e:77:4c:43
inet addr:10.10.20.107 Bcast:10.10.20.255 Mask:255.255.255.0
inet6 addr: fe80::f816:
UP BROADCAST RUNNING MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:0 (0.0 B) TX bytes:1300 (1.3 KB)
sg-4f5377ff-fc Link encap:Ethernet HWaddr fa:16:3e:ae:ac:d2
inet addr:192.168.20.3 Bcast:192.
inet6 addr: fe80::f816:
UP BROADCAST RUNNING MTU:1500 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:992 (992.0 B) TX bytes:952 (952.0 B)
sg-9ea241ad-af Link encap:Ethernet HWaddr fa:16:3e:8c:ac:bb
inet addr:192.168.20.4 Bcast:192.
inet6 addr: fe80::f816:
UP BROADCAST RUNNING MTU:1500 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:174 (174.0 B) TX bytes:964 (964.0 B)
Note: This issue is noticed in Kilo and later.
Changed in neutron: | |
assignee: | nobody → Ashok Chippa (a-n-chippa) |
Changed in neutron: | |
importance: | Undecided → High |
Changed in neutron: | |
assignee: | Carl Baldwin (carl-baldwin) → Swaminathan Vasudevan (swaminathan-vasudevan) |
Changed in neutron: | |
milestone: | none → liberty-rc1 |
Changed in neutron: | |
status: | Fix Committed → Fix Released |
Changed in neutron: | |
milestone: | liberty-rc1 → 7.0.0 |
Verified the issue is confirmed.
This issue has been introduced in the l3 agent refactor.
I have a fix and will upload a patch.