Subject: (IPng 6476) More questions about PPP over Ipv6. Issue of backward compatibility.

From: [email-masked] (Peter R. Tattam)
Date: Wed, 16 Sep 1998 21:34:22 +1100

I've got PPP coded up now and I have discovered a couple of issues that need 
addressing.

Since I've been trying to make my stack as user friendly as possible, my PPP 
interface is designed to handle both IPv4 and IPv6.  This would seem to be 
perfectly reasonable.

However, while negotiation takes place, after LCP and authentication is done, 
a decision has to be made when starting up IPCP and IPV6CP.

There are three possible outcomes.

1) start IPCP only.	(regular IP4 stack)
2) start IPV6CP only.  (Ipv6 stack only)
3) start both.

I have opted for both.  According to the PPP spec, if the other end doesn't 
know about IPv6, PROTREJ packets should be sent which should close the IPv6CP, 
which in turn should pass up the layers.

Is this a credible thing to expect?  I would have thought so.

Anyway... I decided to test this with one of our Cisco AS5200's used for 
dialup.  Not sure which one I got, but two are running IOS 11.3(4) and one is 
running IOS 11.3(2).

My results were a little unexpected though.

When I sent the IPV6CP packet through, it seems that the as5200 is 
interpreting it as an IPCP packet and naked the INTERFACE_ID option, and then 
the connection dropped (not sure which end dropped it).  Also the received NAK 
came back as an IPCP packet and not as an IPV6CP packet.

I'm fairly sure of my results, but could stand corrected.  Has anyone else 
seen this kind of behaviour before?  Is this a real bug in the Cisco IOS or 
have I misunderstood something.

With this kind of incompatibility, it could be a *major* headache for a 
product like ours to autoconfigure itself.  The only workaround I can see is 
for the user to explicitly select if they want to use an Ipv4 or Ipv6 PPP 
connection, and that will have problems in itself considering the huge body of 
inexperienced people on the Internet.

Puzzled

Peter

--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [email-masked]
--------------------------------------------------------------------

---

From: Peter Tattam <[email-masked]>
Date: Thu, 17 Sep 1998 00:42:25 +1000 (EST)

Here's a trace of the problem.

PPP[C021] SND CONFREQ ID=01 LEN=24 MRU(05DC) ACCM(00000000)
MAGIC(004CAF76) PFC ACFC
PPP[C021] state = reqsent
received protocol = C021
PPP[C021] RCV CONFREQ ID=91 LEN=24 ACCM(000A0000) AP(C023) MAGIC(593EFA14)
PFC ACFC
PPP[C021] SND CONFACK ID=91 LEN=24 ACCM(000A0000) AP(C023) MAGIC(593EFA14)
PFC ACFC
PPP[C021] state = acksent
PPP[C021] SND CONFREQ ID=02 LEN=24 MRU(05DC) ACCM(00000000)
MAGIC(004CBB35) PFC ACFC
received protocol = C021
PPP[C021] RCV CONFACK ID=02 LEN=24 MRU(05DC) ACCM(00000000)
MAGIC(004CBB35) PFC ACFC
PPP[C021] state = opened

.... authentication snipped...

PAP Login Accepted:
PPP[C023] state = opened
PPP[8021] SND CONFREQ ID=01 LEN=16 IP_COMPRESSION(002D0F01)
IPADDR(00000000)
PPP[8021] state = reqsent
PPP[8057] SND CONFREQ ID=01 LEN=14 INTERFACE_ID(0000000046443739)
PPP[8057] state = reqsent
received protocol = 8021
PPP[8021] RCV CONFREQ ID=E9 LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
Gateway = 192.168.6.1
PPP[8021] SND CONFACK ID=E9 LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
PPP[8021] state = acksent
received protocol = 8021
PPP[8021] RCV CONFREQ ID=EA LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
Gateway = 192.168.6.1
PPP[8021] SND CONFACK ID=EA LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
received protocol = C023
PPP[C023] RCV AUTHACK ID=02 LEN=5 data 00
PAP Login Accepted:
PPP[C023] state = opened
PPP[8021] Internal error: up state = acksent
PPP[8057] Internal error: up state = reqsent
received protocol = 8021
PPP[8021] RCV CONFREQ ID=EB LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
Gateway = 192.168.6.1
PPP[8021] SND CONFACK ID=EB LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
received protocol = C023
PPP[C023] RCV AUTHACK ID=03 LEN=5 data 00
PAP Login Accepted:
PPP[C023] state = opened
PPP[8021] Internal error: up state = acksent
PPP[8057] Internal error: up state = reqsent
received protocol = 8021
PPP[8021] RCV CONFREQ ID=EC LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
Gateway = 192.168.6.1
PPP[8021] SND CONFACK ID=EC LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
received protocol = C023
PPP[C023] RCV AUTHACK ID=04 LEN=5 data 00
PAP Login Accepted:
PPP[C023] state = opened
PPP[8021] Internal error: up state = acksent
PPP[8057] Internal error: up state = reqsent
received protocol = 8021
PPP[8021] RCV CONFREQ ID=ED LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
Gateway = 192.168.6.1
PPP[8021] SND CONFACK ID=ED LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
received protocol = 8021
PPP[8021] RCV CONFREQ ID=EE LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
Gateway = 192.168.6.1
PPP[8021] SND CONFACK ID=EE LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
received protocol = C023
PPP[C023] RCV AUTHACK ID=05 LEN=5 data 00
PAP Login Accepted:
PPP[C023] state = opened
PPP[8021] Internal error: up state = acksent
PPP[8057] Internal error: up state = reqsent
received protocol = 8021
PPP[8021] RCV CONFREQ ID=EF LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
Gateway = 192.168.6.1
PPP[8021] SND CONFACK ID=EF LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
received protocol = C023
PPP[C023] RCV AUTHACK ID=06 LEN=5 data 00
PAP Login Accepted:
PPP[C023] state = opened
PPP[8021] Internal error: up state = acksent
PPP[8057] Internal error: up state = reqsent
received protocol = 8021
PPP[8021] RCV CONFNAK ID=01 LEN=10 IPADDR(CB11B829)
My IP address = 203.17.184.41
PPP[8021] SND CONFREQ ID=02 LEN=16 IP_COMPRESSION(002D0F01)
IPADDR(CB11B829)
received protocol = 8021
PPP[8021] RCV CONFNAK ID=01 LEN=14 IPNUMS(CB11B829C0A80601)
received protocol = 8021
PPP[8021] RCV CONFREQ ID=F0 LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
Gateway = 192.168.6.1
PPP[8021] SND CONFACK ID=F0 LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
received protocol = 8021
PPP[8021] RCV CONFACK ID=02 LEN=16 IP_COMPRESSION(002D0F01)
IPADDR(CB11B829)
PPP[8021] state = opened
set address 203.17.184.41 255.255.255.255 192.168.6.1
PPP[8057] SND CONFREQ ID=02 LEN=14 INTERFACE_ID(0000000046443739)
received protocol = 8021
PPP[8021] RCV CONFREQ ID=F1 LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
Gateway = 192.168.6.1
PPP[8021] SND CONFREQ ID=03 LEN=16 IP_COMPRESSION(002D0F01)
IPADDR(CB11B829)
PPP[8021] SND CONFACK ID=F1 LEN=16 IP_COMPRESSION(002D0F00)
IPADDR(C0A80601)
PPP[8021] state = acksent
PPP[8021] state = starting
received protocol = 8021
PPP[8021] RCV CONFNAK ID=02 LEN=14 IPNUMS(CB11B829C0A80601)
PPP[8057] state = starting
PPP[C023] state = starting
PPP[C021] state = starting