Packet Filter Examples

A-11

Source Address and This filter operates on the source address and type fields of a frame. It Type Filter allows XNS 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. To customize this filter to another type value, change the literal value loaded into the pushLiteral.w instruction.

name

“XNS from

08-00-02”

 

 

pushField.w

12

#

Get

type

field

pushLiteral.w

0x0600

#

Load

type

value

ne

 

# Check for mis-match

reject

 

#

Toss any non-XNS frames

pushLiteral.l

0xffffff00

# Set up mask to isolate first 3

 

 

#

bytes

 

pushField.l

6

#

Get

first

4 bytes of source

 

 

#

address

 

and

 

#

Top of stack now has OUI

pushLiteral.l

0x09000200

#

Load

OUI

value

eq

 

#

Check for

match

Accept XNS or IP This filter operates on the type field of a frame. It allows packets to be Filter forwarded that are XNS or IP frame. Note the use of the pushTop instruction

to make a copy of the type field.

name

“Forward

IP or

XNS”

 

 

 

pushField.w

12

#

Get type

field

pushTop

 

#

Push

copy

of

type

pushLiteral.w

0x0800

#

Load

IP type

value

eq

 

#

Check

for

match

pushLiteral.w

0x0600

#

Load

XNS

type

value

eq

 

#

Check

for

match

XNS Routing Filter This filter operates on the type and data fields of a frame. It discards all XNS Routing packets.

name

“Drop XNS

Routing”

 

 

pushField.w

12

#

Get

type

field

pushLiteral.w

0x0600

#

Load

XNS

type value

ne

 

#

Check for non-XNS packet

accept

 

#

Forward if non-XNS packet

pushLiteral.b

0x01

#

Load

XNS

routing type

pushField.b

19

#

Get

XNS

type

ne

 

#

Check for non-XNS routing

 

 

#

packet

 

Page 185
Image 185
3Com 2200 manual To make a copy of the type field, Xns