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
thorpej
460da35f85
Add support for building Ethernet bridges, based on Jason Wright's
...
bridge driver from OpenBSD, although the bridge code has been *heavily*
modified by me (the 802.1D code remains mostly unchanged from the
original).
2001-08-17 21:37:27 +00:00
itojun
74ad87bc53
gif interface now uses generic software interrupt
...
(on archs that support it). also, make gif ALTQ-capable on outgoing.
sync with kame, comments from thorpej.
2001-08-16 17:45:25 +00:00
jdolecek
74954dadf9
use unsigned variable types as appropriate
2001-08-05 18:07:51 +00:00
itojun
43383b1e36
simplify previous fix (0-length mbuf in mbuf chain). from freebsd
2001-08-03 21:11:57 +00:00
itojun
47133068ba
do not break from loop even if m_len == 0. it's valid to have
...
mbuf with m_len == 0 in mbuf chain.
2001-08-02 13:37:51 +00:00
itojun
ce781443e0
pass replay sequence number on sadb_x_sa2 (it's outside of PF_KEY standard
...
anyways).
2001-08-02 12:10:14 +00:00
itojun
32c36b5e14
fix logic to free up ifqueue on if_detach(). prev pointer was incorrectly set.
2001-08-02 01:42:38 +00:00
itojun
39bc63e6b3
raise IFF_UP on SIOCSIFADDR. commented by tv@netbsd, sync with kame
2001-07-30 11:12:58 +00:00
itojun
cad488d032
sync gif interface code with latest kame.
...
IFF_RUNNING is clearified. attach/detach logic is more clearner.
the old code mistakenly set IFF_UP by itself, now the behavior is gone.
2001-07-29 05:08:32 +00:00
itojun
c4a687384b
make sure to cleanup software interrupt queues (like ipintrq)
...
on interface detach, otherwise we will have a dangling pointer
from m->m_pkthdr.rcvif.
2001-07-29 03:28:30 +00:00
itojun
888b31fb38
indent fix
2001-07-28 01:13:56 +00:00
itojun
dc1d7df811
do not initialize rmx_mtu on RTM_ADD.
...
on gateway change, copy rmx_mtu from gateway only under the following condition:
- current MTU is not locked
- current MTU was discovered via PMTUD
XXX if gateway has MTU == 0, current MTU is set to 0 and we are going to
rediscover PMTU again. is it good or bad?
2001-07-26 05:47:37 +00:00
itojun
efe956a93f
do not copy rmx_mtu on RTM_ADD/RESOLVE. the fragment was mistakenly
...
introduced on 1.25, from other *bsd via kame. from thorpej
2001-07-25 07:13:44 +00:00
thorpej
a20e50f72a
Duh, braino in last -- only kick the interface if we actually set
...
the MTU.
2001-07-25 03:18:46 +00:00
thorpej
c7edeb2b4f
If we change the MTU, kick the interface; it may have to reprogram
...
registers for the new MTU.
2001-07-25 03:05:33 +00:00
itojun
cf7ae5ac15
clear ifindex2ifnet[] on if_detach.
2001-07-24 16:35:29 +00:00
matt
bfac03b510
Update the max_linkhdr when we attach a fddi interface.
2001-07-24 06:29:13 +00:00
itojun
2990097219
repair validation on RTAX_GENMASK insertion. has been broken since 44bsd.
...
(freebsd3 has a fix since 1999, but has insufficient validation on sa_len)
2001-07-21 12:20:36 +00:00
itojun
866fc79bb9
validate sa_len on equal() macro. without the change we may touch the content
...
of a2 beyond a2->sa_len mistakelnly. sync with kame
2001-07-20 18:52:18 +00:00
enami
661cd5d582
No need to clear part of struct rt_addrinfo in rt_xaddrs() since the only
...
caller clears whole the struct.
2001-07-19 00:12:09 +00:00
thorpej
cbf41a143a
bzero -> memset
2001-07-18 16:43:09 +00:00
martin
86774df023
Fix a slight bug introduced with revision 1.9 (IPv6 integration) where
...
the bit mask of open NCPs got out of sync.
Defer the (potential) closing of LCP after a NCP went down until after
the state machines got updated.
This fixes PR kern/11161.
2001-07-17 19:12:02 +00:00
martin
accb35c3a2
Fix slight glitch from rev. 1.70: bp is not adjusted for next loop after
...
outputting some data.
Fix provided by isaki@par.odn.ne.jp in PR kern/13472.
2001-07-15 21:17:29 +00:00
perry
fe1a05f50a
add ovbcopy macro for KAME compat.
2001-07-07 18:26:26 +00:00
itojun
5e920039c6
have ovbcopy() macro, for cross-BSD compatibility only.
2001-07-07 14:45:46 +00:00
toshii
4866f1a22b
Fix typo. s/extention/extension/
2001-07-05 08:38:24 +00:00
kleink
e2d6ca2037
Rename an IFM_1000_TX occurrence missed in previous.
2001-06-30 21:23:39 +00:00
bjh21
8d829065a6
IFM_1000_TX -> IFM_1000_T, as (breifly) discussed on tech-net.
2001-06-30 17:53:58 +00:00
thorpej
ab5a996fc5
When setting an address on an interface, for address families which
...
do not require changing the link-level address, only (*if_init)()
if the interface is not already RUNNING.
2001-06-29 18:12:09 +00:00
onoe
ed965d38ff
add more capability information and status from IEEE802.11b
2001-06-25 12:02:53 +00:00
martin
74f0920eda
Take into account the two byte PPP protocol discrimator following the PPPoE
...
header when calculating the MTU. Ooops...
Thanks to Mario Kemper for noting this.
2001-06-24 20:35:50 +00:00
onoe
dd3d1120f0
Add definitions of the value for 'i_wepon' of ieee80211_nwkey to prepare
...
support for persistent keys.
2001-06-21 12:29:39 +00:00
martin
91a63a0595
Protect interface queue manipulations by splnet(). Splsoftnet() is not
...
enough.
2001-06-18 12:32:47 +00:00
itojun
015f17a7cb
fix comment on ifi_lastchange, for 1.4 if_data
2001-06-14 06:37:34 +00:00
itojun
a90f815dc4
update comment on if_lastchange
2001-06-14 05:50:02 +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
wiz
c03a48d64f
withough -> without
2001-06-13 10:45:57 +00:00
wiz
0a600be867
receive, not recieve
2001-06-12 15:17:10 +00:00
thorpej
4f7cad1c02
On a non-simplex interface, check incoming multicast (this catches
...
the broadcast case as well) to see if they came from us, and drop
them if they did.
This fixed IPv6 DAD on non-simplex interfaces, e.g. the Seeq 8003
found on my SGI Indy.
2001-06-12 15:03:26 +00:00
thorpej
42a2e688fe
If the parent interface can do hardware-assisted VLAN encapsulation,
...
then propagate its hardware-assisted checksumming flags.
2001-06-12 06:16:59 +00:00
wiz
40ac848024
Fix various misspellings of compatible/compatibility.
2001-06-11 01:50:48 +00:00
itojun
7f6ce64273
inject outgoing packet to bpf. KAME PR 358.
2001-06-08 00:17:05 +00:00
mrg
6b94f57396
make ifioctl() compat lkm friendly.
2001-06-07 13:26:48 +00:00
itojun
034ca147cb
if_up() requires splsoftnet. sync with kame
2001-06-04 23:53:13 +00:00
itojun
80e7db0fcd
simplify previous change (mbuf length adjustment for rtsock response).
2001-06-04 08:57:58 +00:00
itojun
4a32096acf
adjust routing socket response mbufs to the correct length. sync with kame.
2001-06-04 01:30:11 +00:00
thorpej
7b1b8dd02a
Consider the configured MTU of the interface when determining
...
if a packet is too large.
2001-06-03 03:24:23 +00:00
thorpej
597194532e
Add a capability bit that indicates support for Gigabit Ethernet
...
jumbo frames, and use it in SIOCSIFMTU.
2001-06-03 03:07:39 +00:00
thorpej
ca4d373730
Implement support for IP/TCP/UDP checksum offloading provided by
...
network interfaces. This works by pre-computing the pseudo-header
checksum and caching it, delaying the actual checksum to ip_output()
if the hardware cannot perform the sum for us. In-bound checksums
can either be fully-checked by hardware, or summed up for final
verification by software. This method was modeled after how this
is done in FreeBSD, although the code is significantly different in
most places.
We don't delay checksums for IPv6/TCP, but we do take advantage of the
cached pseudo-header checksum.
Note: hardware-assisted checksumming defaults to "off". It is
enabled with ifconfig(8). See the manual page for details.
Implement hardware-assisted checksumming on the DP83820 Gigabit Ethernet,
3c90xB/3c90xC 10/100 Ethernet, and Alteon Tigon/Tigon2 Gigabit Ethernet.
2001-06-02 16:17:06 +00:00
thorpej
a6e732946b
Add an Ethernet option bit for master mode (for 1000baseTX, the link
...
master provides the clock -- this is normally the switch, but if you
are doing back-to-back NICs, you need to tell one side to be the master).
2001-05-31 16:30:04 +00:00
itojun
96a42a18dc
fix mbuf leak due to meaningless MGETHDR. from niels provos
2001-05-30 16:42:02 +00:00
mrg
67afbd6270
use _KERNEL_OPT
2001-05-30 11:57:16 +00:00
drochner
32f3bee595
fix typo in comment
2001-05-18 08:56:27 +00:00
itojun
63181d71c1
correct ecn consideration on tunnel encap/decap. sync with kame.
2001-05-10 01:37:42 +00:00
itojun
2c2ff2e32d
one more indentation fix
2001-05-10 01:30:55 +00:00
itojun
b87cb9344b
whitespace/indentation cleanup
2001-05-10 01:23:51 +00:00
itojun
dc452a48f6
no longer need to carry local version of inet_ntoa, we have it in libkern.
2001-05-10 01:04:08 +00:00
itojun
a262f7cc76
remove #ifdef for freebsd
2001-05-08 11:06:21 +00:00
itojun
1bec764d78
correct faith prefix determination. use sys/netinet/if_faith.c:faithprefix()
...
to determine. sync with kame.
(without this change, non-faith socket may mistakenly accept for-faith traffic)
2001-05-08 10:15:13 +00:00
lukem
a4845ebfa1
delint to c89; use #define instead of static const int for an array size
2001-05-07 10:15:46 +00:00
martin
b5b75a7d19
Add an in-kernel PPPoE (ppp over ethernet, RFC 2516) implementation,
...
based on the existing net/if_spppsubr.c stuff.
While there are completely userland (bpf based) implementations available,
those have a vastly larger per packet overhead thus causing major CPU
overhead and higher latency. On an i386 base router, running a 486DX at 50MHz
my line (768kBit/s downstream) was limited to something (varying) between 10
and 20 kByte/s effective download rate. With this implementation I get full
bandwidth (~85kByte/s).
This is client side only. Arguably the right way to add full PPPoE support
(including server side) would be a variation of the ppp line discipline and
appropriate modifications to pppd. I promise every help I can give to anyone
doing that - but I needed this realy fast. Besids, on low memory NAT boxes
with typically a single PPPoE connection, this implementation is more
lightweight than a pppd based one, which nicely fits my needs.
2001-04-29 09:50:36 +00:00
itojun
fce23b0ae4
correct outbound outer IPv4 destination address selection.
...
IFF_LINK0 disables inbound path, removes security worries.
more examples in manpage.
2001-04-29 03:56:06 +00:00
marcus
9bcf84f72a
STDC cleanup: label not allowed just before end of block.
2001-04-27 00:14:02 +00:00
augustss
81ece2d4bf
Only dispatch slnetisr & co if we don't have generic soft interrupts.
2001-04-14 13:54:38 +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
d7333fb163
splimp -> splnet
2001-04-12 17:53:48 +00:00
itojun
e366844be7
need to declare NULL for inline function.
2001-04-11 14:44:55 +00:00
thorpej
8dc1d7cbac
Add bridge netisr glue (only used if no __HAVE_GENERIC_SOFT_INTERRUPTS).
2001-04-11 03:55:16 +00:00
thorpej
f62e94272e
Add hooks for bridging.
2001-04-11 03:47:24 +00:00
enami
fe247cae7a
fix possible typo in comment.
2001-04-10 22:58:55 +00:00
thorpej
4702254396
Process pfil hooks for Ethernet input and output.
2001-04-10 21:47:36 +00:00
thorpej
4cbf0044c4
Add a PFIL_HOOKS filtering point to every network interface.
2001-04-10 21:45:39 +00:00
thorpej
f41aa15500
Add 802.1D (Spanning Tree) LSAP code.
2001-04-10 19:30:41 +00:00
martin
8f8dc65f89
Add another option for encapsulation: PP_NOFRAMING.
...
In this mode, the PPP packets start with the protocol identifier and don't
have any explicit framing (which may be added by the lower level driver).
Make input/output statistics a little bit more correct by adding a hardware
driver adjustable framing length for each packet (instead of the constant
value "3" used before).
While there, bump authentication name length from 32 to 48 (I have a
connection where I need more than 32). XXX - this should not be artificialy
limited at all.
2001-04-09 19:33:01 +00:00
thorpej
5cbdcc502b
Add ALTQ support (both for the VLAN interface itself, as well as for
...
being a VLAN on a ALTQ'ified interface).
2001-04-07 18:41:42 +00:00
thorpej
c28f672aee
Add altq_etherclassify(), a slight hack modified from the kame/freebsd4
...
tree, which allows a packet with Ethernet headers already present to
run through the ALTQ packet classifier. This is needed in order to
suport ALTQ on VLAN and bridge devices.
2001-04-07 18:01:48 +00:00
thorpej
98c9d8b5c6
ether_*() functions belong in if_ether.h, not if.h.
2001-04-07 04:24:31 +00:00
enami
2ceebb6c0e
Remove unnecessary test of tp->t_linesw against NULL; they are results
...
of confusion while correcting compilation error after t_line is
replaced with t_linesw.
2001-03-31 00:35:21 +00:00
martin
f7f12c9b64
Make the 'cmd' argument to ioctl an unsigned long, as it is everywhere
...
else.
2001-03-25 19:39:20 +00:00
enami
d189c89a19
- lineup comment.
...
- fix typo in comment.
2001-03-08 03:22:28 +00:00
thorpej
d0abf5db37
Add some missing ALTQ initialization, pointed out by
...
Kenjiro Cho <kjc@csl.sony.co.jp>.
2001-03-03 03:29:20 +00:00
wiz
1651c2430f
Fix pasto reported in kern/12241 by Michael van Elst.
2001-02-28 14:08:35 +00:00
joda
7c1106ddf8
when changing to an unsupported media type, return EINVAL instead of
...
ENXIO
2001-02-26 09:42:00 +00:00
christos
d8dd082e78
change CCP maxlen to 64 to accomodate mschap-2.
2001-02-23 21:16:19 +00:00
itojun
e79a9123a3
use u_quad_t for rtstat.
...
not sure if it really matters, but short (32K) looks way too small given
recent fat pipes connecting *BSD boxes, and our great uptime :-).
2001-02-21 05:45:11 +00:00
itojun
45e2b8d54b
remove necessary global variable for eon processing. from chopps,
...
sync with kame
2001-02-21 00:17:09 +00:00
itojun
1e48b7fbb5
add SIOC[SG]LIFPHYADDR ioctl. greatly simplify tunnel address settings.
...
sync with kame. old ioctls are supplied but not recommended for new code.
2001-02-20 15:35:19 +00:00
itojun
9968ae668d
comment on dispatches (clearify inner/outer)
2001-02-20 08:48:27 +00:00
itojun
56ad92fd11
use u_int32_t, not u_int, for DLT_NULL encapsulation.
2001-02-20 08:33:02 +00:00