SR OS H-OFS port and VLAN encoding

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.

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.

Table: Translation of OF Programmed Values 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