Packet Filter Examples A-9
Packet Filter
Examples The following examples of using the packet filter language start with basic
packet filter concepts.
Destination
Address Filter This filter operates on the destination address field of a frame. It
allows packets to be forwarded that are destined for stations with an
Organizationally Unique Identifier (OUI) of 08-00-02. To customize this filter
to another OUI value, change the literal value loaded in the last pushLiteral.l
instruction. Note that the OUI must be padded with an additional 00 to fill
out the literal to 4 bytes.
name “Forward to 08-00-02”
pushField.l 0 # Get first 4 bytes of
# destination address
pushLiteral.l 0xffffff00 # Set up mask to isolate first
# 3 bytes
and # Top of stack now has OUI
pushLiteral.l 0x08000200 # Load OUI value
eq # Check for match
Source Address
Filter This filter operates on the source address field of a frame. It allows packets
to be forwarded that are from stations with an OUI of 08-00-02. To
customize this filter to another OUI value, change the literal value loaded in
the last pushLiteral.l instruction. Note that the OUI must be padded with an
additional 00 to fill out the literal to 4 bytes.
name “Forward from 08-00-02”
pushField.l 6 # Get first 4 bytes of source
# address
pushLiteral.l 0xffffff00 # Set up mask to isolate first
# 3 bytes
and # Top of stack now has OUI
pushLiteral.l 0x08000200 # Load OUI value
eq # Check for match
Length Filter This filter operates on the length field of a frame. It allows packets to be
forwarded that are less than 400 bytes in length. To customize this filter to
another length value, change the literal value loaded in the pushLiteral.w
instruction.
name “Forward < 400”
pushField.w 12 # Get length field
pushLiteral.w 400 # Load length limit
lt # Check for frame length < limit