Changes to the Service Chain in a policy disrupts route leaking for several minutes
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R3.0 |
Fix Committed
|
High
|
Manish Singh | |||
Trunk |
Fix Committed
|
High
|
Manish Singh |
Bug Description
Issue found in several 3.0 builds. More specifically, last time it was seen in 2715.
Initially we have the following policy:
pass protocol any network net1 ports any <> network net2 ports any services SI-1
SI-1 is In-Network. Bidirectional leaking is fine, and takes place almost immediately after the policy is applied to net1 and net2.
Then we add SI-2, an In-Network-NAT Service Instance, to the chain:
pass protocol any network net1 ports any <> network net2 ports any services SI-1,SI-2
As expected, route leaking from left to right doesn't happen. This is due to SI-2 being NAT.
However, route leaking from right to left should happen. It does happen, but only after approximately three minutes.
The same delay occurs when we remove SI-2 from the chain.
Similar symptoms have been observed in service chains with purely In-Network services and no NAT.
tags: | added: service-chain |
no longer affects: | opencontrail |
tags: | added: blocker |
tags: | added: releasenote |
This bug is seen if the left/right VM happens to land on the same compute as the SIs.
If right VM is on same compute as SIs, no routes are leaked into the right SI RIs. If left VM is on the same compute as SIs, no routes are leaked into the left SI RIs. If all are on the same compute, either of the above could happen. The SI RIs are created/deleted correctly based on adding/removing SI form the chain; the acl/vrf-assign rule also looked correct; for some reason the routes weren't leaked for several minutes resulting in vrouter dropping the packets (NoSrcRt or NoDstRt).