In article <(E-Mail Removed) .com>,
(E-Mail Removed) <(E-Mail Removed)> wrote:
>Hi,
>I have provided logs of two connections. With the first connection I
>don't receive a protocol-reject packet
>when I sent LCP packet with unknown protocol. As per RFC 1661 in the
>opened state ppp should send a protocol reject when it receives a LCP
>packet with unknown protocol. I believe that in this case the ppp is
>in opened state before sending the LCP packet with unknown protocol,
>since a Config-Ack has been both sent and received.
>
>Now with the second log, the ppp sends a protocol-reject packet when we
>send a LCP packet with unknown code after the authentication phase. I
>want to know why this happens and is it correct.
>
>I am using Fedora Core 3.
>
>Log 1:
>======
>Using interface ppp0
>Connect: ppp0 <--> /dev/pts/6
>rcvd [LCP ConfReq id=0x1]
>sent [LCP ConfReq id=0x1 <auth pap>]
>sent [LCP ConfAck id=0x1]
>rcvd [LCP ConfAck id=0x1 <auth pap>]
>sent [LCP EchoReq id=0x0 magic=0x0]
>rcvd [proto=0x80ff] 01 01 00 04
>discarding proto 0x80ff in phase 5
Based on what's shown here, this peer SHOULD be sending a Protocol-Reject
for the 80ff packet. Note that this peer is expecting the other peer to
authticate itself. Even so, LCP should be in the OPENED state and should
respond with the Protocol-Reject when it sees a protocol it doesn't support.
>sent [LCP EchoReq id=0x1 magic=0x0]
>No response to 2 echo-requests
>Serial link appears to be disconnected.
>sent [LCP TermReq id=0x2 "Peer not responding"]
>sent [LCP TermReq id=0x3 "Peer not responding"]
>Connection terminated.
>
>Log 2:
>=====
>Using interface ppp0
>Connect: ppp0 <--> /dev/pts/6
>rcvd [LCP ConfReq id=0x1]
>sent [LCP ConfReq id=0x1 <auth pap>]
>sent [LCP ConfAck id=0x1]
>rcvd [LCP ConfAck id=0x1 <auth pap>]
>sent [LCP EchoReq id=0x0 magic=0x0]
>rcvd [PAP AuthReq id=0x1 user="root" password=<hidden>]
>sent [PAP AuthAck id=0x1 "Login ok"]
>PAP peer authentication succeeded for root
>sent [IPCP ConfReq id=0x1 <addr 10.0.0.1>]
>rcvd [proto=0x80ff] 01 01 00 04
>Unsupported protocol 0x80ff received
>sent [LCP ProtRej id=0x2 80 ff 01 01 00 04]
This peer did the right thing in sending a Protocol-Reject. It should be
independent of the peer having authenticated itself to the local peer, but
maybe there's a bug in the local peer??
>sent [IPCP ConfReq id=0x1 <addr 10.0.0.1>]
>sent [IPCP ConfReq id=0x1 <addr 10.0.0.1>]
>sent [IPCP ConfReq id=0x1 <addr 10.0.0.1>]
>sent [LCP EchoReq id=0x1 magic=0x0]
>sent [IPCP ConfReq id=0x1 <addr 10.0.0.1>]
>sent [IPCP ConfReq id=0x1 <addr 10.0.0.1>]
>sent [IPCP ConfReq id=0x1 <addr 10.0.0.1>]
>No response to 2 echo-requests
>Serial link appears to be disconnected.
>sent [LCP TermReq id=0x3 "Peer not responding"]
>sent [LCP TermReq id=0x4 "Peer not responding"]
>Connection terminated.
Notice in both cases, the local peer stops receiving any data from the remote
peer after it receives the packet with the unsupported protocol. You may
want to try ACCM = 0xffffffff to see if something is acting on one of the
control characters in the 0x80ff packet?
Patrick
=========== For PPP Protocol Analysis, check out PacketView Pro! ===========
Patrick Klos Email:
(E-Mail Removed)
Klos Technologies, Inc. Web:
http://www.klos.com/
================================================== ==========================