PEF_PROTOCOL#
code: 1779
# set
<module-index>/<port-index> PEF_PROTOCOL [<flow_index>, <filter_type>] <segment_list>
# get
<module-index>/<port-index> PEF_PROTOCOL [<flow_index>, <filter_type>] ?
Description#
Extended mode only. Defines the sequence of protocol segments that can be
matched. The total length of the specified segments cannot exceed 128 bytes. If
an existing sequence of segments is changed (using PEF_PROTOCOL
) the underlying
value and mask bytes remain unchanged, even though the semantics of those bytes
may have changed. However, if the total length, in bytes, of the segments is
reduced, then the excess bytes of value and mask are set to zero. I.e. to update
an existing filter, you must first correct the list of segments (using
PEF_PROTOCOL
) and subsequently update the filtering value (using PEF_VALUE
) and filtering mask (PEF_MASK
).
Actions#
set, get
Parameters#
segment_list
: byte list, specifying the list of protocol segment types in the order they are expected in a frame. First segment type must beETHERNET
; the following can be chosen freely.
ETHERNET = 1
VLAN = 2
ARP = 3
IP = 4
IPV6 = 5
UDP = 6
TCP = 7
LLC = 8
SNAP = 9
GTP = 10
ICMP = 11
RTP = 12
RTCP = 13
STP = 14
SCTP = 15
MACCTRL = 16
MPLS = 17
PBBTAG = 18
FCOE = 19
FC = 20
FCOETAIL = 21
IGMPV3L0 = 22
IGMPV3L1 = 23
UDPCHECK = 24
IGMPV2 = 25
MPLS_TP_OAM = 26
GRE_NOCHECK = 27
GRE_CHECK = 28
TCPCHECK = 29
GTPV1L0 = 30
GTPV1L1 = 31
GTPV2L0 = 32
GTPV2L1 = 33
IGMPV1 = 34
PWETHCTRL = 35
VXLAN = 36
ETHERNET_8023 = 37
NVGRE = 38
DHCPV4 = 39
GENEVE = 40
XENA_TPLD = 41
XENA_TPLD_PI = 42
XENA_MICROTPLD = 43
ETHERNET_FCS = 44
MACCTRLPFC = 45
ECPRI = 46
ROE = 47
ETHERTYPE = 48
-n (n bytes custom segment)
Example#
# set
input: 0/1 PEF_PROTOCOL [1,0] ETHERNET VLAN ECPRI
output: <OK>
# get
input: 0/1 PEF_PROTOCOL [1,0] ?
output: 0/1 PEF_PROTOCOL [1,0] ETHERNET VLAN ECPRI