Commit Graph

1111 Commits

Author SHA1 Message Date
itojun f16149934e avoid unneeded call to m_pullup 2002-06-22 11:46:16 +00:00
itojun 9f260b4865 do not require PPPoE control packet to be put into a single mbuf.
reviewed/tested by ymmt
2002-06-22 11:37:48 +00:00
itojun 32e2727406 more style 2002-06-22 05:59:27 +00:00
itojun 98171fbccc style 2002-06-22 05:54:14 +00:00
itojun a028d35cfd more KNF. warn about mbuf misuse (passing pointer outside of mbuf is dangerous) 2002-06-22 05:52:00 +00:00
itojun e94ae067d1 tabify. minor KNF 2002-06-22 05:33:42 +00:00
itojun a10b39ecad reject packets with IPv4 private address range. sync w/kame 2002-06-20 07:43:39 +00:00
itojun 425b0d2350 typo 2002-06-13 05:12:12 +00:00
itojun 00f97b0202 drop too short IPv6 frame 2002-06-13 05:10:34 +00:00
itojun bc880e4114 correect AF_INET6 handling 2002-06-13 05:09:52 +00:00
pooka fef2794715 s/splimp/splnet/ in comment 2002-06-11 11:03:55 +00:00
pooka dc325578c7 fix a few typos in comments 2002-06-11 06:00:57 +00:00
itojun c9faadc40f return EPROTONOSUPPORT if unsupported protocol is specified 2002-06-10 17:40:26 +00:00
itojun 53b229d4cb don't abuse IFF_UP 2002-06-10 17:38:31 +00:00
itojun c0a05a111d raise output errcnt 2002-06-10 17:30:16 +00:00
itojun 2d509e83c4 ENETDOWN if outer ip address is not configured.
plug mbuf leak while here.
2002-06-10 17:12:22 +00:00
itojun ccdab26a23 don't use inner address configured by SIOCSIFADDR/DSTADDR
as outer addresses; now you need to configure outer address by
SIOCS*PHYADDR ("ifconfig tunnel").  as discussed on tech-net
2002-06-10 17:07:51 +00:00
itojun 7864ca478f deprecate IFF_LINK2, !IFF_LINK0 is enough.
no need to manipulate IFF_LINK1 with IFF_LINK0.
remove reference to greconfig(8).
2002-06-09 19:17:43 +00:00
itojun 4c4b38eb0b no need for if_addrlen be 4. From: Martin Husemann <martin@duskware.de> 2002-06-09 17:59:45 +00:00
itojun c284599930 make sure to bzero sockaddr_in 2002-06-09 17:32:54 +00:00
itojun 9c95390f4a style 2002-06-09 17:22:41 +00:00
itojun a8b0c39863 don't forget splx 2002-06-09 17:18:32 +00:00
itojun 04aa2a1c65 avoid code duplicate (route lookup) 2002-06-09 17:17:15 +00:00
itojun 1a5eede494 style 2002-06-09 17:13:31 +00:00
itojun 6f21655564 support SIOCSLIFPHYADDR, SIOCDIFPHYADDR and SIOCGLIFPHYADDR, so that
we can manipulate tunnel endpoint by ifconfig(8).
2002-06-09 17:10:09 +00:00
martin aed31ed511 Change default MTU to 1476 (same value that Cisco uses).
Do not limit the MTU when set by the admin with ifconfig, per discussion
on tech-net.

This fixes PR 16761 from Jasper Wallace.
2002-06-09 09:45:39 +00:00
itojun a636441cdc reject "add" request if if_mtu is different. 2002-06-08 23:17:01 +00:00
itojun f64f00cc3f need to protect if_attachdomain() too 2002-06-08 11:58:50 +00:00
itojun ad2c23cb75 protect dom_ifattach by splnet 2002-06-08 11:54:24 +00:00
wrstuden 9e2b945a7b defparam BPF_BUFSIZE 2002-06-06 23:54:47 +00:00
itojun fc6382d167 no need to set rmx_send/recvpipe. 2002-06-04 22:11:15 +00:00
itojun b1654995d0 add a blank line 2002-06-04 10:00:24 +00:00
itojun 87fc46bce9 improve nd6_setmtu(), to warn too-small MTU on SIOCSIFMTU. sync w/kame 2002-05-30 05:06:28 +00:00
christos ab57e25224 add 2 more CCP defines. 2002-05-29 19:11:05 +00:00
itojun eee0912fd7 don't panic on invalid CONF_ACK from remote (in general, issueing panic
on remote input is bad practice)
2002-05-29 01:38:46 +00:00
itojun ae5a9e211d re-scan all ifnet after domaininit() for if_afdata initialization. 2002-05-27 13:46:45 +00:00
itojun e5aa199677 framework to add af-dependent data structure to struct ifnet.
as discussed at bsd-api-discuss.  sync w/kame
2002-05-27 02:53:49 +00:00
matt 486c7ce727 Add SIOCGIFDATA and SIOCZIFDATA ioctl's to get interface data. (the Z
variant also zeroes the counters after copying them).  In ifunit, add
support for dealing all numeric ifname by treating them as an ifindex
which is used to look up the interface.
2002-05-23 21:34:39 +00:00
itojun d64426f359 use IFT_BRIDGE 2002-05-23 06:19:39 +00:00
itojun 754f309c32 add recently-added IANA values from http://www.iana.org/assignments/smi-numbers 2002-05-23 06:18:44 +00:00
itojun 1d8b891867 sync with KAME.
- make altq_etherclassify() able to handle packets whose ethernet header
  is in a separate mbuf.  closes netbsd PR 16559
2002-05-18 22:52:44 +00:00
haya 1ce4bf6bec Bugfix: s/__NetBSD_Version/__NetBSD_Version__/. IPv4 over IEEE 1394
will work with this change.
2002-05-16 09:08:33 +00:00
matt aefe6a5034 Eliminate common. 2002-05-13 23:50:32 +00:00
matt 2d83d27dfa Eliminate more commons. 2002-05-12 20:40:11 +00:00
matt 17b32e3800 Make ppp_softc[] extern and declare in if_ppp.c 2002-05-12 20:38:15 +00:00
tron 953a52bd9e Fix memory leak which occurs after an allocation failure. 2002-05-07 09:14:20 +00:00
martin 75a925b327 "if (debug)" some log messages not signaling real errors but happening
in normal operation.
2002-04-29 16:29:29 +00:00
enami 064142edd8 Use ETHER_HDR_LEN instead of 14. 2002-04-27 02:38:47 +00:00
martin e4998611e9 Fix copyright notice. 2002-04-14 12:24:26 +00:00
martin e9e3eb14ae XXX Explicitly make this fail to compile with a proper warning if we
do not have ARP configured.

This can be caused by configurations including bridge, ppppoe or vlan but
no ethernet interfaces - which does not make sense. We should add a way
to config(8) to issue this kind of warnings.
2002-04-07 07:05:37 +00:00
christos 5c8e181780 We are not guaranteed that we have enough bytes to get a struct ip from our
mbuf. So if we receive a short packet, that looks like gif we would panic.
Reviewed by thorpej, tested by Kimmo Suominen and Andreas Wrede. Thanks for
the help in tracking this down.
2002-03-26 16:05:03 +00:00
jdolecek d1f2e630ca Fix a memory leak in bridge_ioctl_add() when the called for non-ethernet
interface.
Problem noted and fix provided by in kern/16019 by Love.
2002-03-24 16:11:23 +00:00
darrenr 726f1074d8 If someone is poll'ing to write to bpf, assume that it can always be done
and include POLLOUT and POLLWRNORM in the returned events flag set.
Derived from FreeBSD.
2002-03-23 15:55:21 +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
simonb dbafd8c6a6 Make the 'ifnet' variable an extern and declare it in if.c. 2002-03-17 10:21:42 +00:00
itojun 496665ab2c suppress -Wunused if !INET6 2002-03-13 06:43:18 +00:00
fvdl 8a9dc4a551 Fix what looks like a merge error: olen = 0 in z_decompress, not
PPP_HDRLEN, which caused lots of 'ppp_deflate0: exceeded mru (1508 > 1504)'
messages.
2002-03-13 04:04:00 +00:00
fvdl 21275ebab6 Upgrade this generated version to be based on zlib-1.1.4 2002-03-13 03:59:35 +00:00
onoe ca3afc880f fix CRC (ICV) for WEP: ICV is 32bit not 16bit.
(change from htole16 to htole32, so no changes for little endian machine)
2002-03-12 11:07:26 +00:00
thorpej a180cee23b Pool deals fairly well with physical memory shortage, but it doesn't
deal with shortages of the VM maps where the backing pages are mapped
(usually kmem_map).  Try to deal with this:

* Group all information about the backend allocator for a pool in a
  separate structure.  The pool references this structure, rather than
  the individual fields.
* Change the pool_init() API accordingly, and adjust all callers.
* Link all pools using the same backend allocator on a list.
* The backend allocator is responsible for waiting for physical memory
  to become available, but will still fail if it cannot callocate KVA
  space for the pages.  If this happens, carefully drain all pools using
  the same backend allocator, so that some KVA space can be freed.
* Change pool_reclaim() to indicate if it actually succeeded in freeing
  some pages, and use that information to make draining easier and more
  efficient.
* Get rid of PR_URGENT.  There was only one use of it, and it could be
  dealt with by the caller.

From art@openbsd.org.
2002-03-08 20:48:27 +00:00
itojun ac36f7cb2c bring in latest ALTQ from kjc. ALTQify some of the drivers. 2002-03-05 04:12:57 +00:00
martin b94047688f Avoid noise from the kernel if we have pseudo-device pppoe configured
but not used and a userland PPPoE pkg sends/receives PPPoE packets.
2002-03-04 15:15:05 +00:00
martin 493d3dde20 Add support to query the peer for DNS addreses when negotiating IPCP.
Add ioctls to retrieve the results.

While here remove a malloc()/free() of an unused buffer.
2002-03-02 16:23:42 +00:00
thorpej 759f452292 Don't call m_aux_find() to find a VLAN tag unless VLANs are configured
on the interface.
2002-02-28 19:23:03 +00:00
wiz eb16f6854f Typo fix. 2002-02-26 14:54:50 +00:00
martin a7d662b71c Clear M_BCAST and M_MCAST on outgoing mbufs.
Don't copy ttl from the inner packet to the encapsulating packet. Make
the outer ttl sysctl'able. This should close PR 14269 from Jasper Wallace
(change partly from there) and it makes traceroute work over gre tunnels.
2002-02-24 17:22:20 +00:00
martin fe97d3f7c3 Clear M_BCAST and M_MCAST flags on mbufs before passing them down to the
ethernet driver - just in case it would look at them and do the wrong
thing.
2002-02-24 17:11:53 +00:00
christos ba74a6ad5a PR/15703: Sean Boudreau: Case in route_output() where struct rtentry *rt
dereferenced after free.
2002-02-22 17:26:31 +00:00
martin 39764a5363 Use IF_IS_EMPTY and IFQ_IS_EMPTY instead of accessing queue members
directly. Noticed by Thomas Klausner.
2002-02-10 15:17:21 +00:00
martin e8aa4b2c2a Fix typo in comment. 2002-02-10 15:13:43 +00:00
thorpej 654b815d7b Add the Ethertype for 802.3x flow control packets. 2002-02-10 01:28:32 +00:00
atatat 9dd8465963 (1) Make if_index "wrap" at USHRT_MAX instead of going above it so
that other parts of the kernel won't lose gratuitously.  There are
places where it's assumed that it won't grow that large.

(2) Avoid accidental reuse of occupied slots in the ifindex2ifnet[]
table.
2002-02-09 05:56:34 +00:00
martin 727264d2c9 Avoid any non-error output for normal operations, only print those
messages if the interface is set to debug.
2002-02-01 13:50:00 +00:00
martin 6446e841ec Tweak the slow-but-persistent connection reestablishment timeout, retrying
is not realy expensive - do it once every minute.

Prevent the MTU from being set bigger than what we can handle.
2002-02-01 13:40:16 +00:00
martin 6121a90ba1 Fix copy&pasto: truncate strings copied in at *their* right length, not
some other strings length.

Found by Arne Helme.
2002-01-21 11:37:29 +00:00
jdolecek ec531589ce couple cosmetic style fixes, and drop ^L's 2002-01-18 22:39:12 +00:00
martin 301dca6ef4 Make fields in ioctl parameters that are not allowed to be negative u_ints.
Better range & sanity checking for ioctl arguments (thanks, Jaromir!)
2002-01-15 12:28:08 +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
kleink c095bf1b6d As discussed with Aymeric, <machine/intr.h> is always required, so don't
make its inclusion conditional.
2002-01-14 16:10:33 +00:00
aymeric 8cae495fc0 Don't include machine/types.h (my fault in previous commit)
Reported by Klaus Klein.
2002-01-14 16:04:44 +00:00
martin 78ce6cb0f8 Initialize the activity timestamp when opening a connection. Only idle-
timeout connection that made it to phase NETWORK yet. (For drivers using
the internal timeout mechanism; isdnd, that does the timeout handling for
ISDN drivers, still needs to be fixed.)

Thanks to Wolfgang Solfrank for finding this.
2002-01-14 07:39:14 +00:00
aymeric 24443412ff include machine/types.h
include machine/intr.h if defined(__HAVE_GENERIC_SOFT_INTERRUPTS)
It makes this file compile for the amiga.
2002-01-13 10:57:57 +00:00
martin da249d7da1 Implement a retry counter for failed authorizations and limit it to
a configurable maximum (default: 5).

Some ISPs shut down accounts (at least temporarily) after to many bad
retries. This hit me recently due to a stupid pilot error and the fast
retry rate.
2002-01-07 10:49:02 +00:00
martin 45514531fd Implement an activity timestamp, recording the last time payload data
passed through.

Implement optional idle timeout.
2002-01-06 20:14:29 +00:00
thorpej ce4f05c0a3 Fix LP64 printf format problem. 2002-01-05 19:26:44 +00:00
martin a9309d4f18 Ooops, forgot to commit this file when doing the great if_spppsubr.c
rotottil. Thanks to Launey Thomas for pointing this out.
2002-01-05 00:54:07 +00:00
martin 99772f59c4 Move net/if_sppp.h to net/if_spppvar.h, create a new net/if_sppp.h
containing the userland visible thinks (i.e. ioctl definitions).

Remove all (both) old ioctls, as they had a brain dead API and made keeping
binary compatibility more or less impossible.

Replace by several new ioctls. While there, remove any arbitrary limits
(resulting from the old, broken ioctls) and allow any length of names
and passwords.
2002-01-04 12:21:24 +00:00
thorpej 17da611b51 Fix a "pointers are not permitted as case values" gcc 3.1 warning. 2001-12-31 21:55:46 +00:00
thorpej c9dee7e411 Do not provide memcpy()/memset()/memcmp() macros as wrappers
around b*() functions (!!).
2001-12-23 22:36:16 +00:00
itojun 745e191850 move protosw fragment for gif/stf to their own source code.
reduce #ifdef in stf code.  sync with kame
2001-12-21 03:21:50 +00:00
itojun 14dad29d69 whitespace and comment. sync with kame 2001-12-21 02:50:02 +00:00
martin 61eb776b48 Remove yet another spurious (debug?) output. 2001-12-16 23:55:28 +00:00
martin b2bd90b630 Cleanup softc more completely on "ifconfig down", but only if we are
currently in a connection reestablishement state.

The previouse (incomplete/unconditional) cleanup confused the state machine.
2001-12-16 23:53:31 +00:00
martin 729b826ecd Fix packet accounting (now netstat -i and netstat -ib show reasonable
values).

Implement a secondary connection-reestablishement mode, which is only
entered after (1) we have successfully transfered payload data over this
connection and (2) if initial retries did not reestablish a session.
In this mode we retry (infrequently) forever, until adminstrator stops
us (by "ifconfig ppppoe0 down"). XXX - need to display this mode in
pppoectl.

It is now possible to pull the DSL modems plug for say 15 minutes, plug
it back in again and just wait. The connection will be reestablished within
three minutes.
2001-12-16 11:40:52 +00:00
martin c8006a73d3 Remove some spurious (debug?) output. 2001-12-16 00:55:40 +00:00
martin 7801c694b0 Enable additional error messages for the discovery phase, clarify some
others. Change one timeout slightly - we need to make all others user
settable.
2001-12-15 20:43:31 +00:00
martin f19c69323c Make reconnects after LCP keepalive detected an error actually work. 2001-12-15 20:40:37 +00:00
thorpej f77397d481 Use __sh__ instead of __sh3__. 2001-12-14 23:30:02 +00:00
martin 8b3d9b9497 Enable active LCP keepalive handling in the PPP layer, the PPPoE layer
itself has no means to detect broken connections.
2001-12-10 23:23:24 +00:00
martin 0099682916 Now that everything works without LINK1 set, do not set it by default.
While here, remove an unnecessary splnet()/splx() pair.
2001-12-10 00:24:12 +00:00
martin d585188042 We explicitly close LCP when going to state CLOSED, so we better open
it again when going from INITIAL to STARTING. This has been done for
passive or auto-conecting interfaces always, but not for permanent
ones.

This fixes session reestablishement for PPPoE interfaces without LINK1 set,
and probably also closes PR kern/11161.

Thanks to Jared D. McNeill and Ross Harvey for sugesting debug methology.
2001-12-10 00:22:21 +00:00
martin b1554100e7 Change the way IPCP negotiation is handled.
Collect both local and remote address and set them to the interface in
one step (the peer adress was not set at all before).

This causes the peer address now to show up on the interface and all
messages to the routing socket to be send with correct data. The latter
has been the last missing piece to complete PPPoE support.
2001-12-08 19:46:39 +00:00
ross cbaa950b62 code cleanup for portability 2001-12-04 21:32:15 +00:00
abs 42ceb2f007 Add an #if defined(INET) ... around if_detach_queues's declaration to match the
one around its definition.
2001-12-02 19:44:25 +00:00
martin 6e766675c6 Fail early when trying to identify a pppoe interface softc (from a
HOST UNIQUE token) and our list of interfaces is empty. Without this
test an unitinalized pointer may be dereferenced.
2001-12-01 18:25:23 +00:00
augustss 113024244c Make it compile in the absence of networks. Closes PR 14274 (mine). 2001-11-27 17:32:57 +00:00
martin 86c6c53869 Sanity check the tunnel route after computing it and don't mark the
interface up if there is no route or the route loops back to ourself.
This helps to avoid pilot errors which would result in kernel stack
overflows.
2001-11-24 15:46:08 +00:00
martin c21931cf1d Make this respect down interfaces. 2001-11-24 00:21:27 +00:00
lukem 2565646230 don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
thorpej 1e6d430c86 Someone <sys/param.h> was deleted from the includes list. Add it
back so that this file compiles again.
2001-11-15 07:01:27 +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
bjh21 3048d543d3 Use the (not so-)newly-allocated IFT_ECONET rather than IFT_OTHER. This means
that programs start printing Econet link-layer addresses corrctly.
2001-11-12 20:19:04 +00:00
bjh21 54407dd7d8 Sync with IANA. This finally gets us IFT_ECONET. 2001-11-07 12:14:17 +00:00
itojun 087b694325 too many curly brace. 2001-11-06 08:14:27 +00:00
matt b26f63f404 Fix pr#14481 2001-11-06 06:26:34 +00:00
matt b5e785f38d Switch to using queue access macros instead of refering to the member
fields explicitly.
2001-11-05 18:02:15 +00:00
atatat 6e885d365a Turn the tun device/network interface into a cloning device. 2001-10-31 20:08:17 +00:00
martin 4e61daf35e In preparation for further changes: remove big parts of the ifdef mess
for OSes we no longer share this file with.
2001-10-29 19:15:48 +00:00
simonb 5f717f7c33 Don't need to include <uvm/uvm_extern.h> just to include <sys/sysctl.h>
anymore.
2001-10-29 07:02:30 +00:00
martin d1f0e4f6e4 Don't call if_alloc_sadl when creating the pppoe interface, it's called
from sppp_attach.
When destroying the interface, call sppp_detach for proper cleanup.
This avoids a crash from the slow timeout handler for no longer existing
interfaces (spotted by Rémi Zara).
2001-10-28 09:48:20 +00:00
matt 1ebf8505b2 Add ETHERTYPEs for MPLS (Unicast & Multicast). 2001-10-18 21:29:19 +00:00
itojun dfb1429789 unifdef OLDIP6OUTPUT 2001-10-17 08:23:05 +00:00
itojun 3594efccf6 on RTM_DELETE, reduce refcnt on rt->rt_parent, to avoid leaks.
from IIJ seil team
2001-10-16 02:42:36 +00:00
simonb 0fbef69268 Put the storage class first in an array declaration. 2001-10-14 00:39:09 +00:00
thorpej 5b01f60e5b The bridge driver does all forwarding at interrupt level, and
does not use software interrupts; remove these bridge netisr
hooks left over from a previous incarnation of the bridge code.

Noted by Andrew Brown <atatat@atatdot.net>.
2001-10-06 15:46:33 +00:00
bjh21 25d06cf184 Install net/ieee1394.h the same way we install all the other
link-layer-specific headers.
2001-10-05 12:37:39 +00:00
itojun 6374da40e1 don't softintr_disestablish twice.
previous code panic'ed with the following command sequence:
# ifconfig gif0 create tunnel A B
# ifconfig gif0 deletetunnel
# ifconfig gif0 destroy
2001-09-26 07:54:19 +00:00
onoe b7c46d6199 use ALIGNED_POINTER() instead of ALIGN().
The type of ALIGN() is vary on architecture and casting pointer to u_int
is incorrect for MI code.
Since the code is to make sure aligned access to IP header and requires
bcopy if the test fails.  So the performance implication is not necessary
and we can use ALIGNED_POINTER() here.
pointed out by nathanw.
2001-09-25 01:07:53 +00:00
reinoud 78b6ed208e Change the caddr_t to uintptr_t and remove the cast ... it gave problems
compiling on an LP64 ... discussed with Gimpy, atatat and bleeh
2001-09-24 21:47:57 +00:00
onoe b698d56d3c Move IBSS creation stuff from awi to ieee80211. 2001-09-20 13:54:43 +00:00
onoe aebd449baa Fix for FH infrastructure mode.
XXX: FH chanset should be calculated by FH hop pattern, but BayStack 650 AP
     always specify chanset to fixed value 1.  The previous code try to this
     hack into awi driver, but it is insufficient because the chanset value
     in awi driver may change while scan and it may be different from the
     value in receiving beacon/probe-response.  So we save encoded FH chanset
     into channel in 802.11 common bss information for now.
2001-09-19 04:09:54 +00:00
onoe 6a617566bc Move IEEE 802.11 MAC management functions from awi driver to
if_ieee80211subr.c, which can be shared between any IEEE 802.11
drivers.
However, most of current working IEEE 802.11b wireless LAN cards
have rich firmware and we cannot have a control to management frames
for such cards.

IBSS creation is now supported for the awi driver.
2001-09-18 09:09:57 +00:00
bjh21 5ddc1e1310 Add retry mechanisms for Econet, so that if a four-way handshake doesn't
complete for some reason, we defer it for a bit and then try again.  This
gets ping down to 0% packet loss.

Of course, ping _should_ have been at 0% packet loss anyway, and that's the
next thing to deal with.
2001-09-17 22:41:59 +00:00
thorpej d679590033 Split the pre-computed ifnet checksum flags into Tx and Rx directions.
Add capabilities bits that indicate an interface can only perform
in-bound TCPv4 or UDPv4 checksums.  There is at least one Gig-E chip
for which this is true (Level One LXT-1001), and this is also the
case for the Intel i82559 10/100 Ethernet chips.
2001-09-17 17:26:59 +00:00
wiz 456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
bjh21 33d596bef8 Add support for incoming IP broadcast packets. The protocol for this is
worked out by observing RISC iX's behaviour, so it may be technically
wrong.  The only implementations of IP-over-Econet for which I've got
sources don't support broadcasts.

Tested using broadcast ping from RISC iX to NetBSD, and using rwhod.
2001-09-16 15:08:39 +00:00
bjh21 0f810d8948 eco_input():
Use m_copydata() to preserve the Econet header, so we don't depend on
  notionally-unused areas of an mbuf remaining untouched.
  Check that ARP-over-Econet requests are exactly eight bytes long.
  Use m_pullup() before trusting mtod().

Between them, these make reception of unicast ARP responses work properly.
2001-09-16 12:16:50 +00:00
bjh21 56536d5190 econet_inputframe: Check the header of each frame, and its length, to ensure
it looks like what we expect.  This should help detect frames garbled by the
interface driver.
2001-09-15 23:03:11 +00:00
bjh21 91dae8ca83 Add minimal IP-over-Econet support and a load of bug-fixes. I can ping,
unreliably, between my RISC iX and NetBSD boxes with this.  There's a lot
of work to go before it's solid, though.
2001-09-15 17:27:24 +00:00
bjh21 2aa509fcfb Remember to call eco_input() for incoming broadcasts. 2001-09-13 19:19:21 +00:00
bjh21 3f063023fa Add routing boilerplate to eco_output, verbatim from ether_output.
Update copyright notice to include UCB in consequence.
2001-09-13 18:01:34 +00:00
onoe a939e73e00 Add definition of mask/shift for seqence/fragment in sequence control field. 2001-09-11 12:25:18 +00:00
bjh21 52b3d56b11 Add MI Econet support. This is lacking any interfaces to higher-layer
protocols, and lacking any timeouts, but it basically works, doing four-way
handshakes in both directions and incoming Machine Peek operations.

Oh, and Econet is Acorn's ancient, proprietary 500kbit/s networking
technology.
2001-09-10 23:11:05 +00:00
martin 308d03266a Make this interface cloning. 2001-09-04 20:41:32 +00:00
bjh21 d400c78e55 Update location of IANA smi-numbers file, since the old one doesn't work any
more.

While I'm here, add IANA assignments 0xbe--0xc5.
2001-08-23 14:52:21 +00:00
itojun 2697773fb1 IFQ_PURGE cannot be used against ifqueue. use IF_PURGE. 2001-08-23 00:56:03 +00:00
itojun e556ec903d fix ALTQ support. less diff with kame. kjc@csl.sony.co.jp. 2001-08-20 02:18:58 +00:00
augustss 317073f06f Install if_bridgevar.h. 2001-08-17 23:16:14 +00:00
thorpej 9b50223a16 Only report expire time for DYNAMIC forwarding table entries. 2001-08-17 22:10:20 +00:00