Subject: Re: Router Alert IPv4 Option
To: Hitoshi Asaeda <asaeda@producegate.net>
From: Paul Goyette <paul@whooppee.com>
List: tech-net
Date: 07/24/2001 05:00:42
On Tue, 24 Jul 2001, Hitoshi Asaeda wrote:

> Also an I-D of v3 spec explicitly says;
> 	Hosts SHOULD Ignore v3 Queries without the Router-Alert
> 	option.

Yup, SHOULD, not MUST!  And only for hosts.  No indication on how a
router should behave when receiving a v3 query without RA set. 

> So, please read these specs.:)
> And please send your comments to the authors if you disagree.

You just read it for me - thank you!

> Again, this is my propose, though, I like having;
>        kernel part (in an igmp.c) to set/check RA
>        set/getsockopt() to set/check RA by daemon
>        sysctl() to turn on/off RA check by kernel(?)
> If you don't want to strictly follow these specs, then you use above
> sysctl() to not check RA.
> (But remember after we have these implementations, each multicast
> routing daemon should be modified...)
> Isn't it good for you?

Yes, it is definitely good enough.  My only objection was to the part
about ignoring packets without the RA option set.  

But since it would be possible for to have situations where you want
_some_ packets to have the RA set and other cases where you don't care,
it would seem to make more sense to me to

1) for sending packets, have setsockopt() to enable/disable the RA
   option, and

2) for receiving packets, have some way to receive an indication of 
   whether or not the packet just received had the option set.

I'd rather not use setsockopt() to require that packets have the option
set, since you might not want that for all packets, and you don't know
whether the next packet to come in should require the option or not.


----------------------------------------------------------------------
|   Paul Goyette   | PGP DSS Key fingerprint: |  E-mail addresses:   |
| Network Engineer | BCD7 5301 9513 58A6 0DBC |  paul@whooppee.com   |
|  & World Cruiser | 91EB ADB1 A280 3B79 9221 | pgoyette@juniper.net |
----------------------------------------------------------------------