Commit Graph

585 Commits

Author SHA1 Message Date
matt 215470b24c Ansify before committing my next change. 2000-06-17 20:57:20 +00:00
mycroft fbb147f69b Check the multicast bit in the header mbuf while interrupts are still blocked.
Otherwise we can run off into space if the packet was sent immediately and the
mbuf freed.
Pointed out by Boris Popov (not on our lists).
2000-06-14 05:10:27 +00:00
itojun 92e64a4a0d sync with almost-latest KAME IPsec. full changelog would be too big
to mention here.  notable changes are like below.

kernel:
- make PF_KEY kernel interface more robust against broken input stream.
  it includes complete internal structure change in sys/netkey/key.c.
- remove non-RFC compliant change in PF_KEY API, in particular,
  in struct sadb_msg.  we cannot just change these standard structs.
  sadb_x_sa2 is introduced instead.
- remove prototypes for pfkey_xx functions from /usr/include/net/pfkeyv2.h.
  these functions are not supplied in /usr/lib.

setkey(8):
- get/delete does not require "-m mode" (ignored with warning, if you
  specify it)
- spddelete takes direction specification
2000-06-12 10:40:37 +00:00
itojun 3fff705c2a update i-d #. (sync with kame) 2000-06-10 08:02:20 +00:00
onoe 4da3935bae cleanup haeders.
add opt_awi.h to define AWI_DEBUG, AWI_WEP_ARC4.
show the firmware version at attach.
create a framework to support WEP (encryption code is not included for now).
a new wiconfig compatible ioctl interface replaced the awictl interface.
fix memory leak in selecting AP
fix bugs in ESSID selection
changes from FreeBSD-current by Warner Losh:
  revision 1.2
  date: 2000/04/17 22:58:15;  author: imp;  state: Exp;  lines: +16 -1
  Provide mem* for compat with NetBSD to fix LINT
fixes from FreeBSD-current by Guido van Rooij:
  revision 1.4
  date: 2000/05/29 19:58:10;  author: guido;  state: Exp;  lines: +5 -2
  Fix a panic resulting from an obvious null pointer deref.
  Apparently some other panics still exist in this driver, but with
  this fix, it was at least possible to run the Nokia card at SANE 2000.
2000-06-09 05:31:15 +00:00
jhawk 8a49d6bd31 Ensure that all callers of pfind() can deal with pfind(0) returning
a real procp* rather than NULL.
2000-05-28 18:17:07 +00:00
matt 5108d90ce5 Fix bpf output on fddi to actually work. Make it compatible with ULTRIX
and Tru64.
2000-05-28 02:49:35 +00:00
itojun 4631e5d720 improve duplicated 'gifconfig" check (fatal typo was there). sync with kame. 2000-05-17 01:14:04 +00:00
itojun 3c67584219 propose better IPv6 ifid alternative to the peer, when ifid collides
during IPv6CP negotiation.  it is very rare to see collision.
2000-05-16 05:45:27 +00:00
itojun 3a44ebc43c backout previous (packed attribute to struct ifreq) 2000-05-15 16:59:37 +00:00
itojun 3df6dbc4c7 add packed attribute to struct ifreq. this should avoid unaligned access
while parsing SIOCGIFCONF, on alignment-picky archs.
2000-05-15 16:45:50 +00:00
itojun 2e9df64fa3 sync IPv4 rogue address filter with RFC1122. (sync with kame) 2000-05-14 03:44:02 +00:00
thorpej 5e6bec6a7e - Fix a bug in the double-loop version of ether_crc32_le() -- we're not't
supposed to bubble carry through.
- Disable the double-loop version of ether_crc32_le() and add a
  table-driven version of ether_crc32_le() -- the table-driven
  version is faster.
2000-05-12 16:22:36 +00:00
jonathan c35d2c43a6 Make BPF_BUFSIZE overridable: 8192 is smaller than MTU of some devices.
TODO: defopt, or make sysctl'able (c.f. FreeBSD).
2000-05-12 05:58:01 +00:00
ragge 8a9c114515 Change rt_refcnt from short to int, to allow more than 32k routes thru
one interface without unexpected side effects.
2000-05-04 17:33:03 +00:00
itojun aee9bb5b5f IPv6CP support. if IPv6 link-local address is configured to the interface,
the interface tries to negotiate ifid with the other end by using IPv6CP.

other changes:
- do not share ppp sequence number across protocols.
- if LCP proto-rej is received, drop the protocol mentioned by the message.
  this is to be friendly with non-IPv6 peer (if the peer complains due to
  lack of IPv6CP, drop IPv6CP).  this basically implements "RXJ+" state
  transition in the RFC.
- cleanup debugging message.  always print blank just before message.

CAVEAT:
- if the peer uses the same MAC address as our side (pretty unlikely)
  the code may go into req-rej loop.
- even though we negotiate ifid, we don't configure destination address
  onto the interface.  it is not really necessary to do so (IMHO).
- I've tested this code on a NetBSD 1.4.2 node, which was with fair amount
  of modifications.  not sure if the committed code does it right... (please
  test and send reports)
2000-05-02 12:43:16 +00:00
bouyer 4e9473a1e7 ifa_ifwithnet(): for the netatalk case, don't blindly return the first match
but try to find a exact match first. Closes kern/9957.
2000-04-26 13:38:13 +00:00
itojun eaeb53372e update comment (analysis on 04 draft) 2000-04-21 02:40:53 +00:00
itojun d300ce3942 add net/if_stf.h and netinet/ip_encap.h (almost noone will include them though) 2000-04-19 06:39:15 +00:00
itojun 3909133548 introduce sys/netinet/ip_encap.c, to dispatch inbound packets
to protocol handlers, based on src/dst (for ip proto #4/41).
see comment in ip_encap.c for details of the problem we have.
there are too many protocol specs for ip proto #4/41.
backward compatibility with MROUTING case is now provided in ip_encap.c.

fix ipip to work with gif (using ip_encap.c).  sorry for breakage.

gif now uses ip_encap.c.

introduce stf pseudo interface (implements 6to4, another IPv6-over-IPv4 code
with ip proto #41).
2000-04-19 06:30:51 +00:00
itojun 5e5941eda1 remove extra memory region kept by "struct pfil_head pfil_head_t;".
it seems totally, unnecessary, or seems to be typo for typedef.
(correct me if i'm wrong)
2000-04-19 04:46:23 +00:00
simonb 450dc64ed8 Remove some routing specific sysctl function declarations from
<sys/sysctl.h> and make them static in net/rtsock.c.
2000-04-15 17:51:27 +00:00
itojun c24f5b5068 add more IPv6 cases. not tested.
TODO: IPv6CP support.  currently IPv6 packet will be generated right
after link up (spec violation)
2000-04-12 10:51:15 +00:00
itojun ecb5f2e56a revisit in6_ifattach().
- be persistent on initializing interfaces, even if there's manually-
  assigned linklocal, multicast/whatever initialization is necessary.
- do not cache mac addr in the kernel.  grab mac addr from existing cards
  (this is important when you swap ethernet cards back and forth)
now ppp6 works just fine!

call in6_ifattach() on ATM PVC interface to assign link-local, using
hardware MAC address as seed.

(the change is in sync with kame tree).
2000-04-12 10:36:38 +00:00
chs 6040f9fa38 remove sunos stuff. 2000-04-12 04:21:22 +00:00
chs b9c0393d3f remove support for sunos and ancient BSDs. 2000-04-12 04:20:47 +00:00
augustss c1ebd1929a Kill some more register declarations. 2000-03-30 09:45:33 +00:00
simonb 76e291abe4 Delete redundant decls of if_slowtimo and if_null{output,input,start,
ioctl,reset,watchdog,drain} - they're in <net/if.h>.
2000-03-30 02:31:59 +00:00
enami 78d601b7d4 Fix typo in comment. 2000-03-29 04:56:47 +00:00
simonb 0fd09c8496 Don't need to include <sys/conf.h> here. 2000-03-29 03:43:33 +00:00
simonb fe30fe7adf Extern etherbroadcastaddr, ether_ipmulticast_min and ether_ipmulticast_max. 2000-03-29 03:36:32 +00:00
simonb 25b33c13f4 Extern the declarations of ifindex2ifnet and if_index. 2000-03-29 03:27:59 +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
itojun d4eed1a6bf remove bogus comment 2000-03-22 16:51:03 +00:00
itojun c23a76689e remove if_withname, which was merged in by mistake during KAME merge. 2000-03-22 11:34:15 +00:00
itojun 5f74312bd0 beautify 2000-03-22 11:24:59 +00:00
soren 95054da1a1 Fix doubled 'the's in comments. 2000-03-13 23:52:25 +00:00
itojun dcec402dc9 initialize rn with 0, just to be sure 2000-03-12 11:58:15 +00:00
itojun 8937ddef33 do not touch radix_node with RNF_ROOT on route_output(). this can
cause kernel panic (by non-root invocation of route(8)) on certain
routing table setup.
KAME PR: 217
2000-03-10 14:47:12 +00:00
onoe 85656424da Rename the macro IEEE80211_FC1_RCVFROM_XXX to IEEE80211_FC1_DIR_XXX
and fix the value to be consistent with IEEE 802.11 spec.
The only customer of this macro is if_ray driver for now.
2000-03-10 05:44:23 +00:00
thorpej 57aae5ce02 On second thought, only set a default baudrate for "ethernet" if one
isn't set already.
2000-03-06 21:03:46 +00:00
thorpej b99cf790df - Initialize ifp->if_baudrate to a sensible value when the interface is
attached.
- Add ether_crc32_be() and ether_crc_le(), common functions for computing
  the Ethernet CRC on arbitrary length buffers.  Nothing uses them yet,
  and these should be double-checked and probably re-implemented as
  table-driven functions.
2000-03-06 20:54:41 +00:00
thorpej c2c2f491bc Use the new macros in if.h for setting ifp->if_baudrate. 2000-03-06 20:52:12 +00:00
thorpej 7e0978a583 Initialize ifp->if_baudrate to a sensible value when the interface is
attached.  XXX Need to double-check this one.
2000-03-06 20:51:27 +00:00
thorpej 877704d33e Add ifmedia_baudrate(), which returns a value suitable for ifi_baudrate
given a media word, or 0 for unknown.
2000-03-06 20:50:29 +00:00
thorpej 0f5c059d1f - Add link status to if_data, so that routing daemons and other interested
parties can easily know the state of a link.
- Define an interface announcement message for the routing socket so that
  routing daemons and other interested parties know when an interface
  is attached/detached.
2000-03-06 20:49:00 +00:00
kleink 5d617390f9 Make pre-1.5 compatibility structures being defined conditional on _KERNEL
as well.
2000-03-06 18:55:10 +00:00
soren a4a133213f Add empty token_ifdetach(). 2000-02-27 03:04:09 +00:00
mycroft 6ac2d6c797 For pfil_add_hook(..., PFIL_ALL, ...), if we fail to add the output filter,
make sure to remove the input filter.
2000-02-23 02:35:42 +00:00
darrenr fdf401f582 only call pfil_list_add with one of PFIL_IN or PFIL_OUT defined 2000-02-22 11:30:22 +00:00