Re: Multilink PPP Problem



Thanks for the reply.

Please note, I am running 2.4.4 and Multilink is built into the code. I can establish an initial Multilink connection, the problem occurs when the remote link goes down and then comes back. (The remote link is also ppp 2.4.4)

Yes, "Multi-Link" is listed in protocol_list which explains why it is printing there. I am actually referring to what happens a few lines above.

It loops over a table of structures for each protocol looking for a match. It only reaches the print statement because there is not a match for Multilink at this point.

----------------------------------------------
for (i = 0; (protp = protocols[i]) != NULL; ++i) {
if (protp->protocol == protocol && protp->enabled_flag) {
...
}
...
}
----------------------------------------------

If you look near loine 270 in main.c, you will see where this protocol list is created. It is composed of pointers to structures defined in the file for each of the protocols. Multilink does not provide one of these structures.

----------------------------------------------
/*
* PPP Data Link Layer "protocol" table.
* One entry per supported protocol.
* The last entry must be NULL.
*/
struct protent *protocols[] = {
----------------------------------------------

Thanks
-Ken

Clifford Kite wrote:
Kenneth Kassing <kkass@xxxxxxxxxxx> wrote:
I am trying to use pppd to do multilink over several hdlc interfaces. For my test case, I have two identical units connected back to back. The link establishes correctly and will pass data. If the master link is reset for any reason, the master fails to reestablish a connection.

For a test case, I manually disable the link on one side, and then re-enable it. I tail the syslog for the link i did not reset to wach the output from pppd. I see that pppd is rejecting the configure requests for multilink. Here is the error message I see:

sent [IPCP ConfReq id=0x1 <addr 192.168.254.1>]
rcvd [proto=0x3d] 80 00 00 07 80 21 02 01 00 0a
Unsupported protocol 'Multi-Link' (0x3d) received
sent [LCP ProtRej id=0x6 00 3d 80 00 00 07 80 21 02 01 00 0a]
rcvd [proto=0x3d] 40 00 00 08 03 06 c0 a8 fe 01
Unsupported protocol 'Multi-Link' (0x3d) received
sent [LCP ProtRej id=0x8 00 3d 40 00 00 08 03 06 c0 a8 fe 01]
rcvd [proto=0x3d] 40 00 00 0a 03 06 c0 a8 fe 00



I have looked into the code, and found that pppd is looking to match protocols in "struct protent *protocols[]" table. Multilink does not have an entry in this table, and therefore will never link correctly.

That's odd. Here, in main.c of pppd 2.4.4, this

Multi-Link

is in "struct protocol_list" there, and pppd looks in protocol_list for
protocol names. Pppd only prints the name if it can be found, and that
particular message isn't anywhere else in the code:

~$ grep 'Unsupported protocol' pppd/*.[hc]
pppd/main.c: warn("Unsupported protocol '%s' (0x%x) received", pname,
protocol);
pppd/main.c: warn("Unsupported protocol 0x%x received", protocol);

Any suggestions here?

Upgrade? Compile MP into pppd?

.



Relevant Pages

  • Re: SSL vs. SSL over tcp/ip
    ... that were at different places in the internet backbone ... hierarchical routing (part of the problem was anarchy routing was ... that was only true once the connection was made. ... kernels and tcp/ip protocol stack ... ...
    (comp.security.misc)
  • More info (Re: ppp dialin problems: mgetty and ppp.conf)
    ... connection to the Internet, however, it appears that if I maintain the ... slots with slot compression ... 0x8057 (Internet Protocol V6 Control Protocol) was rejected! ...
    (freebsd-questions)
  • Re: NetworkFacade 0.4
    ... This means that the protocol is similar to DRb, but different, ... with regards to connection caching and what happens if connections are ... can be made in both directions down the same socket. ... hostname and a port on the firewall which forwards inbound connections. ...
    (comp.lang.ruby)
  • Re: PPPoE
    ... The Windows driver README ... Installing the PPP over Ethernet Protocol ... Connection Sharing, ...
    (freebsd-net)
  • Re: Processs PreciseMail AntiSpam Gateway - any experience so far ?
    ... >>This protocol is designed to be used between domain Email Service ... > randomly generated the port number and communicated that back to the sender ... > before closing the connection. ... if the receiver ESP can make that work. ...
    (comp.os.vms)