399 Commits

Author SHA1 Message Date
dyson
1fe2f80260 Remove an unfortunate name clash with the zalloc/zfree routines. Since the
ppp_deflate code uses the names locally - it looses.
1997-09-21 22:31:20 +00:00
gibbs
a415512fd4 Update for new callout interface. 1997-09-21 22:02:25 +00:00
bde
1062c10a86 Fixed gratuitous ANSIisms. 1997-09-16 11:44:05 +00:00
peter
1a4a67a50c Update network code to use poll support. 1997-09-14 03:10:42 +00:00
peter
0550686456 Update select -> poll 1997-09-14 03:09:01 +00:00
peter
5297821349 select -> poll
Obtained from: NetBSD (I think)
1997-09-14 03:03:05 +00:00
joerg
f55ef8475e Fix a typo that becomes apparent when compiling without COMPAT_443.
Submitted by:	Tony Kimball <Anthony.Kimball@East.Sun.COM>
1997-09-07 11:09:22 +00:00
bde
c9dd8f47af Some staticized variables were still declared to be extern. 1997-09-07 08:49:04 +00:00
bde
e499dfd06d Some staticized variables were still declared to be extern. 1997-09-07 05:27:26 +00:00
bde
a6e315b69d Added used #include - don't depend on <sys/mbuf.h> including
<sys/malloc.h> (unless we only use the bogusly shared M*WAIT flags).
1997-09-02 01:19:47 +00:00
bde
8ad7283595 Removed unused #includes. 1997-09-01 02:18:13 +00:00
julian
6c90e3528c Add a per-interface-address pointer to a function that can be supplied
by a protocol, to detirmine if an address matches the net this address
is part of.  This is needed by protocols for which netmasks
"just don't work", for example appletalk.

Also add the code in appletalk to make use of this new feature.
Thsi fixes one of the longest standing bugs in appletalk.
The inability to talk to machines to which the path is via a router
which is on a different net, but the same netrange, as your interface.
Protocols that do not supply this function (e.g. IP) should not be affected.
1997-08-28 01:17:12 +00:00
julian
7364436505 add some comments while trying to understand why appletalk
gets some things wrong.
(part of my continuing "comment it as you understand it" effort :)
1997-08-22 22:47:27 +00:00
peter
06ac8bc3a1 Some fixes from Bruce:
- don't access time (a volatile) via struct copy.
  - merge botches
  - note risk of CCOUNT accessing *tp outside spltty().

Submitted by:  bde
1997-08-22 11:34:08 +00:00
peter
9670df0e82 Remove some stray extra prototypes 1997-08-19 17:07:07 +00:00
peter
3825bb86c6 Use two NetBSD-style options (PPP_DEFLATE and PPP_BSDCOMP) to control
whether or not to compile the two ppp compression methods.
1997-08-19 17:05:26 +00:00
peter
3970ef2701 Update kernel parts of pppd from 2.2.0 to 2.3.0. I've yet to look at the
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.
1997-08-19 14:10:50 +00:00
wollman
4542c1cf5d Fix all areas of the system (or at least all those in LINT) to avoid storing
socket addresses in mbufs.  (Socket buffers are the one exception.)  A number
of kernel APIs needed to get fixed in order to make this happen.  Also,
fix three protocol families which kept PCBs in mbufs to not malloc them
instead.  Delete some old compatibility cruft while we're at it, and add
some new routines in the in_cksum family.
1997-08-16 19:16:27 +00:00
ache
c10d309e8b SUNIT: exchange up/down states too 1997-08-13 14:57:14 +00:00
kjc
a2d21c0047 Fix a traceroute problem in the CISCO HDLC mode. (cisco routers not
returning ICMP_TIMXCEED)

use CISCO_UNICAST instead of CISCO_MULTICAST to send normal packets.
this is needed for packets to get processed by a cisco router,
but doesn't matter if a packet is just forwarded.

Reviewed by:itojun@itojun.org
1997-08-12 05:22:54 +00:00
joerg
7c374e293d Implement the LCP fail_counter: if an option has been NAK'ed for more
than max_failures attempts, we are going to REJ it, to prevent endless
NAK loops.

(This is actually part of a larger local set of modifications i'm
running with, but the remainder (PAP & CHAP) ain't ready for prime-
time yet.)
1997-08-10 14:28:16 +00:00
itojun
977f60f91e PR: kern/4117
Reviewed by:	ishii@csl.sony.co.jp, kjc@csl.sony.co.jp

checked with FreeBSD+Riscom - cisco4500 configuration.
1997-08-06 01:43:09 +00:00
bde
9195bd1ec7 Removed unused #includes. 1997-08-02 14:33:27 +00:00
ache
b6fbe13c2a Use malloc to save space for temp SUNIT variable
Submitted by: bde
1997-07-28 14:57:10 +00:00
ache
8e569fe3bd Move tmpnc struct out of stack, too large
Suggested by: bde
1997-07-27 19:28:26 +00:00
ache
7ddb9c4a54 SUNIT: exchange back whole ifnet structures since they are in the linked
list, not device numbers only
1997-07-26 20:13:56 +00:00
ache
2270902ca2 Forget to change units in prev. SUNIT commit. Move variales to local
section for SUNIT.
1997-07-26 19:09:12 +00:00
ache
d210151574 Exchange whole structures on SUNIT, not unit+flags fields only.
It is needed because if_attach() assumes fixed units order
and pass it to ifconfig
1997-07-26 18:47:56 +00:00
julian
99b4548678 An actual fix for the routing default crashes that
1/ is compatible with the old route(1) in case needed.
2/ actually fixes the problem while vetting bad user input.
note: I have already fixed route(1) so the problem shouldn't occur.
if it does. use 0.0.0.0/0 instead of the word 'default' :)
1997-07-18 11:44:24 +00:00
msmith
7f923a8bb1 Fix Julian's fixed fix. Routing is weird.
We need to accept at least one sockaddr with zero length, in order
to be able to set the default route.

Suggested by:	Phone conversation with Julian (sleep well!)
1997-07-17 09:21:34 +00:00
julian
dab3344374 Bungled cut/paste leaves kernel with page faults..
(read all about it!)
1997-07-16 14:55:14 +00:00
julian
db918dfad5 Finally track down the reason for some of my occasional kernel crashes.
Route(1) has a bug that sends a bad message to the kernel. The kernel
trusts it and crashes. Add some sanity checks so that
we don't trust the user quite as much any more.
(also add a comment in if_ethersubr.c)
1997-07-15 23:25:32 +00:00
julian
43e90bb96b Don't add an item to the multicast linked list if it's already
on the list.
1997-07-07 17:36:06 +00:00
peter
04ab5c8948 Send these files to the attic until they are in use for several reasons.
1: cvs and cvsup don't really support vendor branches other than 1.1.1.x,
this is on 1.1.2.x and causing problems in cvsup 'checkout mode', just the
same as cvs has problems interpreting dates. (cvs has "1.1.1" hard coded)
2: cvs 'rm'ing them takes them off the vendor branch and should hide the
above problems.
3: it's just clutter until the merge is done.
4: if the problem isn't sufficiently resolved by taking these off the
vendor branch, the files will have to be nuked and re-imported.
1997-07-05 15:44:29 +00:00
peter
87c1696b92 Initial revision 1997-07-01 20:44:10 +00:00
brian
9aa9d790d1 Fix this damn mbuf with a negative m_len. It turns
out to be a problem with VJ header compression.
davidg spotted this in usr.sbin/ppp/slcompress.c
a while ago, but I believe gave the wrong reasons -
it's too easy to reproduce !  The only scenario that
I've been able to reproduce the problem under is when
m_len is *exactly* 40 !  So go figure !

PR:		3749
Submitted elsewhere by:	davidg
Obtained from: usr.sbin/ppp/slcompress.c
1997-06-22 02:19:53 +00:00
brian
e981ebde8f Protect against garbage mbufs in pppstart.
Remove previous hack in pppfcs().

This is still not the correct solution.  We shouldn't
have any incorrect mbufs.  This patch does however make
pppd/natd work (rather than jamming the interface).
1997-06-18 02:50:40 +00:00
wollman
58389eea9e Add for public examination the beginnings of the per-host cache support
which will for the basis of RTF_PRCLONING's more efficient, better-
designed replacement.
1997-06-18 01:24:28 +00:00
julian
8022bba3f4 As the Tunnel device has no real inherrent MRU limit,
so don't enforce the MTU as an MRU. Allow bidirectional ppp MTU
negotiation, by checking against a differnt figure for MRU.
Make it large enough for ATM frames at least.

Submitted by:   archie@whistle.com (archie cobbs)
1997-06-11 20:15:50 +00:00
brian
0b30f6e412 Prevent panic with garbage mbuf.
Submitted by:	 Lenzi, Sergio <lenzi@bsi.com.br>
1997-06-09 04:13:48 +00:00
dfr
6ba14cc686 Move interrupt handling code from isa.c to a new file. This should make
isa.c (slightly) more portable and will make my life developing the really
portable version much easier.

Reviewed by:	peter, fsmp
1997-06-02 08:19:06 +00:00
peter
e194f5cbd7 Bruce mentioned to me that Paul Traina had noticed that the ppp_tty
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)
1997-05-31 10:13:46 +00:00
peter
577ee2ecf9 don't refer to SWI_*_MASK, it's not SMP/UP kernel portable for the lkm. 1997-05-31 09:49:35 +00:00
joerg
b70226eca1 Fix a couple of log()'s that came out with the wrong (default)
log level, as opposed to LOG_DEBUG.
1997-05-23 20:40:15 +00:00
joerg
6c60e80883 Introduce a third queue per interface, serving only PPP control
protocol packets.  This queue is the only one being enabled until
network phase has been reached.
1997-05-22 22:15:39 +00:00
joerg
86fd58c179 Major nit: i've confused link0 and link1 in my brain and/or in either
the man page or the source file.  Fix this.

Minor problem: don't choke with ENETDOWN early.  As long as our output
queue has space, put the IP packets there even if IPCP ain't up yet.
We will eventually be able delivering them once the PPP state machine
came up.
1997-05-20 22:54:04 +00:00
joerg
27ddec53f7 Major overhaul of the SyncPPP layer. Basically, this comprises now a
full implementation of the sate machine as described in RFC1661, and
provides support for plugging in various control protocols.  I needed
this to provide PPP support for the BISDN project (right now).

Unfortunatley, while the existing API was almost up to the point, i
needed one minor API change in order to decouple the this-layer-
started and this-layer-finished actions from the respective Up and
Down events of the lower layer.  This requires two additional lines in
the attach routines of all existing lower layer interface drivers that
are using syncPPP (shortcutting these actions and events).  Apart from
this, i believe i didn't change the API of all this, so everything
should plug in without too many hassles.  Please report if i broke
something in the existing drivers.

For a list of features (including new ones like dial-on-demand), and
things still to be done, please refer to the man page i'll commit asap.

Encouraged by:	Serge Vakulenko <vak@cronyx.ru>
1997-05-19 22:03:09 +00:00
joerg
40a8b86ac0 Make sppp's logging human-readable. Also, use log(9), as opposed to
printf(9), so the log output doesn't clutter the console.

While i was at it, KNFified some function definitions.  This file was
very inconsistent in this respect.
1997-05-11 10:04:24 +00:00
jhay
4f2a5d896e Use the MAC address of an interface for the host part of an IPX address
and not the MAC address of the first interface for every IPX address.
This is more inline with the way others like Novell do it.
Originally Submitted by: "Serge A. Babkin" <babkin@hq.icb.chel.su>
1997-05-10 10:01:32 +00:00
kjc
2b17ef6899 merge ATM driver 1997-05-09 12:19:06 +00:00