pppd: Separate IPv6 handling for sifup/sifdown
authorBenjamin Cama <benjamin.cama@telecom-bretagne.eu>
Wed, 26 Feb 2014 18:13:39 +0000 (19:13 +0100)
committerPaul Mackerras <paulus@samba.org>
Sun, 9 Mar 2014 03:55:18 +0000 (14:55 +1100)
commitb04d2dc6df5c6b5650fea44250d58757ee3dac4a
tree583bbea3c65d428be4edf1fa479a48a5ab737381
parent4043750fca36e7e0eb90d702e048ad1da4929418
pppd: Separate IPv6 handling for sifup/sifdown

The current code is buggy regarding handling of link state when using
both IPCP and IPv6CP: if IPv6CP has been set up and if during IPCP
negociation, ipcp_up() fails, it will incorrectly take the interface
down. The simple solution here is to change the platform code to do the
same as on Solaris: separate IPv6CP up/down state handling with sif6up()
and sif6down(), so that we really know when the interface is allowed to
go down.

Signed-off-by: Benjamin Cama <benjamin.cama@telecom-bretagne.eu>
Signed-off-by: Paul Mackerras <paulus@samba.org>
pppd/ipv6cp.c
pppd/sys-linux.c