Commit Graph

538 Commits

Author SHA1 Message Date
matt b2c24dbcbe Add an if_drain to the ifnet structure (call when the system is low
on mbufs).  Add code to m_reclaim to call if_drain in each ifnet
that has one set.  Remove register from declarations.
1998-05-22 17:47:21 +00:00
kml 051be14326 Correct copyright date. 1998-05-17 16:46:06 +00:00
thorpej ff4919623e Add missing RCS ID. 1998-05-16 00:49:45 +00:00
kml e72782a137 Driver for Essential Communications' RoadRunner HIPPI (800 Mb/sec network)
card.  With some modification, this could probably also work for their
Gigabit Ethernet card based on the same chipset...
1998-05-14 00:04:57 +00:00
drochner 63cecf5737 This comment is not true. 1998-05-06 18:23:34 +00:00
bouyer de584a5245 Make ATM_LLC_SETTYPE do the rigth thing: swap byte on LE machines,
don't swap on BE machines. The previous revision required a ntohs()
in atm_output(), to work on LE machines. This was broken for BE machines.
1998-05-06 10:16:04 +00:00
christos f648c916d5 Add IPX bits. 1998-05-04 12:54:22 +00:00
thorpej 5e7c21d896 Need <sys/socket.h> to stand alone. 1998-05-02 21:19:03 +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
thorpej 4c5d87fd09 Squash a typo. 1998-05-01 03:58:55 +00:00
thorpej 2fdee596a3 Glue in IP flow fast forwarding. 1998-05-01 03:50:59 +00:00
thorpej 7e223b244a Add FDDI source address spoofing via pseudo_AF_HDRCMPLT. 1998-05-01 03:44:52 +00:00
thorpej 27dba7b8e8 Implement two new BPF ioctls: BPFGHDRCMPLT and BPFSHDRCMPLT, to get/set
the "header already complete" flag.  This allows BPF writers to spoof
layer 2 source addresses (providing the layer 2 in use supports it) in
applications where this is necessary.  From Greg Smith <greg@nas.nasa.gov>.
1998-04-30 00:08:19 +00:00
thorpej 5e5904eb39 In ether_output(), if the socket address family is pseudo_AF_HDRCMPLT,
use the Ethernet source address speficied in the sockaddr rather than
the interface's Ethernet address, and then fall through to the AF_UNSPEC
case.  From Greg Smith <greg@nas.nasa.gov>.
1998-04-30 00:05:41 +00:00
matt d4d709f7d0 Add support for "fast" forwarding. Add hooks in if_ethersubr.c and
if_fddisubr.c to fastpath IP forwarding.  If ip_forward successfully
forwards a packet, it will create a cache (ipflow) entry.  ether_input
and fddi_input will first call ipflow_fastforward with the received
packet and if the packet passes enough tests, it will be forwarded (the
ttl is decremented and the cksum is adjusted incrementally).
1998-04-29 21:37:52 +00:00
thorpej 93b075a492 Oops, we depend on <sys/queue.h>. 1998-04-29 17:49:58 +00:00
kml 8cdafd0efb Add generic route timeout functionality; used by path MTU discovery code 1998-04-29 03:41:49 +00:00
mrg 816ca00ce0 remove some register. 1998-04-26 06:17:20 +00:00
bouyer 287667ba9a Fix my previous commit: the ATM_LLC_* macros do the ntoh/hton conversion,
so the bug was not a missing ntohs in atm_input(), it was an extraneous
htons in atm_output().
1998-04-15 13:01:51 +00:00
bouyer 3d92d64171 Add a missing ntohs. With this change I got ip over atm (vpi/vci) working
between 2 PCs.
1998-03-24 18:48:59 +00:00
kleink 56ddd74138 register -> register int 1998-03-24 12:57:15 +00:00
enami 7972ef1160 Add missing comma. 1998-03-23 13:08:56 +00:00
fair 782eb42847 add the ability to run SLIP with CLOCAL set, per PR#3586 1998-03-23 04:41:16 +00:00
mrg 45159fa631 convert pfil(9) in and out lists from <sys/queue.h> LISTs to TAILQs, and
change pfil_add_hook to put output filters at the tail of the queue,
while continuing to place input filters at the head of the queue.  update
the two users of these functions, and document these changes.

fixes PR#4593.
1998-03-19 15:45:30 +00:00
tv c70676bb18 PR #2736: wrap the softc in #ifdef _KERNEL so userland can include this
file to get at the ioctl values without barfing on the softc
1998-03-18 21:21:48 +00:00
fvdl 7ba6a2daac Remove extraneous files from Lite2 merge. 1998-03-01 13:45:28 +00:00
ross c6b14e94ad Add new type number received from IANA. Also, note the new home of
the IANA master list, post RFC1573.
1998-03-01 07:13:41 +00:00
fvdl e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +00:00
fvdl b50e39fa45 Import 4.4BSD-Lite for reference 1998-03-01 02:09:33 +00:00
perry 41c3fea850 add multiple inclusion protection (and cleanup). 1998-02-09 17:43:44 +00:00
ross 52a1c5fced And yet more numbers, e.g., CATV upstream and downstream types. 1998-02-04 01:00:23 +00:00
ross 124b287686 Add the last few years of IANA assignments, e.g., Gb ethernet. 1998-02-03 04:20:05 +00:00
jtc 7cea5e6bbe Fix tipo 1998-01-30 08:37:41 +00:00
thorpej 9bba708a7a Add 1000baseFX and 10baseT/STP Ethernet media types. 1998-01-30 01:24:40 +00:00
thorpej 4c54445530 Use offsetof() from libkern.h 1998-01-28 02:35:10 +00:00
perry d38a11e380 Fix imported RCS keyword slightly 1998-01-05 05:08:43 +00:00
christos badc0e40aa PR/2733: Bill Sommerfeld: route change command can crash system. Actually
the case mentioned in the PR was fixed as part of PR/2582. There was a similar
case though that was not handled as part of my initial fix, which was fixed
in FreeBSD. I applied the remaining part from FreeBSD and the code matches
now the FreeBSD respective version. [this probably should be pulled up for 1.3]
1997-12-10 00:47:57 +00:00
thorpej 851be78801 Start the watchdog timer in stripopen(), and make sure it's cancelled in
stripclose().  In strip_watchdog(), make abort if the line has been closed.

This fixes kern/4470 (Wolfgang Rupprecht), which was a bad pointer passed
to b_to_q() from strip_proberadio() called via strip_watchdog(); the tty
hadn't yet been attached to the strip interface.
1997-11-20 08:03:06 +00:00
thorpej 7ec7599a61 Change the interface name from "st" to "strip", so as to match the
pseudo-device option listed in the kernel config file, and to avoid
a name clash with the "SCSI tape" driver.
1997-11-17 23:35:28 +00:00
thorpej 22284276e8 Remove a gratuitous debugging printf. 1997-11-17 23:01:44 +00:00
lukem 9e35298d34 * modify ether_aton, ether_hostton, and ether_line to take 'const char *'
arguments as appropriate
1997-11-02 14:26:15 +00:00
mycroft 4666f77376 Do *not* free the mbuf chain we just created. 1997-10-12 16:35:10 +00:00
christos 328602f8d7 Add definitions for bpf_int and bpf_u_int; these are not used in the kernel,
but libpcap expects them if we advertize our current BPF_VERSION.
1997-10-10 14:15:32 +00:00
mrg 74f573d85d remove advertising clause from all my licenses. 1997-10-10 05:39:47 +00:00
christos 6155bdd332 GC bd_sig 1997-10-09 18:58:08 +00:00
christos 485a068ec2 bpf_filter.c:
- update copyright
	- add their rcsid
	- initialize some variables later later for consistency
	  with the current code.
	- change char to u_char to match the current code.
1997-10-09 18:20:04 +00:00
christos 7e9caf0d73 - add their rcsid
- add ifdef to match current code
1997-10-09 18:19:21 +00:00
christos b13f94b5bf sync with bpf-1.2a1
- fix whitespace
	- add rcsid
	- add BPF_RELEASE define
	- add BIOCSTCPF BIOCSUDPF
1997-10-09 18:18:37 +00:00
christos 3108a74999 Sync with bpf-1.2a1
- whitespace
	- add rcsid; our sccsid is newer than the one on 1.2a1.
	- change prototype to add mtu
	- change size_t to u_int for consistency.
	- add alignment stuff in bpf_movein
	- add more consistency checks bpf_movein
	- use one uiomove and then bcopy the data in bpf_movein
	- update the comment for the panic when ifpromisc fails.
	- separate the case when we have non blocking I/O and
	  no data and return EWOULDBLOCK
	- check for other errors and return them
	- pass the mtu to bpf_movein
	- Add the BPF_KERN_FILTER junk, just so that we keep up with the code
	- remove BIOCSRSIG, BIOCGRSIG; SIGIO does this well.
	- don't add the SIOCGIFADDR stuff (it is bogus)
	- Check for malloc return for consistency.
	- comment should say poll
	- change formatting to match the current code.
	- save and restore the pcount and flags in case we fail to set the
	  interface into promiscuous mode.
	- fix spelling typo.
1997-10-09 18:17:19 +00:00
christos 894064be59 - Add some new data link types from libpcap-0.4a3
- bpf_filter() does exist in userland
1997-10-03 16:24:18 +00:00
is fabb33431c Reimplement a test for broadcast addresses advertized, which was left out
when rewriting the ARP system.
1997-10-02 19:41:56 +00:00
matt fe94e79c57 Add SIOC{ADD|DEL}MULTI ioctl to support (for IFF_MULTICAST). 1997-09-25 13:11:58 +00:00
matt 27b993ed37 Add support of SIOCIFMTU to vary mtu of interface. Also allow IFF_MULTICAST
on TUNSIFMODE (sometimes you'd like to do IP multicast on tunnel devices).
1997-09-24 19:45:11 +00:00
mikel a1c1c11a40 eliminate non-comment text after #endifs; from Dave Sainty in PR kern/4091 1997-09-08 02:06:30 +00:00
thorpej ff970dc9c5 Garbage-collect. 1997-08-29 00:57:54 +00:00
thorpej 0eee106cc2 Bring changes from marc-pcmcia branch down to the trunk. 1997-08-29 00:57:28 +00:00
jonathan b327731e26 Add MHLEN + MLEN extra space to LOMTU for IP and transport headers. 1997-08-14 01:12:35 +00:00
phil 511baacef4 Provide better filter validation. PR 3366. 1997-07-07 18:18:28 +00:00
christos d980c28e1d From Paul Mackerras: use sl_compress_setup, not sl_compress_init 1997-06-16 17:01:36 +00:00
christos 6a9f9d3292 PR/3665: Martin Husemann: if_strip calls sl_compress_init with extra arg. 1997-05-24 14:39:44 +00:00
christos cf463415ec Update to ppp-2.3b5 1997-05-17 21:11:59 +00:00
mikel 5f50ab9716 fix bogons; from Jonathan O'Brien in PR kern/3571. 1997-05-07 04:47:15 +00:00
christos 3f5d9dd199 Rename a the pdu fields and don't add the bogus cast on the frmrinfo define. 1997-05-02 21:08:54 +00:00
christos 964a864dac Bring back to life struct frmrinfo and llc_frmrinfo; these are used in netccitt 1997-05-01 23:07:13 +00:00
christos 9dfe73a161 PR/3462: William Studenmund: sizeof(struct llc) returns 10 on m68k instead
of 8. Since structure padding on the m68k is 16 and on the arm is 32, we
rearrange the frmrinfo portion of the union not to contain a second structure.
1997-05-01 14:42:24 +00:00
is f4271c55fd Made pppoutput() public again on behalf of Martin Husemann (PR 3455).
Apparently, the BISDN package uses this function.
1997-04-16 12:54:42 +00:00
chuck cf0f247359 prevent multiple inclusions 1997-04-08 21:29:26 +00:00
christos bd1db9fd84 Fix compile problems (from Veego) 1997-04-03 21:07:42 +00:00
christos 11754cdf41 Update for argument change in at_ifawithnet 1997-04-03 18:48:28 +00:00
christos c5257947c7 PR/3444: Erik Bertelsen: Eliminate warnings when -UINET 1997-04-03 15:25:20 +00:00
christos 0b1d82fb18 Add netatalk stubs. 1997-04-02 21:23:26 +00:00
christos 964633009c Sync with Lite2. 1997-04-02 21:17:28 +00:00
thorpej 0226fc32e4 Don't attempt to include config(8)-generated headers if we're included
by userland.
1997-03-29 19:52:41 +00:00
thorpej 667f747f9a m_copyback() is now in uipc_mbuf.c 1997-03-27 20:38:20 +00:00
thorpej d1c9089a16 Update for the new mbuf code, in a slighly kludgy way. Basically, these
drivers played a somewhat evil trick with clusters, which is now
replaced by a somewhat evil trick with regular malloc'd memory.
1997-03-27 20:36:14 +00:00
thorpej fecae4de60 Back out the previous change (add IFM_10_EXT) after some dicussion
w/ BSDI and Matt Thomas.
1997-03-26 01:19:27 +00:00
christos d465daac1e make sure that the tty layer restarts the ppp layer when there is an error
such as out of buffer space.
1997-03-25 22:33:25 +00:00
jonathan 9a834c4127 Add ARP hardware type for Richochet "starmode" radio addresses. 1997-03-25 02:30:52 +00:00
christos 261ef8aa5a Add missing slpx(); from Bill Sommerfeld 1997-03-24 21:23:10 +00:00
thorpej 6adc9b82fd Add the IFM_10_EXT ("external") ethernet subtype, to accomodate cards
that have the notion of an "external media port".  Suggested by
Matt Thomas <matt@3am-software.com>.
1997-03-24 06:57:31 +00:00
thorpej 4c03c2945d Resolve conflicts from merge. 1997-03-24 00:35:02 +00:00
is 4555777c80 Fix several bugs related to the new ARP code, and ARCnet ARP support.
Among other, add ARPHRD_ARCNET definition, make sure the hardware type is
set on outgoing ARP packets, make sure we dont send out replies as broadcasts.
1997-03-23 01:22:35 +00:00
mycroft 9e9b78f1b5 Don't feed packets to BPF that were not `sent' from the loopback device.
From PR 1693, by Jean-Luc Richier.
1997-03-21 16:58:49 +00:00
is 33d80a37da Deal with AF_ARP on transmission --- without it, the new ARP code doesn't
work.
1997-03-19 16:17:04 +00:00
is 7e9704bb08 Make this compile on port-amiga. Bug report by Bernd Ernesti. 1997-03-17 16:56:34 +00:00
scottr 4cf4807ab0 if_arc.h is in net, not netinet. 1997-03-17 06:45:20 +00:00
thorpej 1b1c7ef868 BSD/OS-style network interface media selection, implemented by
Jonathan Stone and myself.  Many thanks to Matt Thomas for providing
the information necessary to implement this interface, and for helping
to shake out the bugs.
1997-03-17 02:55:12 +00:00
is 57f2f47e2c move if_arc.h to sys/net 1997-03-16 23:27:07 +00:00
cgd 1f5d64db6b s/if_ethertypes.h/ethertypes.h/ because if_ethertypes.h doesn't exist 1997-03-15 21:10:45 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
fvdl 82e4fd7f72 Avoid 'unused variable' warning for copyright string, like in the
previous zlib.c version in the tree.
1997-03-13 20:11:53 +00:00
christos e775167e27 Update to ppp-2.3b4; from Paul Mackerras 1997-03-12 20:26:46 +00:00
chuck cdd09b01c5 minor fix to freebsd section of code from Kenjiro Cho <kjc@csl.sony.co.jp> 1997-03-11 23:19:51 +00:00
mycroft e4bbd86a82 Use splimp() to block interrupts, not splhigh(). 1997-03-04 21:40:07 +00:00
scottr 64d150af76 Avoid duplicate definition of PFIL_HOOKS in the case that the config
file specifies that option.
1997-02-22 17:52:44 +00:00
thorpej cf9c91c5d7 Allow non-superuser to open, listen to, and send safe commands on the
routing socket.  Superuser priviledge is required for all commands
but RTM_GET.
1997-02-22 03:47:01 +00:00
thorpej 60449c1840 Don't let the read timeout get inadvertently rounded down to 0.
From John Hawkinson <jhawk@mit.edu>, PR #2531.
1997-02-21 23:59:35 +00:00
scottr 54b157939d Don't include ipfilter.h if building an LKM. 1997-02-19 23:07:57 +00:00
mrg 4c8bfe2630 pseudo-device ipfilter brings in PFIL_HOOKS. 1997-02-18 20:49:32 +00:00
gwr 77eb8c5a65 fix alignment again for m68k 1997-01-15 18:22:35 +00:00
mikel d235ef1a1c hide softc array and kernel routine prototypes from userland; PR misc/3070 1997-01-03 07:23:29 +00:00
mrg 2cf2442208 remove pfil_bad. 1996-12-20 08:40:46 +00:00
mikel 9aba065e07 add ATM data-link type; reqd. for libpcap. 1996-12-13 07:57:33 +00:00
mycroft f056beb022 Undo silly part of previous change. 1996-12-11 09:37:42 +00:00
chuck df6962b659 fix previous byte-order fix the correct way
(from Zdenek Salvet <salvet@horn.ics.muni.cz>)
1996-11-09 23:02:27 +00:00
cgd 8800178e5c -Wcast-qual cleanups. Don't discard 'const' when casting. 1996-10-25 22:15:54 +00:00
perry 3189406a17 Small fix to make this compile even if no BPFs are being compiled
in. Unfortunately, the BPF-only code called a label that wan't also
being #if'ed, and this made the compiler bitch. Now that we compile
with -Werror, this prevented the thing from compiling at all! (sigh)
1996-10-21 01:58:23 +00:00
chuck 41a87a7ae0 fix: add missing ntohs() for llc mode, as noted by several people including
Dong Lin, Zdenek Salvet, and Matthias Drochner(i think).
1996-10-18 19:26:54 +00:00
christos a1dcf4b026 backout previous kprintf change 1996-10-13 02:10:01 +00:00
christos 10191279fb - printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:59:41 +00:00
mrg 7b71cdec46 minor copyright update. 1996-10-05 23:41:53 +00:00
scottr ae0d4c11cb Use sys/types.h and sys/systm.h to bring in prototypes for bzero() and
bcopy(), instead of string.h
1996-09-18 03:11:03 +00:00
mrg a5f00f16bc move the packet filter hooks in to a saner location. while i'm here, rename
PACKET_FILTER to PFIL_HOOKS.
1996-09-14 14:40:20 +00:00
mycroft 2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
is 905db38340 Add IP multicast support as per RFC 1122 section 3.3.7 to ARCnet.
"The mapping of IP Class D addresses to local addresses is
         currently specified for the following types of networks:
	 [...]
         o    Any network that supports broadcast but not multicast,
              addressing: all IP Class D addresses map to the local
              broadcast address."
1996-09-02 17:28:22 +00:00
mrg c01edc3a02 use sc_unit instead of pointer arthimetic. 1996-08-09 08:34:00 +00:00
jonathan 36c640a447 * Remove old, unused SLIP variables from softc.
* Fix radio error-message parsing bug: old comparison against error
  prefix string  off by the size of the Starmode link-level protocol field.
* Fix radio reset finite state machine, given that parsing works properly.
* Add debugging messages about reset FSM if IFF_DEBUG is set.
* Remove #ifdefs notdef around back the check that discards newlines at
  the beginning of a frame. Every error message from the radio has a newline,
  as the radio send error messages terminated by \r\n, not  just \r like data
  frames. Not dropping the \n garbles the following data frame.
* Remove unused low-level debugging routines.
* Reformat the low-level bytestuff/RLL code to match the canonical source.
* Reduce MTU to 1100 bytes; 1200 bytes can overflow the radio buffers if the
  bytestuff/RLL does poorly.
* Fix radio-probe string to _not_ include a frame delimiter (\r): sending
  a \r to the radio tickles a bug in the firmware, causing the radio to
  smash the next frame sent after  the "**\r" probe string.
* Add calls to the tty t_oproc routine to make sure the probe and reset
  strings get sent to the modem promptly, rather than waiting for the next
  packet.
* Add PPP-style calls to the tty start-output function; seems to
  reduce latency marginally.

still to do:
* Flush output queue if resetting, since the radio is going to drop
  frames on the floor anyway if it needs resetting.
* Reduce tty start-output calls.
1996-08-02 02:53:39 +00:00
cgd ccfab1b072 #ifdef the declaration of 'ac' in fddi_input on ISO, since it's only
used if ISO is defined and -Wall complains.
1996-07-10 18:54:23 +00:00
cgd 1c5ea3c014 print difference between pointers with %ld, so that -Wformat works
on the Alpha and for consistency.  Also, other minor formatting cleanups.
1996-07-10 18:15:22 +00:00
chuck a7d86b86c8 add native mode atm network interrupt 1996-07-04 03:16:13 +00:00
chuck 26cf9de9d5 ported ATM to FreeBSD 2.2-960612-SNAP 1996-07-03 17:17:10 +00:00
christos 0c609bcf9e - Fix PR/2582: default route change without specifying gateway kills system.
While I was there:
- Fix KNF style problem.
- Remove bogus casts to 0, and (caddr_t).
1996-07-01 01:12:32 +00:00
chuck cc499a99d9 change:
- change asock to rxhand and adjust all for this [esp atm_input]
1996-06-29 20:07:05 +00:00
chuck a2efd3b632 add hook for user to turn on/off raw mode 1996-06-28 02:34:34 +00:00
chuck 849f947488 fix/improvement:
- add proto if atm_input
 - add native mode atm hooks to if_atmsubr.c (atm_input)
1996-06-27 04:34:17 +00:00
jonathan d41e338edc * Put in fix to in bytestuffing/RLL code from Stuart Cheshire, that
somehow got lost between NetBSD and Linux.    Output side mbuf-walking
  code now correctly bytestuffs mbuf chains, as well as single mbufs
  and clusters.

* Update radio error-parsing code to Stuart's latest stable code.
  We now parse error messages the older code didn't.

* Note where radio-crash watchdogs should be added (the linux code
  is there, #ifdef'ed out). This still just  doesn't work.
  The radio reset doesn't always work even when slattatch is first started,
  but I have a radio with old firmware, which may be a contributing factor.

* Correct the checks for the tty output queue being overfull;  estimate
  the stuffed pkt size as  (original * 65/64) + STRIP_HDRLEN + 2,
  instead of SLIP's (2*SLMTU).  Re-enable the disabled  check now the
  size estimate isn't excessively large.

* Fix BPF tapping of strip interfaces,  STRIP packets are wrapped
  in a SLIP bpf  header.   This implies no BPF support for arp or atalk,
  even though Linux boxes are sending arp requests and  gratuitous arps.
  There may be no good  fix short  of adding explicit  STRIP encapsulation
  support to bpf/tcpdump.

* Still need a solid walkthrough, and  rewrite to eliminate redundant
  receive-side mbuf copying.
1996-06-26 06:04:20 +00:00
chuck 4ac1ba7fe7 [1] add new rxso passing structure to if_atm.h
[2] modify atm_output to handle native mode atm output mbufs
1996-06-26 04:22:54 +00:00
pk 1a04146533 A couple of emulation enhancements from der mouse's PR#2411:
- ability to be either a BROADCAST or POINTTOPOINT interface.
	- a humble beginning of link-layer addressing (differs from PR
	  by using a `struct sockaddr' instead of single byte).
1996-06-25 22:15:13 +00:00
chuck d9c6fd68b8 network support for ATM networks (ATM == Async Transfer Mode, not
Automatic Teller Machine).

Currently supports PVCs only (no ATM ARP either).
1996-06-22 01:47:35 +00:00
cgd d73abf41aa avoid unnecessary checks of m_get/MGET/etc.'s return values. When
they're called with M_WAIT, they are defined to never return NULL.
1996-06-14 22:21:12 +00:00
cgd 1f29d4b51f no need for a local implementation of SIOCGIFMTU; delete it. 1996-06-13 21:50:32 +00:00
cgd ba3b2a87a2 implement SIOCGIFMTU in a generic manner, by pulling the MTU out of
each netif's if_data structure.  There's no point in making each
driver implement this ioctl.
1996-06-13 21:49:43 +00:00
cgd 2e3d795708 add an ifru_mtu member to the union in 'struct ifreq', and add a
#define so that ifr_mtu accesses that.  MTU shouldn't be overloaded
with ifr_metric, if only for clarity.  Adding an MTU field to the
union hurts nothing (in fact, does not actually _change_ generated
code), and does improve clarity.
1996-06-13 21:48:34 +00:00
thorpej 5804211474 Initialize sc_unit in the right place, a'la if_sl.c. Thanks to
Jonathan Stone <jonathan@DSG.Stanford.EDU> for pointing this out.
1996-06-05 23:20:49 +00:00
thorpej 2fadbc363c Move a mis-placed line on slattach() so that SLIOCGUNIT works properly.
From Jonathan O'Brien <obrien@phoenix.sfsu.edu>.
1996-06-02 16:22:32 +00:00
pk 2d9344eb4b Prototype new raw_*() functions. 1996-05-28 23:24:50 +00:00
pk ad4c0ccfdf Remove unused variable. 1996-05-28 23:24:23 +00:00
mycroft c630947e89 We must indirect through the higher-level protocol for
PRU_{BIND,CONNECT} so that it can check the sockaddr.
1996-05-23 18:30:57 +00:00
mycroft e149ad8228 Fix race condition in PRU_DISCONNECT.
Unimplement PRU_ABORT, as it's not needed and wasn't correct.
Some stylistic cleanup.
Make sure the control mbufs are freed in all cases.
We must indirect through the higher-level protocol for
PRU_{BIND,CONNECT} so that it can check the sockaddr.
1996-05-23 18:26:26 +00:00
mycroft 49d52c9b1c Pass a proc pointer down to the usrreq and pcbbind functions for PRU_ATTACH, PRU_BIND and
PRU_CONTROL.  The usrreq interface really needs to be split up, but this will have to wait.
Remove SS_PRIV completely.
1996-05-22 13:54:55 +00:00
mycroft 12e6d35d62 Removing a completely unneeded reference to curproc. 1996-05-22 13:42:57 +00:00
mycroft 2a94215734 Remove duplicate definition of bpf_setif(). 1996-05-22 13:41:54 +00:00
jonathan ed314bc45a Catch up to removal of if_unit and addition of if_xname and sc_unit,
blindly following the changes to if_sl.c.
1996-05-19 22:09:36 +00:00
jonathan 32d97e42f6 Packet-mode driver for Metricom Ricochet radios (Starmode Radio IP). 1996-05-19 16:34:36 +00:00
christos 748900c4fc Fix new warnings. 1996-05-07 23:20:21 +00:00
thorpej 527565ac15 Kill a couple of unnecessary calls to strlen(). 1996-05-07 05:26:02 +00:00
thorpej 4edabe2501 Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_reset)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 02:40:22 +00:00
cgd 4d6b6d9082 On new architectures and on the alpha, define SIZEOF_BPF_HDR to be
sizeof(struct bpf_hdr).  On machines that we currently support that
can use the old definition (which just covers the size of the data in
struct bpf_hdr), use it even though it's a hack.  (This was changed
for the 'new architectures' case so as to be fail-safe; BPF may
waste a few bytes of space per captured packet on new architectures,
but now at least it's more likely to work.)
1996-05-02 00:57:28 +00:00
christos 8d33c5c8b4 - Fix fencepost error in ifconf() where if space = n * sizeof(struct ifreq),
only n - 1 interfaces would be obtained. This bug is present in the Lite2
  sources too.
- Support COMPAT_SVR4 in ifconf()
1996-04-22 01:20:34 +00:00
is a5ba4721eb Don't even check the not-yet-initialized mbuf pointers for being !=
NULL in the error exit code of arc_output(), else we see random data
and try to m_freem() it, panic'ing the machine.
1996-04-15 14:01:25 +00:00
christos 7af5cc8190 Eliminate need for and remove net_conf.h 1996-03-30 21:57:30 +00:00
cgd 19b97477b9 make this version of ROUNDUP() consistent with the others in this directory.
(only makes a diff on the alpha.)
1996-03-29 00:32:10 +00:00
paulus fa78064f7c Make inclusion of the PPP BSD-Compress and Deflate compressors
dependent on the PPP_BSDCOMP and PPP_DEFLATE kernel configuration
options, respectively.
1996-03-19 01:00:49 +00:00
christos d06f8ad7c8 #if 0 unused string 1996-03-16 23:55:40 +00:00
christos 0706109fa5 - fix misparenthesized ((a&(B|C) == 0))
- fix printf format arguments
1996-03-16 23:55:36 +00:00
paulus 6654fd558b Added packet filtering, support for "PPP Deflate" packet compression,
trivial multicast support, and support for xon/xoff output flow
control to the PPP subsystem.  Fixed several bugs, including making
the accumulation and resetting of statistics more consistent.  State
for the VJ compressor is now dynamically allocated.
1996-03-15 02:28:00 +00:00
mrg d55f4dd0c3 oops; back out previous change and add comment describing what the weird goto does. 1996-03-12 13:07:52 +00:00
mrg c23a9d83e5 eliminate stupid use of "goto next;" where next was: "next: continue;" 1996-03-12 13:01:20 +00:00
mrg 5bc2fce9e1 test for null ifa_dstaddr before using it. (pr#2183 from chuck cranor) 1996-03-12 12:55:52 +00:00
thorpej 7b294ae934 Handle more than 10 interfaces of a given type (well, up to `if99', anyhow).
From Neil McRae, PR #1992.
1996-03-05 01:56:37 +00:00
thorpej 5b663732fa Remove extra RCS id. 1996-03-03 17:18:14 +00:00
mycroft 9fa7b98204 Emulate OSIOCGIFADDR, et al, if COMPAT_LINUX is defined. 1996-02-27 08:17:08 +00:00
mycroft a252a2e3b8 Handle OSIOCGIFCONF if COMPAT_LINUX is defined. 1996-02-27 07:28:38 +00:00
mrg 32cdb91fa3 two more local addr changes, all done differently now (idea from charles) 1996-02-26 23:16:42 +00:00
christos 17de1d7eae Close PR/2105: if.c does not compile without COMPAT_43 due to missing casts. 1996-02-21 14:28:33 +00:00
pk 08fa33d37f struct ifaliasreq: adapt nomenclature to protocol specific counterparts, ie.
swap `ifra_broadaddr' and `ifra_dstaddr'.
1996-02-17 12:32:50 +00:00
christos 206e75c6f1 Net prototypes 1996-02-13 21:59:53 +00:00
pk c633b5aae2 wrt. previous change: can't compute `ilen' that early; just do computation
separately when logging.
Notes: consider using mbuf pkthdr length field in PPP code.
       condider doing packet log after de-compression.
1996-02-07 12:43:41 +00:00
pk b77eaf2c1c Init variable before use (PRs 1646 & 2042). 1996-02-07 10:25:58 +00:00
scottr 5517c6a36f Grammar police; noted by Peter Seebach <seebs@solon.com>. Closes PR #1982. 1996-02-05 17:39:25 +00:00
mycroft 88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
mycroft 1107479eaa Rename tunioctl() and tuncioctl() so that cdevsw points to the right one.
From der Mouse, PR 2005.
1996-02-01 07:28:18 +00:00
mycroft 813ecfb64a Remove old workaround for a bug. 1995-12-27 06:30:38 +00:00
mycroft dda46feea9 Avoid extra byte-swapping in average cases. 1995-12-24 03:33:43 +00:00
mycroft 0e11b6eb6c Remove old comment regarding trailers.
Fix a diagnostic message.
Make some variables use fixed-size types.
Initialize if_output in fddi_ifattach().
1995-12-24 03:32:03 +00:00
mycroft d16cabae61 Remove old comment regarding trailers. 1995-12-24 03:12:29 +00:00
mycroft 206addf62d Various cleanup, mostly by me, submitted by Ignatios Souvatzis. 1995-12-24 03:03:55 +00:00
pk 7e6c169434 Return actual packet length in FIONREAD (noted by Bob Smart). 1995-12-13 23:47:40 +00:00
cgd c20292b01b fix casts; should cast pointers to longs, not ints. 1995-11-20 20:43:33 +00:00
mycroft c594af848d Add some missing statistics. From Thorsten Lockert. 1995-10-05 05:55:09 +00:00
phil 475a548732 Move a #include to outside the #ifdef INET so it will compile without
INET defined.
1995-09-29 03:37:43 +00:00
thorpej e1f1a3a9a7 Enhancements to the bpf from Stu Grossman <grossman@cygnus.com>:
* grok FIONBIO, FIOASYNC, and TIOC{G,S}PGRP
	* add BIOC{G,S}RSIG; get/set the signal to be delivered
	  to the process or process group upon packet reception.
	  Defaults to SIGIO.
1995-09-27 18:30:37 +00:00
mycroft 2f38ab0ad1 Garbage collect useless `off' and `len' variables. 1995-08-19 16:33:17 +00:00
cgd 9ee311ead5 Update to latest code from CSRG. 1995-08-19 07:48:14 +00:00
cgd b0dc5d3d7f local adaptations, and fix a could of compilation errors 1995-08-19 04:35:18 +00:00
cgd 9980150670 Generic FDDI support by Matt Thomas. Support for DEC "PDQ" FDDI chipset
and for the PCI attachment of said chipset ("if_fpa"), also from Matt Thomas.
Arguably, pdq* doesn't belong in sys/dev/ic, but it's going to be shared by
various bus attachment devices at some point in the future, and there's no
other place that seems to fit as well.
1995-08-19 00:59:47 +00:00
mycroft 873ed30f83 so_pcb should be a void *. 1995-08-17 02:57:20 +00:00
mycroft f174a96f7b Don't pass through SIOCGIFADDR, per Steve McCanne. 1995-08-13 04:15:38 +00:00
mycroft 5482957905 splnet --> splsoftnet 1995-08-12 23:59:09 +00:00
mycroft 780f5dbe47 Make panic message consistent. 1995-07-23 16:33:08 +00:00
mycroft 90d6423bcb For outgoing packets, always allocate a header mbuf and fill it in. 1995-07-23 16:29:47 +00:00
cgd 6fa924cb38 fix struct member use, as explained in pr 1164. style police
beat the fix into submission.
1995-07-12 08:27:26 +00:00
paulus fdb27420ea Change $Id to $NetBSD 1995-07-04 23:26:10 +00:00
paulus 8f120b82c6 Add definition for NETISR_PPP. 1995-07-04 23:24:07 +00:00
briggs 61405ee181 Use the right prototype for pppioctl(). 1995-07-04 15:30:39 +00:00
paulus 7f06ab8b0b Latest version of PPP stuff, with packet compression and other
improvements.  The PPP kernel code is now split into if_ppp.c,
containing generic PPP support, and ppp_tty.c, which specifically
supports PPP on async tty devices (as a line discipline).  This is
so that other devices can be supported without making them look
like ttys.
1995-07-04 06:28:17 +00:00
cgd 1e4957e020 oops; export that head definition to non-kernel code. 1995-06-19 21:57:28 +00:00
cgd d925296265 define a type for the ifnet queue's head. 1995-06-19 21:41:37 +00:00
mycroft d2307f3ecb Update to match data structure changes. 1995-06-13 05:52:42 +00:00
mycroft 80a0cdd913 There's no reason to set if_next here. 1995-06-13 05:31:00 +00:00
mycroft 4cabe662ac Make sure to initialize ifnet correctly. 1995-06-12 02:22:13 +00:00
mycroft e0d6716b6a Various cleanup, including:
* Convert several data structures to use queue.h.
* Split in_pcbnotify() into two parts; one for notifying a specific PCB, and
one for notifying all PCBs for a particular foreign address.
1995-06-12 01:09:20 +00:00
mycroft 6897f39ae9 Various cleanup, including:
* Convert several data structures to use queue.h.
* Split in_pcbnotify() into two parts; one for notifying a specific PCB, and
one for notifying all PCBs for a particular foreign address.
1995-06-12 00:46:47 +00:00
cgd d4f62dcb69 update from Ignatios Souvatzis 1995-06-07 00:13:52 +00:00
mycroft 0181b81de4 Newer version from CSRG. 1995-05-17 15:50:06 +00:00
cgd c7d6aa46d5 copy routines should take size_t lengths for prototype consistency.
don't assume that tick is >= 1000; loses badly on alpha (div. by zero)
only try unaligned copies if NetBSD's UNALIGNED_ACCESS symbol is defined.
various misc type size cleanups, mostly short -> int16_t.
1995-04-22 13:26:20 +00:00
cgd b5fb8715b0 quiet compiler warning via (ugly) cast 1995-04-22 13:08:30 +00:00
cgd 92fad4a481 be more careful when rounding sockaddr_dl sizes. also, one u_short * ->
u_int16_t * conversion.
1995-04-22 13:07:12 +00:00
chopps 999aa2cc32 update arc_input() proto to match reality. 1995-04-14 17:09:39 +00:00
chopps 5f90c17217 change args to arc_input also add check on link address which fixes pr#922. from Ignatios Souvatzis <is@beverly.rhein.de> 1995-04-14 17:06:39 +00:00
mycroft 8b77f9cd5f Remove some explicit references to loif. 1995-04-11 04:30:47 +00:00
mycroft 1b863c2eca if_start and if_watchdog should return void. 1995-04-07 22:20:24 +00:00
mycroft da0921a4a2 Set if_output in ether_ifattach(). 1995-04-07 22:19:29 +00:00
mycroft 6f131301b0 Make OSI and X.25 work on little-endian machines. 1995-04-05 21:38:50 +00:00
mycroft 0a2cdb6d61 Fix bogus buffer indexing when a value is split across a mbuf boundary,
as suggested by Greg Ansley.  Also, redefine MINDEX() slightly to avoid
duplicating code.
1995-04-01 03:04:49 +00:00
briggs 6efcd1b6d4 KERNEL -> _KERNEL 1995-03-29 21:57:43 +00:00
jtc db0046c14d KERNEL -> _KERNEL 1995-03-28 19:59:56 +00:00
jtc 7c04233887 KERNEL -> _KERNEL 1995-03-26 20:23:52 +00:00
mycroft b468ed3d00 Fix panic when an interface in promiscuous mode goes down and the BPF user
tries to turn off promiscuous mode.  From Lon Willett.
1995-03-22 16:08:32 +00:00
mycroft f75ba16b09 Update to use timer{add,sub}(). 1995-03-21 13:33:34 +00:00
cgd 17d1e137e0 punt on using int8 types for chars, at least for now. char is 8 byts anyway. 1995-03-12 04:19:08 +00:00
mycroft b880de68c5 ifconf() takes a u_long, not an int. 1995-03-09 09:47:25 +00:00
cgd e363664703 fixed sized types, where appropriate. when casting pointers to
integers to do math on them, cast to long.  ioctl commands are
u_longs.
1995-03-08 02:56:49 +00:00
mycroft 3ab590b35f Undo an #include ordering change. 1995-03-06 10:58:25 +00:00
mycroft 8c5b80f538 Make this more type-safe for the Alpha. From the libpcap 0.0 distribution.
(Needs more work.)
1995-03-06 10:56:06 +00:00
chopps 7908b4858d add prototypes 1995-03-02 09:14:38 +00:00
glass 48b5b94c4f fix some typos. from frank@fwi.uva.nl (Frank van der Linden) 1995-02-27 09:10:24 +00:00
glass f634dc196b preliminary arcnet support. uses lame but RFC address resolution 1995-02-23 07:19:49 +00:00
jtc ca7b8dce12 Protect from multiple inclusion with _NET_BPF_H_, for PR #679. 1995-01-13 00:34:09 +00:00
mycroft 7fab282c89 timevalsub --> __timersub 1994-12-11 21:39:05 +00:00
cgd 6ac2bbfc35 be more careful with types, also pull in headers where necessary. 1994-10-30 21:43:03 +00:00
cgd 36ac18735f fix pr 528; don't define struct if_data inside another structure. 1994-10-19 20:57:56 +00:00
deraadt fb42f63898 bug 367. paulus says the fix is right & critical. 1994-07-27 09:05:33 +00:00
cgd 04753d13bf kill vax code, at ragge's requeust. 1994-07-26 18:56:57 +00:00
paulus ce6d680c66 The ppp interface now retries the mbuf allocation when it receives
a character and it doesn't already have enough space allocated.
It still needs cluster mbufs to be able to decompress VJ-compressed
packets.  It drops packets if it can't allocate mbufs rather than
taking the interface down.
1994-07-20 01:49:20 +00:00
paulus 09264a28ec Due to popular revulsion, the ppp interface now drops packets if 1994-07-20 01:40:11 +00:00
paulus e7ba8f6b5a If we can't get mbuf clusters, take the ppp interface down instead
of writing beyond the end of ordinary mbufs.
1994-07-18 23:45:33 +00:00
cgd a7ec46ab8f use NetBSD (defined in param.h) not __NetBSD__ to allow x-compilation
with native compiler.
1994-07-16 06:26:28 +00:00
cgd d7fc64af84 don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc 1994-07-15 22:29:22 +00:00
cgd 17c3553caf kill bogus external declaration of time 1994-07-15 22:27:46 +00:00
deraadt 5044aff065 bug #319. fix from <alasdair@wildcat.demon.co.uk> 1994-07-03 06:44:03 +00:00
cgd ef9dc92b8e this is what cdefs.h is for 1994-06-29 21:23:15 +00:00
cgd cf92afd66e New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:29:24 +00:00
paulus 45c7c2fc56 Some restructuring of the PPP packet input procedure to make it easier
to implement PPP over sync lines and PPP compression protocols.
1994-06-20 00:35:39 +00:00
paulus aa01a834a4 some minor splx-type bug fixes from christos@deshaw.com. 1994-06-14 03:09:23 +00:00
paulus 5d72d095e8 check for escaped char before checking for escape char
so if peer escapes 0x5d we interpret it correctly
1994-05-29 23:44:23 +00:00
deraadt 043657b599 MIN -> min 1994-05-26 00:47:19 +00:00
cgd f42a80c7ea MIN -> min, MAX -> max 1994-05-24 02:33:03 +00:00
deraadt b9753772a1 repair protos and functions 1994-05-15 19:20:02 +00:00
mycroft 07b4f2ab54 Update to 4.4-Lite networking code, with a few local changes. 1994-05-13 06:02:48 +00:00