Subject: IPv6CP support in if_spppsubr.c
To: None <tech-net@netbsd.org>
From: None <itojun@iijlab.net>
List: tech-net
Date: 05/02/2000 21:45:44
	As attached, I have committed a change to support IPv6CP.
	The interface will try to negotiate IPv6CP with the other end,
	if the interface has IPv6 link-local address configured to it
	(usually, when you perform "ifconfig up" it will be there)

	though it works just fine for me with the condition mentioned below,
	there can be some merge mistakes or some other issues.
	please send any problem to me (or to PR database).  Thanks!

itojun


>Module Name:	syssrc
>Committed By:	itojun
>Date:		Tue May  2 12:43:17 UTC 2000
>
>Modified Files:
>	syssrc/sys/net: if_sppp.h if_spppsubr.c
>
>Log Message:
>IPv6CP support.  if IPv6 link-local address is configured to the interface,
>the interface tries to negotiate ifid with the other end by using IPv6CP.
>
>other changes:
>- do not share ppp sequence number across protocols.
>- if LCP proto-rej is received, drop the protocol mentioned by the message.
>  this is to be friendly with non-IPv6 peer (if the peer complains due to
>  lack of IPv6CP, drop IPv6CP).  this basically implements "RXJ+" state
>  transition in the RFC.
>- cleanup debugging message.  always print blank just before message.
>
>CAVEAT:
>- if the peer uses the same MAC address as our side (pretty unlikely)
>  the code may go into req-rej loop.
>- even though we negotiate ifid, we don't configure destination address
>  onto the interface.  it is not really necessary to do so (IMHO).
>- I've tested this code on a NetBSD 1.4.2 node, which was with fair amount
>  of modifications.  not sure if the committed code does it right... (please
>  test and send reports)
>
>
>To generate a diff of this commit:
>cvs rdiff -r1.5 -r1.6 syssrc/sys/net/if_sppp.h
>cvs rdiff -r1.8 -r1.9 syssrc/sys/net/if_spppsubr.c