The OF controller can use port and VLAN values other than ‟ANY” for VPLS SAP match and for VPLS steering to SAP for H-OFS instances with the switch-defined-cookie command enabled.
To specify a port in an OF message, SR OS TmnxPortId encoding must be used. The allowed values are those for Ethernet physical ports and LAG.
To encode VLAN tags, OXM_OF_VLAN_ID and new experimenter OFL_OUT_VLAN_ID fields are used as shown in Table: VLAN tag encoding.
NULL tag, dot1Q tag, inner QinQ tag VlanId | Outer QinQ tag VlanId |
OXM_OF_VLAN_VID |
OFL_OUT_VLAN_ID (Experimenter field uses same encoding as OXM_OF_VLAN_VID) |
Table: Translation of OF Programmed Values to SR OS SAPs shows how OF programmed values are translated to SR OS SAPs.
OXM_OF_IN_PORT | OXM_OF_VLAN_VID | OFL_OUT_VLAN_ID | Matching SAP SR OS Encoding | Supported in flow_add | Supported in flow_mod flow_del mp_req | Comment |
---|---|---|---|---|---|---|
TmnxPortId for port or LAG |
Value: 0x0000 Mask: Absent |
Must be absent |
port-id lag-id |
√ |
√ |
Mask must be absent |
TmnxPortId for port or LAG |
Value: 0x1yyy, yyy encodes qtag1 Mask: Absent |
Must be absent |
port-id:qtag1 lag-id:qtag1 |
√ |
√ |
Mask must be absent |
TmnxPortId for port or LAG |
Value: 0x1FFF Mask: Absent |
Must be absent |
port-id:* lag-id:* |
√ |
√ |
Mask must be absent |
TmnxPortId for port or LAG |
Value: 0x1000 Mask: 0x1000 |
Must be absent |
port-id: any lag-id: any where "any" is either * or a valid VLAN-ID (but not NULL) |
√ |
Mask must be 0x1000 |
|
TmnxPortId for port or LAG |
Value: 0x1yyy, yyy encodes qtag2 Mask: Absent |
Value: 0x1zzz, zzz encodes qtag1 Mask: Absent |
port-id:qtag1.qtag2 lag-id:qtag1.qtag2 |
√ |
√ |
Mask must be absent |
TmnxPortId for port or LAG |
Value: 0x1FFF Mask: Absent |
Value: 0x1zzz, zzz encodes qtag1 Mask: Absent |
port-id: qtag1.* lag-id: qtag1.* |
√ |
√ |
Mask must be absent |
TmnxPortId for port or LAG |
Value: 0x1FFF Mask: Absent |
Value: 0x1FFF Mask: Absent |
port-id: *.* lag-id: *.* |
√ |
√ |
Mask must be absent |
TmnxPortId for port or LAG |
Value: 0x1000 Mask: 0x1000 |
Value: 0x1zzz, zzz encodes qtag1 Mask: Absent |
port-id: qtag1.any lag-id: qtag1.any where any is either * or a valid VLAN-ID (but not NULL) |
√ |
Mask must be absent for OFL_OUT_VLAN_VID |
|
TmnxPortId for port or LAG |
Value: 0x1000 Mask: 0x1000 |
Value: 0x1FFF Mask: Absent |
port-id: *.any lag-id: *.any where "any" is either * or a valid VLAN-ID (but not NULL) |
√ |
Mask must be absent for OFL_OUT_VLAN_VID |
|
TmnxPortId for port or LAG |
Value: 0x1000 Mask: 0x1000 |
Value: 0x1000 Mask: 0x1000 |
port-id: any.any lag-id: any.any where "any" is either * or a valid VLAN-ID (but not NULL) |
√ |
Masks must be 0x1000 |
|
TmnxPortId for port or LAG |
Value: 0x0000 Mask: Absent |
Value: 0x1FFF Mask: Absent |
port-id: *.null |
√ |
√ |
Mask must be absent |