Incorrect vrf translations done if policy has multiple services for a specific port
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R3.0 |
Fix Committed
|
High
|
Sahil Sabharwal | |||
R3.0.3.x |
Fix Committed
|
High
|
Sahil Sabharwal | |||
R3.1 |
Fix Committed
|
High
|
Sahil Sabharwal | |||
R3.2 |
Fix Committed
|
High
|
Sahil Sabharwal | |||
Trunk |
Fix Committed
|
High
|
Sahil Sabharwal |
Bug Description
consider a network policy of type:
pass protocol any network serial-left ports any <> network serial-right ports [ 5100 ] services serial-1,serial-2
serial-1 and serial-2 are both in-network services. Return traffic is returned from serial-2 directly to the client causing invalid source drops in vRouter. The issue seems to be with the interface ACL which are missing an ACE for source port 5100. As such, wrong vrf translations are being done.
On compute running serial-2:
Index Source:
-------
82484<=>140580 1.1.1.5:1101 17 (7->10)
(Gen: 2, K(nh):107, Action:F, Flags:, QOS:-1, S(nh):18, Stats:157/4396, SPort 53679 TTL 0)
140580<=>82484 2.2.2.5:5100 17 (7)
(Gen: 2, K(nh):107, Action:F, Flags:, QOS:-1, S(nh):107, Stats:157/10990, SPort 56682 TTL 0)
185640<=>228540 1.1.1.5:1101 17 (6->19)
(Gen: 1, K(nh):129, Action:F, Flags:, QOS:-1, S(nh):129, Stats:157/6594, SPort 59791 TTL 0)
228540<=>185640 2.2.2.5:5100 17 (6)
(Gen: 1, K(nh):129, Action:F, Flags:, QOS:-1, S(nh):20, Stats:157/8792, SPort 56481 TTL 0)
2nd flow should've been 7->10 and 4th flow should've been 6->19; instead the packet is routed in the primary VRF directly to the client.
tags: | added: config |
tags: | removed: vrouter |
tags: | added: service-chain |
Review in progress for https:/ /review. opencontrail. org/27226
Submitter: <email address hidden> (<email address hidden>)