Creating Packet Filters
12-13
The pseudocode translates into the following packet filter:
Name
“IP XNS ticker bcast filter”
# Assign this filter in the multicast path
# of a port only--this is very important
#
# XNS FILTERING SECTION
#
pushField.w
12
# get the type field of the packet and
# place it on top of the stack.
pushLiteral.w
0x0600
# put the type value for XNS on top of
# the stack.
eq
# if the two values on the top of the
# stack are equal, then return a non-zero
# value.
pushLiteral.w
0x76c
# put the lowest socket value on top of
# the stack.
pushField.w
30
# put the value of the socket from the
# packet on top of the stack.
ge
# compare if the value of the socket is
# greater than or equal to lower bound.
pushLiteral.w
0x0898
# put the highest socket value on top of
# the stack.
pushField.w
30
# put the value of the socket from the
# packet on top of the stack.
lt
# compare if the value of the socket is
# less than the upper bound
and
# “and” together with “ge” and “lt” test
# to determine if the socket value is
# “within” the range. If it is, a “one”
# will be placed on the stack.
and
# compare if XNS & in range
#
# IP FILTERING SECTION
#
pushField.w
12
# get the type field of the packet and
# place it on top of the stack.
pushLiteral.w
0x0800
# put the type value for IP on top of
# the stack.
eq
# if the two values on the top of the
# stack are equal, then return a non-zero
# value.
pushLiteral.w
0x76c
# put the lowest socket value on top of
# the stack (1900).
pushField.w
24
# put the value of the socket from the
# packet on top of the stack.
ge
# compare if the value of the socket is
# greater than or equal to lower bound.
pushLiteral.w
0x0898
# put the highest socket value on top of
# the stack (2200).
pushField.w
24
# put the value of the socket from the
# packet on top of the stack.
lt
# compare if the value of the socket is
# less than the upper bound
and
# “and” together with “ge” and “lt”.
# test to determine if the socket value is
# “within” the range. If it is in range, a
# “one” will be placed on the stack.
and
# compare if IP and in range.
or
# determine if the type field is either
# XNS or IP.
not
# discard if (IP & in range) and (XNS & in
# range).
Summary of Contents for SUPERSTACK 2200
Page 41: ......
Page 75: ......
Page 173: ...13 12 CHAPTER 13 CONFIGURING ADDRESS AND PORT GROUPS TO USE IN PACKET FILTERS ...