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#

  1. segment_list: byte list, specifying the list of protocol segment types in the order they are expected in a frame. First segment type must be ETHERNET; 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