summaryrefslogtreecommitdiffstats
path: root/sys/net/if_ppp.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Make INET a proper option.eivind1998-01-081-2/+5
| | | | | | | | | | | | This will not make any of object files that LINT create change; there might be differences with INET disabled, but hardly anything compiled before without INET anyway. Now the 'obvious' things will give a proper error if compiled without inet - ipx_ip, ipfw, tcp_debug. The only thing that _should_ work (but can't be made to compile reasonably easily) is sppp :-( This commit move struct arpcom from <netinet/if_ether.h> to <net/if_arp.h>.
* Throw options IPX, IPXIP and IPTUNNEL into opt_ipx.h.eivind1997-12-151-1/+2
| | | | | | | | The #ifdef IPXIP in netipx/ipx_if.h is OK (used from ipx_usrreq.c and ifconfig.c only). I also fixed a typo IPXTUNNEL -> IPTUNNEL (and #ifdef'ed out the code inside, as it never could have compiled - doh.)
* Use ENOIOCTL instead of -1 (= ERESTART) for tty ioctls that arebde1997-12-061-2/+2
| | | | | not handled at a particular level. This fixes mainly restarting of interrupted TIOCDRAINs and TIOCSETA{W,F}s.
* Cleaned up PPP_FILTER/NBPFILTER ifdefs.bde1997-11-181-15/+6
| | | | | | Use gettime() instead of microtime() to set if_lastchange for i/o's. microtime() is probably too expensive. However, setting if_lastchange for i/o's may be wrong.
* Convert PPP_FILTER to an option, like PPP_BSDCOMP and PPP_DEFLATE.peter1997-10-181-3/+5
| | | | It requires bpf, I'll note this in LINT.
* Better fix for the bpf dependency that doesn't have such a large impactpeter1997-10-181-1/+5
| | | | | on the code and pppd in userland. PPP_FILTER is meant to be an option (or negatable option).
* Back out the `PPP_FILTER => NBPFILTER' changespeter1997-10-181-11/+12
|
* PPP_FILTER => NBPFILTERbrian1997-10-171-12/+11
|
* Try out PPP_FILTERpeter1997-10-101-2/+3
|
* Some fixes from Bruce:peter1997-08-221-4/+4
| | | | | | | | - don't access time (a volatile) via struct copy. - merge botches - note risk of CCOUNT accessing *tp outside spltty(). Submitted by: bde
* Use two NetBSD-style options (PPP_DEFLATE and PPP_BSDCOMP) to controlpeter1997-08-191-4/+6
| | | | whether or not to compile the two ppp compression methods.
* Update kernel parts of pppd from 2.2.0 to 2.3.0. I've yet to look at thepeter1997-08-191-140/+280
| | | | | | | | | | 2.3.0 -> 2.3.1 changes, but I seem to recall that there are certain "issues" with 2.3.1 (I'm not sure if it's just pppd or the whole lot, I am not quite that far). The present pppd seems to work with it just fine for the time being. Among the changes are that zlib (aka LZ77 aka deflate aka gzip) compression is implemented as well as the original compress(1) LZW style.
* Bruce mentioned to me that Paul Traina had noticed that the ppp_ttypeter1997-05-311-1/+9
| | | | | | | | | | | | interrupt mask hackery wasn't happening when being modloaded via the if_ppp lkm. It seems that the lkm system doesn't particularly like having two sets of load/unload/etc routines. :-] This really should be fixed by having a seperate if_ppp and ppp_tty lkm, but that requires that ppp_tty is loaded after if_ppp, and needs to be able to link with symbols in if_ppp. This gets messy, it is a better task for the in-kernel linker. (if_ppp is generic, ppp_tty is a tty-specific bottom end for if_ppp, it's not _too_ hard to have another "provider" (such as a hdlc sync card) connected to if_ppp)
* Don't include <sys/ioctl.h> in the kernel. Stage 4: includebde1997-03-241-2/+3
| | | | | | | | <sys/ttycom.h> and sometimes <sys/filio.h> instead of <sys/ioctl.h> in miscellaneous files. Most of these files have nothing to do with ttys but need to include <sys/ttycom.h> to get the definitions of TIOC[SG]PGRP which are (ab)used to convert F[SG]ETOWN fcntls into ioctls.
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-221-1/+1
| | | | ready for it yet.
* Don't try to do anything with the `ifr' parameter for SIOCADDMULTIwollman1997-01-171-13/+0
| | | | and SIOCDELMULTI; it is guaranteed to be null in the new system.
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Don't dereference sc->sc_setmtu if it's NULL (such as when it's not running)peter1996-07-211-2/+3
| | | | | | as discussed on current. (bde pointed out the cause of the problem) Reported by: dev@fgate.flevel.co.uk
* Since the updates to ifnet.if_lastchange are so rare (relativelygpalmer1996-06-121-2/+2
| | | | | | | speaking), go for the extra accuracy and call microtime() to get the current time. Pointed Out By: bde
* Change the use if ifnet.if_lastchange to be more in line withgpalmer1996-06-101-3/+2
| | | | | SNMP requirements. Update description of ifnet.if_lastchange in if.h to indicate this.
* Eliminated sloppy common-style declarations. Now there are no duplicatedbde1996-04-131-1/+3
| | | | | | common labels for LINT. There are still some common declarations for the !KERNEL case in tcp_debug.h and spx_debug.h. trpt depends on the ones in tcp_debug.h.
* Removed never-used #includes of <machine/cpu.h>. Many were apparentlybde1996-04-071-2/+1
| | | | copied from bad examples.
* Clean up Ethernet drivers:wollman1996-02-061-6/+6
| | | | | | | | - fill in and use ifp->if_softc - use if_bpf rather than private cookie variables - change bpf interface to take advantage of this - call ether_ifattach() directly from Ethernet drivers - delete kludge in if_attach() that did this indirectly
* Use new printf features rather than local kludges.phk1996-01-241-4/+3
|
* Another mega commit to staticize things.phk1995-12-141-6/+6
|
* Enhance the likelyhood that IPX over ppp will actually work.. :-)peter1995-11-131-3/+54
| | | | | | Note that pppd doesn't have an ipxcp.c module for negotiating and confuguring IPX at startup, but after these mods, you can manually ifconfig IPX addresses on the interface and it will probably work.. :-)
* Fix the incomplete merge for the IPX code - the internals are different.peter1995-11-031-1/+9
| | | | | Note, the IPX in pppd support is not really there. I suspect that it may work if you ifconfig it up manually.
* Re-Zap unused variables in their new location.. :-)peter1995-11-011-4/+1
|
* Merge/update ppp-2.2 kernel parts onto mainline.peter1995-10-311-1095/+832
| | | | | Note that the old if_ppp.c has been split in half into if_ppp.c and ppp_tty.c
* Second batch of cleanup changes.phk1995-10-291-4/+3
| | | | | This time mostly making a lot of things static and some unused variables here and there.
* Reviewed by: julian and jhay@mikom.csir.co.zajulian1995-10-261-1/+6
| | | | | | | | | | | | | | | | | | | | | Submitted by: Mike Mitchell, supervisor@alb.asctmd.com This is a bulk mport of Mike's IPX/SPX protocol stacks and all the related gunf that goes with it.. it is not guaranteed to work 100% correctly at this time but as we had several people trying to work on it I figured it would be better to get it checked in so they could all get teh same thing to work on.. Mikes been using it for a year or so but on 2.0 more changes and stuff will be merged in from other developers now that this is in. Mike Mitchell, Network Engineer AMTECH Systems Corporation, Technology and Manufacturing 8600 Jefferson Street, Albuquerque, New Mexico 87113 (505) 856-8000 supervisor@alb.asctmd.com
* Don't wait for output to drain in pppclose(). Discard output immediatelybde1995-10-051-5/+10
| | | | | | | | | | | | | | | for the same reasons as in slclose(). Free the cblock in the canonical queue in pppclose(). This is a no-op in the usual cases where the tty is being closed or the line discipline is being switched back to the standard discipline, but it saves a cblock if the line discipline is being switched to one that doesn't use the canonical queue. Add prototypes. I use `extern' in prototypes for functions with bogus linkage. This should be fixed someday. Continue cleaning up new init stuff yet again.
* Fixed init functions argument type - caddr_t -> void *. Fixed a couple ofdg1995-09-091-3/+3
| | | | compiler warnings.
* Fix several sysinit functions that had the wrong type and unnecessarilybde1995-08-301-6/+7
| | | | | | external linkage. Remove useless comments saying that SYSINIT() does system initialization.
* Obtained from: an ancient patch of mine via 1.1.5bde1995-07-311-3/+3
| | | | | | Call output process whether or not there is any output. The output process may be overloaded to handle hardware flow control and hardware output completions.
* Obtained from: partly from ancient patches of mine via 1.1.5bde1995-07-311-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce TS_CONNECTED and TS_ZOMBIE states. TS_CONNECTED is set while a connection is established. It is set while (TS_CARR_ON or CLOCAL is set) and TS_ZOMBIE is clear. TS_ZOMBIE is set for on to off transitions of TS_CARR_ON that occur when CLOCAL is clear and is cleared for off to on transitions of CLOCAL. I/o can only occur while TS_CONNECTED is set. TS_ZOMBIE prevents further i/o. Split the input-event sleep address TSA_CARR_ON(tp) into TSA_CARR_ON(tp) and TSA_HUP_OR_INPUT(tp). The former address is now used only for off to on carrier transitions and equivalent CLOCAL transitions. The latter is used for all input events, all carrier transitions and certain CLOCAL transitions. There are some harmless extra wakeups for rare connection- related events. Previously there were too many extra wakeups for non-rare input events. Drivers now call l_modem() instead of setting TS_CARR_ON directly to handle even the initial off to on transition of carrier. They should always have done this. l_modem() now handles TS_CONNECTED and TS_ZOMBIE as well as TS_CARR_ON. gnu/isdn/iitty.c: Set TS_CONNECTED for first open ourself to go with bogusly setting CLOCAL. i386/isa/syscons.c, i386/isa/pcvt/pcvt_drv.c: We fake carrier, so don't also fake CLOCAL. kern/tty.c: Testing TS_CONNECTED instead of TS_CARR_ON fixes TIOCCONS forgetting to test CLOCAL. TS_ISOPEN was tested instead, but that broke when we disabled the clearing of TS_ISOPEN for certain transitions of CLOCAL. Testing TS_CONNECTED fixes ttyselect() returning false success for output to devices in state !TS_CARR_ON && !CLOCAL. Optimize the other selwakeup() call (this is not related to the other changes). kern/tty_pty.c: ptcopen() can be declared in traditional C now that dev_t isn't short.
* Obtained from: partly from ancient patches by ache and me via 1.1.5bde1995-07-291-2/+2
| | | | | | | | | | | | | | | | Remove nullmodem(). It may be useful to have a null modem routine, but nullmodem() wasn't one. nullmodem() was identical to ttymodem() except it didn't implement MDMBUF (carrier) flow control, didn't do any wakeups for off to on carrier transitions, and didn't flush the i/o queues for on to off carrier transitions (flushing has the side effect of waking up readers and writers) although it did generate SIGHUPs. The wakeups must normally be done even if nullmodem() is null in case something is sleeping waiting for a carrier transition. In any case, the wakeups should be harmless. They may cause bogus results for select(), but select() is already bogus for nonstandard line disciplines.
* Obtained from: partly from ancient patches by ache and me via 1.1.5bde1995-07-211-2/+2
| | | | | Nuke `symbolic sleep message strings'. Use unique literal messages so that `ps l' shows unambiguously where processes are sleeping.
* PR #kern/600: PPP does not pay attention to IPTOS_LOWDELAYjoerg1995-07-081-1/+10
| | | | | | | | | | Kernel PPP doesn't pay attention to IPTOS_LOWDELAY, but uses a table of port numbers, which isn't a generic method. The following patch fixes this (the table is still used, but in addition PPP queues the packet in fastq if IPTOS_LOWDELAY is set. Obtained from: Tatu Ylonen <ylo@cs.hut.fi> Submitted by: Heikki Suonsivu <hsu@clinet.fi>
* Merge RELENG_2_0_5 into HEADrgrimes1995-06-111-2/+14
|
* Remove trailing whitespace.rgrimes1995-05-301-5/+5
|
* pppinput:ache1995-03-291-5/+9
| | | | | Fix serial errors handling Add no carrier check
* Support for pseudo-device LKMs. Note that this is restricted to onlywollman1995-03-201-2/+2
| | | | | one pseudo per module (a restriction which will eventually be lifted) and isthus not in its final form.
* *close: just purge tty queues if we can't drain themache1995-02-131-2/+3
|
* Fix previous change: don't attempt to reserve cblocks if the tty is null.bde1994-11-271-5/+8
|
* Fix cblock starvation bugs by reserving enough cblocks for minimalbde1994-11-261-2/+20
| | | | | | | | | operation of each clist. Limit the growth of each clist. Clists can only grow larger than the reserved minimum if there are free cblocks in a shared pool. The size of this pool is now fixed (this could be improved). The reserved and maximum sizes are more carefully allocated for slip and ppp, depending on the mtu. A maximum MTU of 16384 is now enforced for ppp.
* The long-time-waited-for patch for PPP.ugen1994-11-231-1/+2
| | | | | See Gene's mail for explanation.. Submitted by: Gene Stark
* Make it compile again. XXX - this is not really the right way to fixwollman1994-11-011-4/+4
| | | | this problem.
* Make PPP compile cleanlypst1994-11-011-17/+20
|
* Install line discipline the new way.wollman1994-10-051-13/+8
|
OpenPOWER on IntegriCloud