martin
11933dbf25
Test and handle memory allocation failure for the access concentrator
...
cookie.
2008-08-18 20:43:50 +00:00
martin
3c5d438020
Apply patch from Yasuoka Masahiko in PR kern/39321: fix length check
...
when parsing pppoe discovery phase packets.
2008-08-08 14:31:00 +00:00
plunky
fd7356a917
Convert socket options code to use a sockopt structure
...
instead of laying everything into an mbuf.
approved by core
2008-08-06 15:01:23 +00:00
degroote
64411951db
We have a dummy entry for IPV6CP even if the non-INET6 case.
...
So always reference IDX_IPV6CP
Fix build of if_spppsubr.c if INET6 is not defined.
2008-08-05 23:56:31 +00:00
christos
fd2004ecfd
keep the loop, but arrange IDX_COUNT to be correct.
2008-08-04 12:03:14 +00:00
martin
2cfed21969
PR kern/39280: Uninitialized callout stopped in if_spppsubr layer
...
in kernels without options INET6.
2008-08-04 10:17:33 +00:00
matt
cc99e2f48f
Remove the pcb from the rawcb list before sofree'ing it.
...
Don't reacquire softnet_lock until after we've freed the pcb.
2008-08-04 06:19:35 +00:00
dsl
34519fcf41
Move the body of VLAN_INPUT_TAG() into a static inline function.
...
(Maybe it shouldn't even be inline - but I'd have to work out where to put it).
VLAN_INPUT_TAG() now calls vlan_input_tag() and does '_errcase' when it fails.
In reality the callers should all be changed, _errcase is ALWAYS continue,
which used to 'continue' (ie break) the do .. while (0) loop - not the
intended action!
Found by ramming all the kernel sources through a modified lint and grepping
for a specific error.
While here enclose the body of VLAN_OUTPUT_TAG() in ().
2008-07-25 20:04:50 +00:00
christos
0119da7858
PR/39203: Paul Ripke: PPPoE issues with broken MTU/MRU implementations
...
Allow larger frames for systems that don't negotiate MTU/MRU properly.
2008-07-25 15:10:25 +00:00
dyoung
7e7bddae2b
Fix this another way: add the missing case statement.
2008-07-23 06:34:31 +00:00
gmcgarry
1d92605168
Back out rev 1.163 which broke the logic for SIOCSIFFLAGS. PR#38976.
2008-07-23 05:41:47 +00:00
cegger
5a5486f956
make this compile again
2008-07-10 05:15:32 +00:00
joerg
02aa18819c
- device/softc split
...
- remove redundant ;
2008-07-09 13:18:41 +00:00
ad
a00bd89dab
Replace references to getsock/getvnode.
2008-06-24 11:18:14 +00:00
gmcgarry
ccd9038096
ioctl commands are unsigned long.
2008-06-24 10:32:14 +00:00
dyoung
06f20fb7d3
Cosmetic: use LIST_FOREACH(). Join lines.
2008-06-23 03:13:12 +00:00
dyoung
c3da8a28e7
Cosmetic: use TAILQ_FOREACH(). Join lines.
2008-06-23 00:56:08 +00:00
yamt
fff57c5525
merge yamt-pf42 branch.
...
(import newer pf from OpenBSD 4.2)
ok'ed by peter@. requested by core@
2008-06-18 09:06:25 +00:00
cube
addeaf5d06
Fix previous: a well hidden assignment was lost.
2008-06-15 20:36:55 +00:00
christos
4f8bb168f6
that should read if_alloc.
2008-06-15 18:40:55 +00:00
christos
bc168f2766
- add if_alloc (ours just mallocs), and if_initname and use them (from FreeBSD)
...
- kill memsets where M_ZERO can be used.
2008-06-15 16:37:21 +00:00
christos
34c1ed7571
remove unnecessary casts.
2008-06-15 16:35:35 +00:00
christos
ab4f03ff74
- Add more definitions from FreeBSD
...
- Add ifmedia_removeall from FreeBSD
2008-06-15 16:33:58 +00:00
cegger
fc8fd752ef
device_private(device_lookup()) -> device_lookup_private()
...
ok cube@
2008-06-10 22:53:08 +00:00
dyoung
6190990146
Destroy condition variable sc_fp_condvar.
2008-06-02 23:07:13 +00:00
christos
5d9f99db06
Don't obliterate the whole message, preserve the data we have just written
...
and only zero out the rest.
2008-06-01 22:05:47 +00:00
christos
56fe2d1f4d
PR/38791: J.T. Conklin: routing socket event header not cleared
2008-05-29 17:53:01 +00:00
dyoung
7b1d20d162
Delete local variable 'sockets', whose value is never used. Reported
...
by J.T. Conklin.
2008-05-29 17:26:56 +00:00
mrg
c2b95373bf
remove clause #3 from my license where there are no other
...
copyright holders involved.
2008-05-29 14:51:25 +00:00
dyoung
d4ff34dc53
In tap_clone_destroy(), don't treat a pointer to the tap(4) softc
...
like it is a device_t.
In tap_clone_creator(), set cf_fstate to FSTATE_FOUND instead of
_NOTFOUND to avoid a panic in config_detach() on a DIAGNOSTIC
kernel. XXX I'm not sure that that is the right fix.
These changes should put a stop to the crash described in kern/38759.
2008-05-28 06:28:12 +00:00
ad
5e4b324300
Properly fix the "hanging in tty" bug that was worked around with cv_wakeup()
...
some time again.
2008-05-25 19:22:21 +00:00
dholland
b152b21d9a
fix typo
2008-05-25 01:59:55 +00:00
christos
45c4cacf02
Coverity CID 5013: Add diagnostic test for bad cmd parameter.
2008-05-24 18:51:41 +00:00
dyoung
89429568e1
Add ETHER_IS_LOCAL(). Tests for "local" ethernet addresses.
2008-05-22 01:15:33 +00:00
ad
6b51302cb8
Acquire kernel_lock in tap's fileops.
2008-05-21 13:56:15 +00:00
ad
323763b5d6
Acquire kernel_lock in the bpf fileops.
2008-05-21 13:48:52 +00:00
yamt
6ddc56271b
agr_ioctl_filter: comment the intention.
2008-05-19 02:53:47 +00:00
dyoung
ab6934acf9
Note both my contribution and NSF funding.
2008-05-15 04:03:53 +00:00
dyoung
9fa4982002
Get rid of gre_sosend()'s lwp argument.
2008-05-15 01:30:48 +00:00
dyoung
e6c098fa6e
rtinit() should pass RTM_ADD to ifa->ifa_rtrequest instead of cmd,
...
after all.
2008-05-13 20:49:33 +00:00
dyoung
e78c6441d1
Cosmetic; reduce excessive parenthesization.
2008-05-13 20:40:33 +00:00
dyoung
9efe814c6c
In rtinit(), when cmd == RTM_ADD, pass cmd instead of RTM_ADD to
...
ifa->ifa_rtrequest(), in preparation for handling rtinit(RTM_CHANGE)
in the RTM_ADD branch.
2008-05-13 20:21:09 +00:00
dyoung
4dbd129d42
Simplify the RT_DPRINTF() calls.
2008-05-13 20:18:11 +00:00
dyoung
2d716f631f
Replace a call to rtrequest() with single dst, mask, gateway
...
arguments, with a call to rtrequest1() with the rt_addrinfo those
single arguments come from. No functional change intended.
2008-05-13 20:16:30 +00:00
dyoung
2f604e903b
Let us call ioctl(SIOC[ADG]LIFADDR) with a link-layer address on
...
an AF_LINK socket, only, to be consistent with SIOC[ADG]LIFADDR
behavior on AF_INET and AF_INET6 sockets. Let us create AF_LINK
sockets for this purpose. Note that most operations on AF_LINK
sockets are not implemented.
2008-05-13 18:09:22 +00:00
dyoung
6f1527c315
Delete unreachable SIOCSIFADDR/AF_LINK case.
2008-05-13 17:58:52 +00:00
dyoung
4dd5ca7947
Add kernel support for adding/removing link-layer addresses using
...
SIOCALIFADDR AND SIOCDLIFADDR, respectively. Corresponding
ifconfig(8) changes are coming soon.
2008-05-11 23:48:07 +00:00
dyoung
9610e6f70b
Bzero, Bcmp, and Bcopy are not used any more, so delete them.
2008-05-11 20:22:38 +00:00
dyoung
b9b961f930
Use memset, memmove, and memcmp instead of Bzero, Bcopy, and Bcmp,
...
respectively.
2008-05-11 20:14:41 +00:00
dyoung
c83464af65
Where applicable, s/0/NULL/, s/Bcmp/memcmp/. Remove a gratuitous
...
cast from a call to nd6_storelladdr().
2008-05-11 20:13:30 +00:00
dyoung
5198e29b4c
Make gre(4) work in the New File Descriptor / Socket Locking Order.
...
Move the function+line printing into GRE_DPRINTF().
Retire gre_closef(). Retire gre_join(). Constify gre_reconf(),
and don't pass it an LWP any longer.
Make this work in the new file descriptor regime. Add a kernel
thread per gre(4) instance whose purpose is to install the socket
into proc0's file descriptor table. Add gre_fp_send() and
gre_fp_recv() for passing file_t pointers to proc0.
Fix locking: don't solock() in the socket upcall, where it is
already held. Do solock() before calling soconnect().
Simplify reconfiguration.
Update a comment that mentions finding a less specific route, since
we don't do that any more.
2008-05-09 20:14:07 +00:00
rumble
7e3d192596
Nix a tautological return introduced in 1.129.
2008-05-09 06:08:19 +00:00
ad
2bbb14eaa4
Back out previous. It broke the build.
2008-05-05 13:41:29 +00:00
ad
b407147f14
Move zlib out of net/ and into kern/. It would probably be better to use
...
the reachover Makefiles and libz, but this is already here and it works.
2008-05-04 23:07:09 +00:00
ad
9f4cef7b1f
Don't install sys/net/zlib.h.
2008-05-04 22:58:52 +00:00
martin
592397db3f
Move to standard TNF 2 clause license
2008-05-04 12:59:38 +00:00
thorpej
b129a80c20
Simplify the interface to netstat_sysctl() and allocate space for
...
the collated counters using kmem_alloc().
PR kern/38577
2008-05-04 07:22:14 +00:00
ad
971df547a1
kern/38502 ifconfig wi0 hangs
...
Don't acquire the socket lock for PRU_CONTROL.
2008-04-29 18:42:26 +00:00
martin
3028e483e4
Convert to new 2 clause license
2008-04-29 06:53:00 +00:00
martin
ce099b4099
Remove clause 3 and 4 from TNF licenses
2008-04-28 20:22:51 +00:00
yamt
ee319e086d
netstat_sysctl: set sysctl_size correctly. (fix netstat -s garbage output)
2008-04-26 08:17:01 +00:00
ad
6d70f903e6
Network protocol interrupts can now block on locks, so merge the globals
...
proclist_mutex and proclist_lock into a single adaptive mutex (proc_lock).
Implications:
- Inspecting process state requires thread context, so signals can no longer
be sent from a hardware interrupt handler. Signal activity must be
deferred to a soft interrupt or kthread.
- As the proc state locking is simplified, it's now safe to take exit()
and wait() out from under kernel_lock.
- The system spends less time at IPL_SCHED, and there is less lock activity.
2008-04-24 15:35:27 +00:00
martin
f9b83801e8
Make it compile if !COMPAT_OSOCK
2008-04-24 13:30:52 +00:00
ad
15e29e981b
Merge the socket locking patch:
...
- Socket layer becomes MP safe.
- Unix protocols become MP safe.
- Allows protocol processing interrupts to safely block on locks.
- Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
2008-04-24 11:38:36 +00:00
thorpej
34908fe541
Add subroutines to support collating per-cpu-gathered network statistics.
2008-04-23 05:21:17 +00:00
scw
9d52faae48
Pull in a couple of fixes from FreeBSD, the first of which addresses a
...
failure of wpa_supplicant(8) to re-key promptly, as reported in
http://mail-index.netbsd.org/tech-net/2008/04/18/msg000459.html
- Make bpf's read timeout work more correctly with select/poll.
- A fix for catchpacket() which delays calling bpf_wakeup() until
the state has been updated.
2008-04-20 15:27:10 +00:00
thorpej
881a947288
Make ARP stats per-cpu.
2008-04-15 15:17:54 +00:00
thorpej
0dd41b37de
Make ip6 and icmp6 stats per-cpu.
2008-04-15 03:57:04 +00:00
cegger
856327cd56
make this build with BRIDGE_IPF and PFIL_HOOKS options
2008-04-12 09:26:45 +00:00
thorpej
7ff8d08aae
Make IP, TCP, UDP, and ICMP statistics per-CPU. The stats are collated
...
when the user requests them via sysctl.
2008-04-12 05:58:22 +00:00
dyoung
18f5f53751
Add some assertions that will catch any exception to
...
ro->ro_sa == NULL implies ro->_ro_rt == NULL.
2008-04-10 18:12:02 +00:00
thorpej
3f466bce48
Change IPv6 stats from a structure to an array of uint64_t's.
...
Note: This is ABI-compatible with the old ip6stat structure; old netstat
binaries will continue to work properly.
2008-04-08 23:37:43 +00:00
thorpej
88d65e9212
Change IP stats from a structure to an array of uint64_t's.
...
Note: This is ABI-compatible with the old ipstat structure; old netstat
binaries will continue to work properly.
2008-04-07 06:31:27 +00:00
cegger
cc658c528f
use aprint_*_dev and device_xname
2008-04-05 13:49:36 +00:00
dyoung
cdb2193bda
Improve error handling. gre(4) is still broken, but it does not
...
any longer cause a page fault trap.
2008-04-03 21:40:59 +00:00
dyoung
b674c86ad6
Fix one of two bugs introduced by the descriptor handling changes
...
(rev 1.125): correct the check for fd_getsock() failure in
gre_socreate().
The second bug is more complicated to fix. Since rev 1.125,
gre_reconf() is using the file descriptor table of the current
process instead of the process 0's (the kernel's).
2008-04-03 07:19:32 +00:00
dyoung
0228252053
Cosmetic: use curlwp everywhere that it is appropriate, instead of
...
using a temporary variable. Remove superflous curly braces. Move
an assignment that shuts up a "variable may be used uninitialized"
warning.
2008-04-03 07:12:16 +00:00
yamt
c585603ac5
route_intr: fill a correct member of sockproto. (sp_family -> sp_protocol)
2008-03-29 13:00:43 +00:00
ad
be04ac4896
Make rusage collection per-LWP and collate in the appropriate places.
...
cloned threads need a little bit more work but the locking needs to
be fixed first.
2008-03-27 19:06:51 +00:00
ad
9591013005
Defer processing of routing messages to a soft interrupt. These can be
...
generated at IPL_VM and it's not safe to call directly into the socket
layer at that level. Reviewed by matt@.
2008-03-26 14:53:14 +00:00
christos
f071da976a
- put const back, no reason to modify the prototype.
...
1. Please don't cast function pointers to (void *), use the full function
prototype cast; this is for archs where a function pointer is not a regular
pointer.
2. Compare pointers to NULL not 0.
2008-03-26 02:21:52 +00:00
yamt
9a4b7dd279
merge yamt-lazymbuf branch.
2008-03-24 12:24:37 +00:00
yamt
9f194df082
agrport_monitor: map IFM_NONE to IFM_NONE|IFM_ETHER and add a comment.
2008-03-24 09:14:52 +00:00
ad
a9ca7a3734
Catch up with descriptor handling changes. See kern_descrip.c revision
...
1.173 for details.
2008-03-21 21:54:58 +00:00
rtr
6797804c6b
whitespace '\t' -> ' '
2008-03-15 11:45:18 +00:00
matt
45e0220f34
Make sure M_PROMISC isn't already set, before we need to see if we are going
...
to see if we need to set M_PROMISC.
Assume the interface is not CARP'ed.
2008-03-15 05:07:34 +00:00
dyoung
84f6ead420
Make some cosmetic changes:
...
Use fewer 'error = ...; break;' statements and more 'return
...;'
Make the SIOCSIFFLAGS case more clear by using a switch
statement instead of an if-else if-else chain.
Shorten a staircase, and remove two unnecessary curly
braces.
2008-03-12 18:22:24 +00:00
cube
44f2cef6db
Split device_t/softc, and other related cosmetic changes.
2008-03-04 13:25:05 +00:00
rmind
c6186face4
Welcome to 4.99.55:
...
- Add a lot of missing selinit() and seldestroy() calls.
- Merge selwakeup() and selnotify() calls into a single selnotify().
- Add an additional 'events' argument to selnotify() call. It will
indicate which event (POLL_IN, POLL_OUT, etc) happen. If unknown,
zero may be used.
Note: please pass appropriate value of 'events' where possible.
Proposed on: <tech-kern>
2008-03-01 14:16:49 +00:00
dyoung
8a7761f76c
Cosmetic: shorten staircases. Join some lines.
2008-02-29 21:23:55 +00:00
matt
eefce21cf2
Revert change of char to int8_t.
2008-02-20 17:18:11 +00:00
matt
2b028087f5
s/u_\(int[0-9]*_t\)/u\1/g
...
(change u_int*_t to uint*_t)
2008-02-20 17:05:52 +00:00
skrll
5bdccff36c
CARP is Common *Address* Redundancy Protocol
2008-02-13 09:25:24 +00:00
dyoung
df7679436b
#include <sys/evcnt.h> for event counters.
2008-02-12 00:53:06 +00:00
dyoung
b1480edbc5
Do not needlessly #include <sys/device.h>.
2008-02-11 22:32:48 +00:00
simonb
93469128b0
Don't look for <stdbool.h> if compiling _STANDALONE as well.
2008-02-11 04:47:21 +00:00
martin
035ac59527
Make it compile w/o INET6
2008-02-07 08:48:16 +00:00
xtraeme
4f2a32a138
Remove neticp (network info commpage) stuff that dyoung added
...
accidentally to make this build again.
2008-02-07 04:44:21 +00:00
dyoung
2ccede0a9c
Start patching up the kernel so that a network driver always has
...
the opportunity to handle an ioctl before generic ifioctl handling
occurs. This will ease extending the kernel and sharing of code
between drivers.
First steps: Make the signature of ifioctl_common() match struct
ifinet->if_ioctl. Convert SIOCSIFCAP and SIOCSIFMTU to the new
ifioctl() regime, throughout the kernel.
2008-02-07 01:21:52 +00:00
dyoung
d8e12ce795
Fix more fall-out from extracting ifioctl_common(): don't return
...
ENETRESET from ifioctl().
2008-01-23 16:51:19 +00:00