martin
f54ddc3c17
Add a function to lookup bridge members by struct ifnet * and use
...
it at all call sites that have such a pointer readily available.
This avoids unnecessary strcmp()s in critical paths, and removes
some XXX comments.
2002-08-24 19:00:31 +00:00
onoe
63a1f2ed02
Delete IFM_IEEE80211_IBSS [ibss] and IFM_IEEE80211_IBSSMASTER [ibss-master]
...
from media options, since IEEE80211_ADHOC [adhoc] is already defined for
IBSS. Instead, [ibss] is assigned as an alias for IEEE80211_ADHOC.
2002-08-21 03:22:04 +00:00
kristerw
6cf8d48ed9
#if 0 a couple of unused functions.
2002-08-20 03:52:26 +00:00
kristerw
81244d0b17
Make it compile for the __NO_STRICT_ALIGNMENT case.
2002-08-20 03:32:08 +00:00
thorpej
c59bd1a572
In ether_output(), don't bother calling memcpy() to plop the ethertype
...
into the packet: On system with no strict alignment constraints, just
assign the value, and on others, do an inline 2 byte copy.
2002-08-19 18:58:50 +00:00
itojun
c00fa8dfd9
avoid swapping endian of ip_len and ip_off on mbuf, to meet with M_LEADINGSPACE
...
optimization made last year. should solve PR 17867 and 10195.
IP_HDRINCL behavior of raw ip socket is kept unchanged. we may want to
provide IP_HDRINCL variant that does not swap endian.
2002-08-14 00:23:27 +00:00
itojun
dddc4be003
to be consistent with other sources, use "struct ip *ip", not inp.
...
(inp is usually used for pointing struct inpcb)
2002-08-12 05:22:57 +00:00
drochner
5f33ace021
rename WI_ ioctl to make it compile again
2002-08-11 12:08:55 +00:00
thorpej
2faddb9f3d
* Additional frame control types.
...
* BEACON and AUTH management packet info.
* Add ioctl for configuring 802.11 auth mode.
From OpenBSD.
2002-08-11 03:39:21 +00:00
thorpej
0eee4f1a69
Add "hostap", "ibss", and "ibss-master" 802.11 media options.
...
From OpenBSD.
2002-08-10 23:21:58 +00:00
soren
f969160bd2
<net/if.h> needs <sys/socket.h> for struct sockaddr.
...
PR kern/3377 from der Mouse.
2002-08-09 22:43:15 +00:00
itojun
cf8807954f
backout previous. i was looking at the wrong RFC.
2002-08-06 04:58:57 +00:00
itojun
fa5ffb82e4
based on RFC2529, stf(4) should have 1480 as MTU, not 1280.
...
tron found it, sync w/kame
2002-08-05 23:37:48 +00:00
onoe
248c861292
Fix IBSS for awi driver.
2002-08-05 06:55:05 +00:00
christos
d64bbf607d
Fix async map handling. Many thanks to Joerg Wunsch for the explanation.
2002-07-30 13:16:35 +00:00
atatat
6675196afb
Make tun interfaces perform auto-creation. This means that if a
...
program opens /dev/tun# and tun# has not been SIOCIFCREATE'd already,
it will be SIOCIFCREATE'd automatically. FreeBSD's tun interfaces
behave in a somewhat similar fashion.
2002-07-29 16:53:30 +00:00
christos
42f6b6f836
Patches from Frank Kardel:
...
- length was one off in names and secrets.
- add win 98 kludge but we keep it disabled for now.
- setup the authorization bit early so that we don't end up doing ppp
negotiations without authorization.
2002-07-28 22:16:47 +00:00
christos
59d3d6c274
Don't throw away the name and the secret lengths. This eliminates all the
...
strlen() calls, and there was a whole bunch of them.
2002-07-28 19:54:47 +00:00
christos
450091b937
avoid modifying the buffers, by checking for matching lengths first. From
...
Frank Kardel.
2002-07-28 15:12:29 +00:00
christos
ca989d9a38
Use strcmp() instead of memcmp() because if we get passed a 0 length name
...
and secret, we'll authenticate successfully! While there, rename passwd to
secret so that code looks nicer.
2002-07-27 19:09:07 +00:00
wiz
645df36eff
Spell '[Rr]ight' correctly. From Jim Bernard.
2002-07-26 14:11:34 +00:00
tron
e5e66e171b
Increase interface output error count in case of a failure.
2002-07-23 06:59:51 +00:00
tron
5126e6107d
Increase interface output counter for every encapsulated packet sent to IP.
2002-07-23 06:44:53 +00:00
martin
5d9a5f68c8
Use "mono_time" instead of "time" for timeout calculations.
2002-07-13 11:08:03 +00:00
yamt
43b3a8007f
don't access freed memory.
2002-07-11 21:37:51 +00:00
yamt
c56faa76d8
don't access freed memory.
2002-07-11 21:21:53 +00:00
itojun
db705b375f
use iana-assigned value for IFT_STF. sync w/kame
2002-07-10 21:01:06 +00:00
itojun
c6f53f281c
correct tcp header chasing in pp_fastq processing. should fix kern/17491.
2002-07-06 18:33:45 +00:00
itojun
fb05cd3dd3
new copyright boilerplate from CMU. from openbsd
2002-07-01 22:09:31 +00:00
onoe
b00ef6acdd
Fill ar_hrd for AF_ARP.
2002-06-25 03:42:28 +00:00
enami
92912a1744
Actually inject the arp packet into softintr queue.
2002-06-24 12:00:49 +00:00
itojun
0143dfc42f
integrate IEEE1394 ARP into generic ARP logic.
...
XXX there's no check at all in ar_hrd, and we don't set ar_hrd on outgoing.
it seems like a bad thing.
2002-06-24 08:06:20 +00:00
itojun
39cf9ef1f5
g/c last bit of old ipv6 prefix management.
2002-06-23 23:34:08 +00:00
yamt
a113bc6fa4
- free buf when unneeded.
...
- pass a consistent type to free(9).
2002-06-22 17:41:23 +00:00
yamt
f6849cb26f
fix loop condition.
...
(don't skip last tag)
2002-06-22 16:56:11 +00:00
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
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