Commit Graph

1081 Commits

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