Before creating the static NAT mapping for a FIP in VPP, the agent
checks if the fixed IP address associated with the FIP is present
amongst the existing static mappings. However, this check does not
take into account the fact that the same fixed IP address could be
associated with another FIP but in a different VRF.
For example, for the two FIPs are created as follows, the static NAT
mapping for FIP2 never gets created in VPP.
Reviewed: https:/ /review. opendev. org/712490 /git.openstack. org/cgit/ x/networking- vpp/commit/ ?id=d10d6ee6d08 1b67e50482bf272 a7098596fcc888
Committed: https:/
Submitter: Zuul
Branch: master
commit d10d6ee6d081b67 e50482bf272a709 8596fcc888
Author: Onong Tayeng <email address hidden>
Date: Wed Mar 11 21:41:58 2020 +0530
incorrect static NAT mapping check
Before creating the static NAT mapping for a FIP in VPP, the agent
checks if the fixed IP address associated with the FIP is present
amongst the existing static mappings. However, this check does not
take into account the fact that the same fixed IP address could be
associated with another FIP but in a different VRF.
For example, for the two FIPs are created as follows, the static NAT
mapping for FIP2 never gets created in VPP.
(192.168.10.5, FIP1, VRF1)
(192.168.10.5, FIP2, VRF2)
Another undesirable consequence is that test cases which try to
clean up the second static mapping fail.
The fix is to check for the existence of (fixedip, extip, vrf) and
not just the fixed IP address.
Change-Id: Iccea8dc214e308 a9f78de3ef11cd7 9496e6a473b
Closes-Bug: #1867022