Subject: RE: question about dot1qForwardAll/dot1qForwardUnregistered table s

From: Andrew Smith <[email-masked]>
Date: Thu, 22 Jul 1999 19:11:57 -0700

Steve,

It's a complicated topic as you have noticed. I assume you've attempted to
digest section 8.11 of IEEE 802.1Q - heavy going isn't it? Now take a
pepto-bismol. See below.

> -----Original Message-----
> From: steve shadix [mailto:[email-masked]]
> Sent: Thursday, July 22, 1999 6:42 AM
> To: [email-masked]
> Subject: question about 
> dot1qForwardAll/dot1qForwardUnregistered tables
...
> My simplistic (probably overly simplistic) understanding of the
> operation
> is as follows (all objects are in same VLAN context):
>     - If a packet is received for which a static address entry
>       (dot1qStaticMulticastAddress) exist, it would be forwarded based
> on
>       the port list defined by dot1qStaticMulticastEgressPorts with no
>       regard for set of ports defined by the dot1qForwardAllPorts or
>       dot1qForwardUnregisteredPorts objects. What about ports that had
> been
>       added dynamically (i.e. ports that were not included in the
>       dot1qMulticastForbiddenEgressPorts and had subsequently 
> been added
> 
>       via GMRP) ?

There are 3 states for a given static {MAC,VID,port} entry: Fixed, Forbidden
and Dynamic. Table 8-7 says that your first example would be Forwarded if
the port is in Fixed (i.e. in dot1qStaticMulticastEgressPorts) and it would
be Filtered if the port is Forbidden (i.e. in
dot1qMulticastForbiddenEgressPorts). If the port is in neither list, then it
is more complex: if the port is in the dot1qForwardAllPorts list then the
packet is Forwarded; if the port has been added dynamically by GMRP then it
is Forwarded; if the port is in the dot1qForwardUnregisteredPorts list but
has not been registered by GMRP then it is Forwarded; otherwise the packet
is Filtered. 

[This is actually a slightly simplistic explanation since the actual value
of dot1qForwardAllPorts is constrained by dot1qForwardAllStaticPorts and
dot1qForwardAllForbiddenPorts. Similarly for dot1qForwardUnregisteredPorts.
See table 8-6 for details on these]. Phew!

>     - If a packet is received for a dynamically registered multicast
> address
>       it would be forwarded to all ports the address had been 
> registered
> on as
>       well as the set of ports included in the dot1qForwardAllPorts
> object.

Correct.
 
>     - If a packet is received for an address for which there is not a
> static
>       entry or a dynamically registered entry it would be forwarded on
> the set
>       of ports included in the dot1qForwardUnregisteredPorts 
> object and
>       (this is where I'm really confused...) the set of ports included
> in the
>       dot1qForwardAllPorts object.

Correct I think (last column of table 8-7): it would be forwarded to any
port in dot1qForwardUnregisteredPorts OR in dot1qForwardAllPorts.
 
Hope that is clear (???). Tables 8-6 and 8-7 say it all: in 802.1 parlance
it is all "clear but non-obvious".

Andrew

****************************************************************
Andrew Smith                              tel: +1 (408) 579-2821
Extreme Networks                          fax: +1 (408) 579-3000
3585 Monroe St.                   http://www.extremenetworks.com
Santa Clara CA 95051-1450        em:  [email-masked]
****************************************************************