#
147613ea |
| 04-May-1998 |
Brian Somers <brian@FreeBSD.org> |
o Increment expected MP fragment numbers correctly, according to SHORTSEQ negotiation. o Don't forget to attach incoming fragments with a number greater than everything else in the queue (rathe
o Increment expected MP fragment numbers correctly, according to SHORTSEQ negotiation. o Don't forget to attach incoming fragments with a number greater than everything else in the queue (rather than leaking memory). o Output the link name with the ``other'' hdlc diagnostic message. o Correct a VJ diagnostic (`COMPPROTO', not `proto').
show more ...
|
#
9c53a7b1 |
| 04-May-1998 |
Brian Somers <brian@FreeBSD.org> |
o Display current link throughput in `show links' (assuming throughput measurement is enabled). o Load balance the links based on weight *and* on a round-robin basis. This makes things fairly ev
o Display current link throughput in `show links' (assuming throughput measurement is enabled). o Load balance the links based on weight *and* on a round-robin basis. This makes things fairly even on an output basis. We don't try to allow for the peer sending all his data down one link (and try to send ours back up the other). o Show the number of pending input buffers that can't be processed in ``show mp''. o Fix a typo in the man page.
show more ...
|
#
96c9bb21 |
| 02-May-1998 |
Brian Somers <brian@FreeBSD.org> |
o Transfer file descriptors using {send,recv}msg & SCM_RIGHTS, using the scatter/gather array to transfer the link information. The whole link is now passed in one message.
This is far better t
o Transfer file descriptors using {send,recv}msg & SCM_RIGHTS, using the scatter/gather array to transfer the link information. The whole link is now passed in one message.
This is far better than the two `/bin/cat' processes per additional link :-) I remember years ago thinking that file descriptor transferral would be a really amazing facility !
Suggested by: Garrett Wollman <wollman@khavrinen.lcs.mit.edu> and: Eivind Eklund <eivind@yes.no>
show more ...
|
#
dd7e2610 |
| 01-May-1998 |
Brian Somers <brian@FreeBSD.org> |
Cosmetic: Make our external function names consistent.
|
#
6f384573 |
| 01-May-1998 |
Brian Somers <brian@FreeBSD.org> |
o Create a new ``timer'' log level. This lets us ``set log debug'' without filling our filesystem/screen with junk that we don't really want to see. o change PHYS_STDIN to PHYS_DIRECT - we can h
o Create a new ``timer'' log level. This lets us ``set log debug'' without filling our filesystem/screen with junk that we don't really want to see. o change PHYS_STDIN to PHYS_DIRECT - we can handle incoming connections that aren't on STDIN_FILENO now. o Allow return values from our FSM LayerUp functions. If LayerUp() fails, the FSM does an immediate FsmDown() without calling the fsm_parent's Layer{Up,Down} functions. o Clear the close-on-exec flag of file descriptor 3 when executing chat programs so that our documented ability to communicate with /dev/tty via that descriptor works. Also document it as descriptor 3, not 4 :-O o Allow a ``rm'' command as an alias for ``remove''. o Fix the bind()/connect()/accept() calls made by the MP server. o Create bundle_SendDatalink() and bundle_ReceiveDatalink(). This allows `struct datalink's to flatten themselves, pass through a pipe (read: the eye of a needle !) and come alive at the other end. The donator then fork()s & exec()s pppmpipe, ``passing'' the connection to another ppp instance.
*** PPP NOW TALKS MULTILINK :-))) ***
Our link utilization is hideous, and lots of code needs tidying still. It's also probably riddled with bugs ! It's been tested against itself only, and has hung once, so confidence isn't high....
show more ...
|
#
1fa665f5 |
| 28-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Add the link name to modem diagnostics. o Create struct mpserver as part of struct mp. mpserver creates a unix-domain socket based on the peers auth name and endpoint discriminator. If it al
o Add the link name to modem diagnostics. o Create struct mpserver as part of struct mp. mpserver creates a unix-domain socket based on the peers auth name and endpoint discriminator. If it already exists, ppp will ``pass the link'' over to the owner of the socket, joining it into the bundle of another ppp invocation, otherwise ppp waits for other invocations to pass it links through this socket. The final piece of code will be the code that flattens our datalink info and passes it down this channel (not yet implemented).
show more ...
|
#
e43ebac1 |
| 25-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
Make gcc-2.8.1 build ppp cleanly. Support OpenBSD again.
|
#
184d1da2 |
| 25-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
Show our link name when we fail to mp_Up().
|
#
259a6191 |
| 24-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
Choose the correct IP number in ``set enddisc {ip,mac}''.
|
#
643f4904 |
| 24-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Defer setting up pap/chap based IP numbers & labels until after we've determined if we're going to join another ppp invocation. o Make ``show link'' show all link details, and ``show links'' ju
o Defer setting up pap/chap based IP numbers & labels until after we've determined if we're going to join another ppp invocation. o Make ``show link'' show all link details, and ``show links'' just give a list of links and their current status. o Show our current label in ``show bundle''. o Allow link cloning and removal as soon as our MRRU is set. o Make ``show lcp'' require context as nothing will ever change in our MP LCP (it's auto-configured as per rfc1990). o Initialise our LQM owner in hdlc_Init(). o Store our endpoint discriminator and authentication name at both the datalink and multilink level and compare them when we've finished AUTHENTICATE phase and before entering NETWORK phase. If they don't match, close the link again. Display the information in the appropriate ``show'' command. o Initialise datalink::phone and datalink::fsmp.object properly when we're cloning the link. o Show which link we're passing LQRs on in our diagnostics. o Reject endpoint discriminator REQs at the logical multilink level. o Remove the rest of our CARRIER and LINK logging setup.
show more ...
|
#
d47dceb8 |
| 24-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Remove LINK level logging. o change the default link name to ``deflink'' rather than ``default''. o Prepend the link name to CCP and LCP FSM diagnostics. o Protect against 0 length options in CCP
o Remove LINK level logging. o change the default link name to ``deflink'' rather than ``default''. o Prepend the link name to CCP and LCP FSM diagnostics. o Protect against 0 length options in CCP and IPCP REQ interpreters (already done for LCP). o Allow optional context for the `show' command. o Use MPs link when interpreting commands if the multilink mrru is configured rather than when multilink is active. This means that once we've ``set mrru xxx'', we then need to ``link deflink show ccp'' etc if we want to do link-level stuff (based on the command requiring optional or manditory context). o Use the ifconfig'd interface address in `set enddisc {ip,mac}' if it's there, otherwise the configuration file value.
show more ...
|
#
08676022 |
| 24-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
Create #defines for all endpoint discriptor classes, and allow `set enddisc mac'.
|
#
673903ec |
| 23-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Initialise MP correctly depending on if we're the first link in mp_Up(). o Bring MP and its CCP down when we enter phase TERMINATE, and ditch everything in the incoming packet queue. o Enable M
o Initialise MP correctly depending on if we're the first link in mp_Up(). o Bring MP and its CCP down when we enter phase TERMINATE, and ditch everything in the incoming packet queue. o Enable MRRU negotiation. Now, we can multilink mode, but only with one physical link. o Close the link if the peer PROTO REJs PROTO_MP. o Prepend our protocol before passing a packet to struct mp for fragmentation. o Log info messages to DEBUG, not ERROR (oops). o Align `show mp' output (again).
show more ...
|
#
6e3ef614 |
| 23-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
Get the alignment right in ``show mp''.
|
#
ce828a6e |
| 23-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Add ipcp_SetLink() for attaching IPCP to the correct link, and call it after link authentication. o Pretty print our bundle MTU. o Correct MP header encoding and decoding (should be network byte
o Add ipcp_SetLink() for attaching IPCP to the correct link, and call it after link authentication. o Pretty print our bundle MTU. o Correct MP header encoding and decoding (should be network byte order). o Add some debug diagnostics so that we can see MP fragment sending and re-assembly.
show more ...
|
#
49052c95 |
| 23-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
Negotiate MRRU, SHORTSEQ and ENDDISC. ENDDISC doesn't imply multilink ('cos I've seen my ISP REQ it without multilink).
Setting MRRU is ifdef'd out until it's debugged and we can merge -direct link
Negotiate MRRU, SHORTSEQ and ENDDISC. ENDDISC doesn't imply multilink ('cos I've seen my ISP REQ it without multilink).
Setting MRRU is ifdef'd out until it's debugged and we can merge -direct links with other running programs.
Fix MTU setting.
show more ...
|
#
f45c7906 |
| 20-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
Do away with the static struct timeoutArg. Move the struct pppTimer from struct link to struct physical for doing carrier checking.
|
#
cdbbb6b5 |
| 18-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
Cosmetic: Clean up warnings.
|
#
1342caed |
| 16-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Move the accept/deny/disable/enable globals either to the bundle (non-negotiated vars) or to their respective IPCP, LCP or CCP. o Enable rolling throughput statistics by default. o Remove the `
o Move the accept/deny/disable/enable globals either to the bundle (non-negotiated vars) or to their respective IPCP, LCP or CCP. o Enable rolling throughput statistics by default. o Remove the `display' command. These values now appear in `show bundle', `show ipcp', `show ccp' and `show lcp'. o Initialise auth name & key at bundle create time (oops). o Rename pppd-deflate (the id-24 hack) to deflate24. o Don't send both a REJ and a NAK to an IPCP or LCP REQ. Favour the REJ (already done at the CCP level). o Recurse in datalink_UpdateSet() when we change state, otherwise we end up setting no descriptors and getting jammed in the imminent select() instead of doing the dial/login/hangup. o Display our CHAP encryption method despite being built with DES. o Display VJ as not negotiated in ``show ipcp'' when necessary.
show more ...
|
#
25092092 |
| 15-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
Pass all command arguments around with struct cmdargs rather than incrementing argv and decrementing argc. Now individual functions can determine their caller. This also removes the "prefix" hack i
Pass all command arguments around with struct cmdargs rather than incrementing argv and decrementing argc. Now individual functions can determine their caller. This also removes the "prefix" hack in FindExec().
show more ...
|
#
d24f017b |
| 06-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
Remove unused includes.
|
#
3b0f8d2e |
| 03-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Move struct lcp and struct ccp into struct link. o Remove bundle2lcp(), bundle2ccp() and bundle2link(). They're too resource-hungry and we have `owner pointers' to do their job. o Make our FSM
o Move struct lcp and struct ccp into struct link. o Remove bundle2lcp(), bundle2ccp() and bundle2link(). They're too resource-hungry and we have `owner pointers' to do their job. o Make our FSM understand LCPs that are always ST_OPENED (with a minimum code that != 1). o Send FSM code rejects for invalid codes. o Make our bundle fsm_parent deal with multiple links. o Make timer diagnostics pretty and allow access via ~t in `term' mode (not just when logging debug) and `show timers'. Only show timers every second in debug mode, otherwise we get too many diagnostics to be useful (we probably still do). Also, don't restrict ~m in term mode to depend on debug logging. o Rationalise our bundles' phases. o Create struct mp (multilink protocol). This is both an NCP and a type of struct link. It feeds off other NCPs for output, passing fragmented packets into the queues of available datalinks. It also gets PROTO_MP input, reassembles the fragments into ppp frames, and passes them back to the HDLC layer that the fragments were passed from. ** It's not yet possible to enter multilink mode :-( ** o Add `set weight' (requires context) for deciding on a links weighting in multilink mode. Weighting is simplistic (and probably badly implemented) for now. o Remove the function pointers in struct link. They ended up only applying to physical links. o Configure our tun device with an MTU equal to the MRU from struct mp's LCP and a speed equal to the sum of our link speeds. o `show {lcp,ccp,proto}' and `set deflate' now have optional context and use ChooseLink() to decide on which `struct link' to use. This allows behaviour as before when in non-multilink mode, and allows access to the MP logical link in multilink mode. o Ignore reconnect and redial values when in -direct mode and when cleaning up. Always redial when in -ddial or -dedicated mode (unless cleaning up). o Tell our links to `staydown' when we close them due to a signal. o Remove remaining `#ifdef SIGALRM's (ppp doesn't function without alarms). o Don't bother strdup()ing our physical link name. o Various other cosmetic changes.
show more ...
|