[NETVIRT-81] SANITY: After configuring NAPT, table 26 and table 46 are not programmed Created: 19/Aug/16  Updated: 25/Oct/16  Resolved: 25/Oct/16

Status: Resolved
Project: netvirt
Component/s: General
Affects Version/s: Boron
Fix Version/s: None

Type: Bug
Reporter: Hari Krishna Assignee: Satish Dutt
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 6476
Priority: Normal

 Description   

General perfomance related changes for beryliium. As such NeutronRouterDpnsMap, which was used by the SNAT was not getting populated. So in this commit, the changes were made for REVERTING the behaviour of the code related SNAT to behave like the one before.

Also the DECOUPLING of the code in the VpnManager module, handling the
NatNeutronRouterModel, is started with this review. New Class
NatInterfaceStateChangeListner in NatModule will be taking care of this model.

Changes in the RouterInterfacesListner add():

1) RouterInterfaces map of the ODL-L3 VPN has been populated irrespective
of the InterfaceState check, as done in the earlier commits.
RouterInterfaces map will be used by the InterfaceStateChangeListner to
populate/change the NeutronRouterDpnMap accordingly, whenever InterfaceState changes

2) InterfaceState check has been reintroduced for populating the
NeutronRouterDpnMap.

Changes made int RouterInterfacesLisner remove():

1) Code for removing the entry of the RouterInterfaces map for the
corresponding deleted NeutronRouterInterfacesMap entry has been
introduced.

Changes in the InterfaceStateChangeListner add():

1) RouterInterfaces map is being querried from the ODL-L3 VPN.

Changes in the InterfaceStateChangeListner remove():

1) Code handling the removal of the Nat related NeutronRouterDpnMap has
been moved to the new Listener NatInterfaceStateChangeListner

Changes in VpnInterfaceManager :

1) One of the overloaded method removeFromNeutronRouterDpnsMap() has been
removed and the same code is introduced to NatInterfaceStateChangeListner



 Comments   
Comment by Hari Krishna [ 19/Aug/16 ]

Changes in the RouterInterfacesListner add():

1) RouterInterfaces map of the ODL-L3 VPN has been populated irrespective
of the InterfaceState check, as done in the earlier commits.
RouterInterfaces map will be used by the InterfaceStateChangeListner to
populate/change the NeutronRouterDpnMap accordingly, whenever InterfaceState changes

2) InterfaceState check has been reintroduced for populating the
NeutronRouterDpnMap.

Changes made int RouterInterfacesLisner remove():

1) Code for removing the entry of the RouterInterfaces map for the
corresponding deleted NeutronRouterInterfacesMap entry has been
introduced.

Changes in the InterfaceStateChangeListner add():

1) RouterInterfaces map is being querried from the ODL-L3 VPN.

Changes in the InterfaceStateChangeListner remove():

1) Code handling the removal of the Nat related NeutronRouterDpnMap has
been moved to the new Listener NatInterfaceStateChangeListner

Changes in VpnInterfaceManager :

1) One of the overloaded method removeFromNeutronRouterDpnsMap() has been
removed and the same code is introduced to NatInterfaceStateChangeListner

Comment by Vivekanandan Narasimhan [ 31/Aug/16 ]

As we did not have time to verify this fix holistically, we will not be landing the changes into Stable/Boron, but we will Unit Test and land them once the stable/boron branch opens after the release.

So the Fix will go into SR1 for stable/boron.

Comment by Arnon Yahel [ 10/Oct/16 ]

Is this bug still open?

We suspect having the same issue

In T26 no flow is programmed to route to T46

cookie=0x8000004, duration=1032703.891s, table=26, n_packets=0, n_bytes=0, priority=10,ip,metadata=0x22302/0xfffffffe,nw_src=10.10.0.2 actions=set_field:10.54.5.117->ip_src,write_metadata:0x222e0/0xfffffffe,goto_table:28
cookie=0x8000004, duration=431251.677s, table=26, n_packets=0, n_bytes=0, priority=10,ip,metadata=0x222e6/0xfffffffe,nw_src=10.10.0.4 actions=set_field:10.54.5.187->ip_src,write_metadata:0x222e0/0xfffffffe,goto_table:28
cookie=0x8000006, duration=82532.905s, table=26, n_packets=7968, n_bytes=780864, priority=5,ip,metadata=0x222e2/0xfffffffe actions=write_actions(set_field:0x11171->tun_id,group:200001)

And T46 is missing.

Can you verify it is the same bug?

Comment by Vivekanandan Narasimhan [ 25/Oct/16 ]

This issue has been fixed in stable/boron via review:
https://git.opendaylight.org/gerrit/#/c/47398/

Generated at Wed Feb 07 20:20:39 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.