-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: 1.10.0
-
Component/s: None
-
Labels:
-
Story Points:1
-
Epic Link:
-
Sprint:K Sprint #2 - Northbound
This will happened if two egress port exists in same device and one egress port need to pop VLAN.
For example, it will generate [VLAN_POP, OUTPUT:1, VLAN_ID:300, OUTPUT:2], this threatment will cause OFBadAction error
To resolve this problem, we need to order instructions, priority for each instructions:
1. simple output (tag value doesn't changed)
2. change tag value (set VLAN, set MPLS)
3. change tag type (push/pop vlan, mpls)
First two can be put in to treatment directly because they don't change tag type
Third type might be more complex, for example:
A packet without tag want to send to two output, one is VLAN 100, second is MPLS 10
And we will get a treatment with these instructions:
[VLAN_PUSH, VLAN_ID: 100, OUTPUT:1, MPLS_PUSH, MPLS_LABEL: 10, OUTPUT: 2]
Correct instructions should be:
[VLAN_PUSH, VLAN_ID: 100, OUTPUT:1, VLAN_POP, MPLS_PUSH, MPLS_LABEL: 10, OUTPUT: 2]
To resolve this problem, we need to add additional "cleanup" instruction (e.g. VLAN_POP)
Update:
I found we can resolve this issue by setting "useFlowOptimization" to true