Commit Graph

877 Commits

Author SHA1 Message Date
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
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