PEF_VALUE#

code: 1777

# set
<module-index>/<port-index> PEF_VALUE [<flow_index>, <filter_type>, <protocol_segment_index>] <pid> <value>

# get
<module-index>/<port-index> PEF_VALUE [<flow_index>, <filter_type>, <protocol_segment_index>] ?

Description#

This command is valid only for Extended filter mode (check PEF_MODE.).

Defines the byte values that can be matched if selected by PEF_MASK.

If <protocol_segment_index> = 0, the maximum number of match value bytes that can be set is determined by the total length of the protocol segments specified with PEF_PROTOCOL. E.g. if PEF_PROTOCOL is set to ETHERNET then only 12 bytes can be set. In order to set the full 128 bytes, either specify a detailed protocol segment list, or use the raw protocol segment type. This specifies 12 + 116 = 128 bytes.

If <protocol_segment_index> != 0, only the bytes covered by that segment are manipulated, so if PEF_PROTOCOL is set to ETHERNET VLAN ETHERTYPE ECPRI, then <protocol_segment_index> = 4 selects the 8 bytes of the eCPRI header starting at byte position (12 + 2 + 4) = 18.

For set command where fewer value bytes are provided than specified by the protocol segment, those unspecified bytes are set to zero.

The get command always returns the number of bytes specified by the protocol segment.

Actions#

set, get

Parameters#

  1. value: hex list, the raw bytes comprising the packet header

Example#

# set
input:  0/1 PEF_VALUE [1,0,1] 0x000000000000000000000000
output: <OK>

# get
input:  0/1 PEF_VALUE [1,0,1] ?
output: 0/1 PEF_VALUE [1,0,1] 0x000000000000000000000000