Commit Graph

90 Commits

Author SHA1 Message Date
dyoung 225bd76ac3 I changed pppoutput to use M_PREPEND. pppoutput was duplicating
the functionality of M_PREPEND, but with a bug: m_pkthdr.len was
not updated in pppoutput as it is in M_PREPEND.

Also, replace the loop that measures the length of the mbuf chain
with a call to m_length.

This fixes a PR from an anonymous bug reporter.  Thank you, anonymous
bug reporter.  Thanks, Itojun, for bringing the anonymous bug report
to my attention.
2004-07-03 18:11:33 +00:00
itojun d2f1c029b9 kill sprintf, use snprintf 2004-04-21 18:40:37 +00:00
mycroft 8655a8eb83 Also, if we're going to bail, we should free the memory we just allocated... 2003-10-28 20:16:28 +00:00
mycroft 52beeea9f1 Previous patch created a dead break. 2003-10-28 20:15:19 +00:00
christos 125ccd91b1 Fix uninitialized variable warnings 2003-10-25 18:29:12 +00:00
christos ab661a6a58 Add a new ioctl PPPIOCGRAWIN to get the last characters we got from the
remote site.
2003-09-01 16:51:25 +00:00
itojun 860a851ea8 KNF 2003-05-02 03:15:23 +00:00
christos e950c1ac8f PR/20844: Iain Hibbert: PPP Compressors cannot be loaded as LKM 2003-03-27 17:50:06 +00:00
simonb 221db74413 Remove variable that is only assigned too but not referenced. 2003-01-19 23:44:03 +00:00
itojun 8b1cd24b78 backout previous two - if you use ppp* interface, kernel panics instantly.
it is apparent that the change was untested, and severety is high.
2002-10-02 02:27:54 +00:00
augustss 7656699497 Remove unused variable so the file compiles again. 2002-09-25 23:24:37 +00:00
darrenr 4c314b9a9f Keep m_pkthdr.len updated correctly and use it rather than a loop to find
out the total length of the packet.
2002-09-25 16:10:15 +00:00
itojun fb05cd3dd3 new copyright boilerplate from CMU. from openbsd 2002-07-01 22:09:31 +00:00
matt 17b32e3800 Make ppp_softc[] extern and declare in if_ppp.c 2002-05-12 20:38:15 +00:00
atatat 31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
itojun ac36f7cb2c bring in latest ALTQ from kjc. ALTQify some of the drivers. 2002-03-05 04:12:57 +00:00
kleink 67dfac7357 Include <machine/intr.h> unconditionally, instead of only doing so if
__HAVE_GENERIC_SOFT_INTERRUPTS and relying on <sys/param.h> to provide it
otherwise; pointed out by Aymeric Vincent.
2002-01-14 18:19:15 +00:00
lukem 64a432d965 remove unnecessary #if NFOO > 0 .... #endif wrappers 2001-11-13 00:49:35 +00:00
lukem 34d65a3414 add RCSIDs 2001-11-12 23:49:33 +00:00
jdolecek 74954dadf9 use unsigned variable types as appropriate 2001-08-05 18:07:51 +00:00
thorpej cbf41a143a bzero -> memset 2001-07-18 16:43:09 +00:00
itojun 4d51fe368b change the meaning of ifnet.if_lastchange to meet RFC1573 ifLastChange.
follows BSD/OS practice and ucd-snmp code (FreeBSD does it for specific
interfaces only).

was: if_lastchange get updated on every packet transmission/receipt.
now: if_lastchange get updated when IFF_UP is changed.
2001-06-14 05:44:23 +00:00
thorpej bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
thorpej fc5dafc79b Fix a rather annoying problem where the sockaddr_dl which holds
the link level name for the interface (ifp->if_sadl) is allocated
before ifp->if_addrlen is initialized, which could lead to allocating
too little space for the link level address.

Do this by splitting allocation of the link level name out of
if_attach() and into if_alloc_sadl(), which is normally called
by functions like ether_ifattach().  Network interfaces which
don't have a link-specific attach routine must call if_alloc_sadl()
themselves (example: gif).

Link level names are freed by if_free_sadl(), which can be called
from e.g. ether_ifdetach().  Drivers never need call if_free_sadl()
themselves as if_detach() will do it if it is not already done.

While here, add the ability to pass an AF_LINK address to
SIOCSIFADDR in ether_ioctl() (this is what caused me to notice
the problem that the above fixes).
2001-01-17 00:30:49 +00:00
thorpej 569e9a31e2 For SLIP/STRIP/PPP, use generic soft interrupts, if available. 2001-01-15 16:33:30 +00:00
thorpej ed7695a765 Fill in if_dlt. 2000-12-18 19:44:33 +00:00
thorpej 66539b9373 Add ALTQ support. 2000-12-18 18:57:21 +00:00
thorpej c5293456da Adapt to bpfattach() changes, and further centralize the bpfattach()
and bpfdetach() calls into link-type subroutines where possible.
2000-12-12 18:00:22 +00:00
wiz 75311ca708 Fix typo (thinko?), which didn't allow MRU to be set below the default
value (instead of the minimum value). Patch supplied by Stephen Degler
in PR #9945, and reviewed by Ignatios Souvatzis.
2000-10-26 01:26:15 +00:00
onoe 3ec2a62f74 unique #include opt_inet.h 2000-10-06 04:49:53 +00:00
itojun 6b9793517d need opt_inet.h for #ifdef INET 2000-10-04 02:51:18 +00:00
itojun dd859d3462 enable VJC only with INET 2000-10-02 03:54:10 +00:00
augustss c1ebd1929a Kill some more register declarations. 2000-03-30 09:45:33 +00:00
thorpej fc96443d15 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
hannken 2a59794a70 Fix typo introduced in rev. 1.55.
It caused IP6 packets to be sent as AF_UNSPEC instead of AF_INET6.
1999-11-27 18:45:08 +00:00
itojun 06c350054d remove reference to in6_systm.h (file itself will be removed afterwords) 1999-07-30 10:35:34 +00:00
itojun 118d2b1d4f IPv6 kernel code, based on KAME/NetBSD 1.4, SNAP kit 19990628.
(Sorry for a big commit, I can't separate this into several pieces...)
Pls check sys/netinet6/TODO and sys/netinet6/IMPLEMENTATION for details.

- sys/kern: do not assume single mbuf, accept chained mbuf on passing
  data from userland to kernel (or other way round).
- "midway" ATM card: ATM PVC pseudo device support, like those done in ALTQ
  package (ftp://ftp.csl.sony.co.jp/pub/kjc/).
- sys/netinet/tcp*: IPv4/v6 dual stack tcp support.
- sys/netinet/{ip6,icmp6}.h, sys/net/pfkeyv2.h: IETF document assumes those
  file to be there so we patch it up.
- sys/netinet: IPsec additions are here and there.
- sys/netinet6/*: most of IPv6 code sits here.
- sys/netkey: IPsec key management code
- dev/pci/pcidevs: regen

In my understanding no code here is subject to export control so it
should be safe.
1999-07-01 08:12:45 +00:00
tron 81897066b9 Fix compilation problem caused by recent changes to filtering code. 1999-05-14 21:33:41 +00:00
thorpej 7e3a0bf0c5 Decouple inbound and outbound filters. Now instead of using "active-filter"
and "pass-filter" and "inbound" and "outbound" qualifiers in the filter
expression, use new "active-filter-in", "active-filter-out", "pass-filter-in",
and "pass-filter-out" without these qualifiers.

This is necessary due to the horrible, awful way "inbound" and "outbound"
were specified for the filter programs when a packet was passed through them.
Basically, the "address" byte in the serial PPP header was overwritten with
a value to indicate the direction.  However, the "address" byte doesn't even
exist on PPP headers for all other PPP encaps!  So, this old method worked
only for serial encaps, and corrupted packets for all others (PPPoE, ATM, etc.)
1999-05-12 18:50:51 +00:00
thorpej 4c89a367d5 * Start out with a data link type of DLT_NULL. When we change an interface
to serial encap, change its data link type to DLT_PPP_SERIAL.
* Work around some serious bogosity in the filtering code which utterly
breaks proper functioning of BPF.  The PPP code and pppd(8) WILL be changed
to fix this.
1999-05-11 02:18:52 +00:00
thorpej d70bb64a38 Use M_LINK{0,1} for our own mbuf flags, rather than arbitrarily picking
2 bits.
1999-01-09 21:47:09 +00:00
christos 52f565dcfd Revert IPX changes that I committed accidentally. 1998-12-10 17:48:40 +00:00
christos c7578c510a defopt 1998-12-10 11:01:01 +00:00
christos 564a4c75d0 PR/5414: Ronald Khoo: tcpdump ppp does not respect inbound/outbound qualifiers. 1998-09-03 14:12:36 +00:00
sommerfe 6ee9772e54 Fix PR5898: ppp delays last packet. 1998-08-02 15:09:50 +00:00
thorpej e552760fbe Glue in fast forwarding. 1998-07-09 22:30:01 +00:00
sommerfe 3858a1179a Only run pppasyncstart (sc->sc_start) from the netisr handler.
This allows pppoutput to be called from splimp (e.g., when ipflow is
in use.) without requiring pppasyncstart to run at splimp.
This is believed to fix PR5624.
1998-07-08 18:05:48 +00:00
jtk 14119e2944 use #ifdef INET so this compiles again 1998-07-06 13:51:32 +00:00
jonathan 3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
christos 0f39feb773 Merge changes from pppd-2.3.4; adds ppp-deflate-draft stuff and updates
zlib. Maybe we can merge our other copy of zlib with this one now and
avoid having two copies?
1998-05-02 14:34:24 +00:00