Classifies packets. The Classifier has N outputs, each associated with the
corresponding pattern from the configuration string.
A pattern is a set of clauses, where each clause is either "offset/value"
or "offset/value%mask". A pattern matches if the packet has the indicated
value at each offset.
The clauses in each pattern are separated
by spaces. A clause consists of the offset, "/", the value, and (optionally)
"%" and a mask. The offset is in decimal. The value and mask are in hex.
The length of the value is implied by the number of hex digits, which must
be even. "?" is also allowed as a "hex digit"; it means "don't care about
the value of this nibble".
If present, the mask must have the same number of hex digits as the value.
The matcher will only check bits that are 1 in the mask.
A clause may be preceded by "!", in which case the clause must NOT match
the packet.
As a special case, a pattern consisting of "-" matches every packet.
The patterns are scanned in order, and the packet is sent to the output
corresponding to the first matching pattern. Thus more specific patterns
should come before less specific ones. You will get a warning if no packet
could ever match a pattern. Usually, this is because an earlier pattern is
more general, or because your pattern is contradictory (`12/0806 12/0800').

Returns a human-readable definition of the program the Classifier element
is using to classify packets. At each step in the program, four bytes
of packet data are ANDed with a mask and compared against four bytes of
classifier pattern.
The Classifier patterns above compile into the following program:
0 12/08060000%ffff0000 yes->step 1 no->step 3
1 20/00010000%ffff0000 yes->[0] no->step 2
2 20/00020000%ffff0000 yes->[1] no->[3]
3 12/08000000%ffff0000 yes->[2] no->[3]
safe length 22
alignment offset 0