-
Bug
-
Resolution: Done
-
High
-
None
-
3 node cluster with oxygen
Test:
===
Update the extra routes using neutron router-update. (Remove one existing nexthop and add new nexthop for a route )
Issue:
====
Select group for ipv6 is not updated correctly. Display fib should have two entries for ipv6 extra route . But only one is present.
Impact:
=====
Load balance is impacted .
Details:
=====
Initial configuration:
root@cic-1:~# neutron router-update R1 --routes type=dict list=true destination=15.0.0.0/24,nexthop=11.1.2.3 destination=2111:12f:862:18::/64,nexthop=2001:db8:abcd:11:f816:3eff:feb8:ef29 destination=15.0.0.0/24,nexthop=11.1.2.4 destination=2111:12f:862:18::/64,nexthop=2001:db8:abcd:11:f816:3eff:fe9a:bbf4
oot@cic-1:~# neutron port-list | grep PORT2-N1
4903030d-a195-4ac1-a6ea-ffc89e4f1295 | PORT2-N1 | fa:16:3e:9a:bb:f4 | {"subnet_id": "779600e9-aec7-4910-95ba-04875df46587", "ip_address": "11.1.2.4"} |
root@cic-1:~#
Updated configuration by replacing PORT2-N1 with PORT6-N2
root@cic-1:~# neutron port-list | grep PORT6-N2
36894e04-a8a4-43bb-891c-d4c1c53236a9 | PORT6-N2 | fa:16:3e:32:34:60 | {"subnet_id": "e4094270-337e-48a7-bbad-7b81bddf9b54", "ip_address": "12.23.34.4"} |
root@cic-1:~# neutron router-update R1 --routes type=dict list=true destination=15.0.0.0/24,nexthop=11.1.2.3 destination=2111:12f:862:18::/64,nexthop=2001:db8:abcd:11:f816:3eff:feb8:ef29 destination=15.0.0.0/24,nexthop=12.23.34.4 destination=2111:12f:862:18::/64,nexthop=2025:caf:3214:12:f816:3eff:fe32:3460
In ipv4 selected group it is updated correctly and in ipv6 the previous entry is not removed.
In compute-0-1:
============
Bucket not removed in ipv6 nexthop group:
root@compute-0-1:~# sudo ovs-ofctl dump-flows br-int -O Openflow13 table=21 | grep 2111:12f:862:18
cookie=0x8000003, duration=91.745s, table=21, n_packets=16, n_bytes=1888, priority=74,ipv6,metadata=0x30d40/0xfffffe,ipv6_dst=2111:12f:862:18::/64 actions=group:150018
root@compute-0-1:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150018
group_id=150018,type=select,bucket=actions=group:150002,bucket=actions=set_field:0x444->tun_id,set_field:fa:16:3e:9a:bb:f4->eth_dst,load:0x200->NXM_NX_REG6[],resubmit(,220),bucket=actions=set_field:0x430->tun_id,set_field:fa:16:3e:32:34:60->eth_dst,load:0x200->NXM_NX_REG6[],resubmit(,220)
ipv4 nexthop group for reference:
root@compute-0-1:~# sudo ovs-ofctl dump-flows br-int -O Openflow13 table=21 | grep 15.0.0.
cookie=0x8000003, duration=117.282s, table=21, n_packets=0, n_bytes=0, priority=34,ip,metadata=0x30d40/0xfffffe,nw_dst=15.0.0.0/24 actions=group:150017
root@compute-0-1:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150018
root@compute-0-1:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150017
group_id=150017,type=select,bucket=actions=group:150001,bucket=actions=set_field:0x430->tun_id,set_field:fa:16:3e:32:34:60->eth_dst,load:0x200->NXM_NX_REG6[],resubmit(,220)
In compute-0-2:
============
Ipv6 nexthop entries not updated correctly:
root@compute-0-2:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150018
group_id=150018,type=select,bucket=actions=group:150006,bucket=actions=group:150013,bucket=actions=set_field:0x444->tun_id,set_field:fa:16:3e:b8:ef:29->eth_dst,load:0x500->NXM_NX_REG6[],resubmit(,220)
root@compute-0-2:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150006
group_id=150006,type=all,bucket=actions=set_field:fa:16:3e:fd:61:02->eth_src,set_field:fa:16:3e:9a:bb:f4->eth_dst,load:0xf00->NXM_NX_REG6[],resubmit(,220)
root@compute-0-2:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150013
group_id=150013,type=all,bucket=actions=set_field:fa:16:3e:93:27:fd->eth_src,set_field:fa:16:3e:32:34:60->eth_dst,load:0x1300->NXM_NX_REG6[],resubmit(,220)
Ipv4 nexthop entries for reference:
root@compute-0-2:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150017
group_id=150017,type=select,bucket=actions=group:150014,bucket=actions=set_field:0x444->tun_id,set_field:fa:16:3e:b8:ef:29->eth_dst,load:0x500->NXM_NX_REG6[],resubmit(,220)
root@compute-0-2:~# sudo ovs-ofctl dump-groups br-int -O Openflow13 | grep 150014
group_id=150014,type=all,bucket=actions=set_field:fa:16:3e:93:27:fd->eth_src,set_field:fa:16:3e:32:34:60->eth_dst,load:0x1300->NXM_NX_REG6[],resubmit(,220)
Entry 2111:12f:862:18::/64 with nexthop 192.168.113.11 is missing.
display fib output
RD Prefix NextHop Label Origin
-------------------------------------------------------------------
42d563c8-ccad-4369-846d-e44efe428d4a 11.1.2.4/32 192.168.113.11 100010 l
42d563c8-ccad-4369-846d-e44efe428d4a 11.1.2.3/32 192.168.113.10 100006 l
42d563c8-ccad-4369-846d-e44efe428d4a 2025:caf:3214:12:f816:3eff:fef0:9738/128 192.168.113.10 100013 l
42d563c8-ccad-4369-846d-e44efe428d4a 2025:caf:3214:12::1/128 0.0.0.0 100004 l
42d563c8-ccad-4369-846d-e44efe428d4a 11.1.2.5/32 192.168.113.10 100008 l
42d563c8-ccad-4369-846d-e44efe428d4a 11.1.2.6/32 192.168.113.11 100012 l
42d563c8-ccad-4369-846d-e44efe428d4a 15.0.0.0/24 192.168.113.11 100021 s
42d563c8-ccad-4369-846d-e44efe428d4a 15.0.0.0/24 192.168.113.10 100021 s
42d563c8-ccad-4369-846d-e44efe428d4a 2001:db8:abcd:11:f816:3eff:fe9a:bbf4/128 192.168.113.11 100009 l
42d563c8-ccad-4369-846d-e44efe428d4a 2025:caf:3214:12:f816:3eff:fe99:db53/128 192.168.113.10 100016 l
42d563c8-ccad-4369-846d-e44efe428d4a 2001:db8:abcd:11:f816:3eff:fe70:ca52/128 192.168.113.11 100011 l
42d563c8-ccad-4369-846d-e44efe428d4a 2025:caf:3214:12:f816:3eff:fe32:3460/128 192.168.113.11 100017 l
42d563c8-ccad-4369-846d-e44efe428d4a 11.1.2.1/32 0.0.0.0 100001 l
42d563c8-ccad-4369-846d-e44efe428d4a 2001:db8:abcd:11::1/128 0.0.0.0 100002 l
42d563c8-ccad-4369-846d-e44efe428d4a 12.23.34.1/32 0.0.0.0 100003 l
42d563c8-ccad-4369-846d-e44efe428d4a 2001:db8:abcd:11:f816:3eff:fe45:a00c/128 192.168.113.10 100007 l
42d563c8-ccad-4369-846d-e44efe428d4a 12.23.34.3/32 192.168.113.10 100014 l
42d563c8-ccad-4369-846d-e44efe428d4a 12.23.34.6/32 192.168.113.11 100019 l
42d563c8-ccad-4369-846d-e44efe428d4a 12.23.34.5/32 192.168.113.10 100015 l
42d563c8-ccad-4369-846d-e44efe428d4a 12.23.34.4/32 192.168.113.11 100018 l
42d563c8-ccad-4369-846d-e44efe428d4a 2111:12f:862:18::/64 192.168.113.10 100022 s
42d563c8-ccad-4369-846d-e44efe428d4a 2001:db8:abcd:11:f816:3eff:feb8:ef29/128 192.168.113.10 100005 l
42d563c8-ccad-4369-846d-e44efe428d4a 2025:caf:3214:12:f816:3eff:fe10:e5f1/128 192.168.113.11 100020 l
From config DS:
============
Config neutron:neutron/routers : http://localhost:8181/restconf/config/neutron:neutron/routers/
{
"routers": {
"router": [
{
"admin-state-up": true,
"distributed": false,
"name": "R1",
"routes": [
{ "destination": "15.0.0.0/24", "nexthop": "11.1.2.3" }
,
{ "destination": "15.0.0.0/24", "nexthop": "12.23.34.4" }
,
{ "destination": "2111:12f:862:18::/64", "nexthop": "2001:db8:abcd:11:f816:3eff:feb8:ef29" }
,
{ "destination": "2111:12f:862:18::/64", "nexthop": "2025:caf:3214:12:f816:3eff:fe32:3460" }
],
"tenant-id": "b0bb63ea-ae6b-4a64-9804-90b59a37a3d9",
"uuid": "42d563c8-ccad-4369-846d-e44efe428d4a"
}
]
}
}