summaryrefslogtreecommitdiffstats
path: root/sys/netinet/ip_dummynet.c
Commit message (Collapse)AuthorAgeFilesLines
* Make it so dummynet and bridge can be loaded as modules.ps2001-10-051-61/+74
| | | | Submitted by: billf
* Two main changes here:luigi2001-09-271-20/+20
| | | | | | | | | | | | | | | + implement "limit" rules, which permit to limit the number of sessions between certain host pairs (according to masks). These are a special type of stateful rules, which might be of interest in some cases. See the ipfw manpage for details. + merge the list pointers and ipfw rule descriptors in the kernel, so the code is smaller, faster and more readable. This patch basically consists in replacing "foo->rule->bar" with "rule->bar" all over the place. I have been willing to do this for ages! MFC after: 1 week
* Include sys/proc.h for the definition of securelevel_ge().brooks2001-09-261-0/+1
| | | | Submitted by: LINT
* o Modify IPFW and DUMMYNET administrative setsockopt() calls to userwatson2001-09-261-2/+5
| | | | | | | securelevel_gt() to check the securelevel, rather than direct access to the securelevel variable. Obtained from: TrustedBSD Project
* Sync with the bridge/dummynet/ipfw code already tested in stable.luigi2001-02-101-5/+5
| | | | | In ip_fw.[ch] change a couple of variable and field names to avoid having types, variables and fields with the same name.
* Mechanical change to use <sys/queue.h> macro API instead ofphk2001-02-041-3/+3
| | | | | | | fondling implementation details. Created with: sed(1) Reviewed by: md5(1)
* MFS: bridge/ipfw/dummynet fixes (bridge.c will be committed separately)luigi2001-02-021-42/+44
|
* Minor cleanups after yesterday's patch.luigi2001-01-261-4/+2
| | | | The code (bridging and dummynet) actually worked fine!
* Bring dummynet in line with the code that now works in -STABLE.luigi2001-01-261-88/+125
| | | | It compiles, but I cannot test functionality yet.
* Change critical section protection for dummynet from splnet() toluigi2001-01-221-15/+45
| | | | | | | | | splimp() -- we need it because dummynet can be invoked by the bridging code at splimp(). This should cure the pipe "stalls" that several people have been reporting on -stable while using bridging+dummynet (the problem would not affect routers using dummynet).
* Some dummynet patches that I forgot to commit last summer.luigi2001-01-161-34/+71
| | | | | | One of them fixes a potential panic when bridging is used and you run out of mbufs (though i have no idea if the bug has ever hit anyone).
* Convert more malloc+bzero to malloc+M_ZERO.dwmalone2000-12-081-10/+6
| | | | | Submitted by: josh@zipperup.org Submitted by: Robert Drehmel <robd@gmx.net>
* Fixup (hopefully) bridging + ipfw + dummynet together...bmilekic2000-11-231-5/+5
| | | | | | | | | | | | | | | | | | * Some dummynet code incorrectly handled a malloc()-allocated pseudo-mbuf header structure, called "pkt," and could consequently pollute the mbuf free list if it was ever passed to m_freem(). The fix involved passing not pkt, but essentially pkt->m_next (which is a real mbuf) to the mbuf utility routines. * Also, for dummynet, in bdg_forward(), made the code copy the ethernet header back into the mbuf (prepended) because the dummynet code that follows expects it to be there but it is, unfortunately for dummynet, passed to bdg_forward as a seperate argument. PRs: kern/19551 ; misc/21534 ; kern/23010 Submitted by: Thomas Moestl <tmoestl@gmx.net> Reviewed by: bmilekic Approved by: luigi
* close PR 19544 - ipfw pipe delete causes panic when no pipes definedluigi2000-07-171-2/+2
| | | | PR: 19544
* Fix behaviour of "ipfw pipe show" -- previous code gaveluigi2000-06-141-5/+10
| | | | | ambiguous data to the userland program (kernel operation was safe, anyways).
* Implement WF2Q+ in dummynet.luigi2000-06-081-316/+1135
|
* Back out the previous change to the queue(3) interface.jake2000-05-261-1/+1
| | | | | | It was not discussed and should probably not happen. Requested by: msmith and others
* Change the way that the queue(3) structures are declared; don't assume thatjake2000-05-231-1/+1
| | | | | | | | the type argument to *_HEAD and *_ENTRY is a struct. Suggested by: phk Reviewed by: phk Approved by: mdodd
* Move code to handle BPF and bridging for incoming Ethernet packets outarchie2000-05-141-1/+10
| | | | | | | | | | | | | | | of the individual drivers and into the common routine ether_input(). Also, remove the (incomplete) hack for matching ethernet headers in the ip_fw code. The good news: net result of 1016 lines removed, and this should make bridging now work with *all* Ethernet drivers. The bad news: it's nearly impossible to test every driver, especially for bridging, and I was unable to get much testing help on the mailing lists. Reviewed by: freebsd-net
* Forgot one line: don't try to match flags when looking for a flow.luigi2000-02-111-0/+1
| | | | Approved-by: jordan
* Support for stateful (dynamic) ipfw rules. They are veryluigi2000-02-101-28/+38
| | | | | | | | similar to ipfilter's keep-state. Look at the updated ipfw(8) manpage for details. Approved-by: jordan
* Fix a (mostly harmless) scheduling-in-the-past problem withluigi2000-02-041-6/+6
| | | | | | | | dummynet (already fixed in -stable, was waiting for Jordan's approval due to the code freeze). Reported-By: Mike Tancsa Approved-By: Jordan
* Implement per-flow queueing. Using a single pipe config rule,luigi2000-01-081-360/+670
| | | | | | | | | | | | | | | | | | now you can dynamically create rate-limited queues for different flows using masks on dst/src IP, port and protocols. Read the ipfw(8) manpage for details and examples. Restructure the internals of the traffic shaper to use heaps, so that it manages efficiently large number of queues. Fix a bug which was present in the previous versions which could cause, under certain unfrequent conditions, to send out very large bursts of traffic. All in all, this new code is much cleaner than the previous one and should also perform better. Work supported by Akamba Corp.
* IPSEC support in the kernel.shin1999-12-221-2/+8
| | | | | | | | pr_input() routines prototype is also changed to support IPSEC and IPV6 chained protocol headers. Reviewed by: freebsd-arch, cvs-committers Obtained from: KAME project
* RTFREE the correct route entry in dummynet_io(). The previousluigi1999-11-261-3/+3
| | | | | | code failed in handling things like "forward" actions. Reported-and-tested-by: Jean-Hugues ROYER jhroyer@joher.com
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Fix a printf() formatter to match its variable.billf1999-08-171-2/+2
| | | | Reviewed by: bde, luigi
* Add spl() protection to remove that the timer is invoked multipleluigi1999-08-111-3/+5
| | | | | times resulting in higher bandwidth and lower delays. Reported-by: Jamshid Madhavi
* Fix two warnings; and note a problem where a pointer is stored in anpeter1999-05-061-4/+4
| | | | int variable - this can't work on an Alpha.
* Free the dummynet descriptor in ip_dummynet, not in the calledluigi1999-05-041-4/+5
| | | | | | | routines. The descriptor contains parameters which could be used within those routines (eg. ip_output() ). On passing, add IPPROTO_PGM entry to netinet/in.h
* assorted dummynet cleanup:luigi1999-05-041-24/+34
| | | | | | | + plug an mbuf leak when dummynet used with bridging + make prototype of dummynet_io consistent with usage + code cleanup so that now bandwidth regulation is precise to the bit/s and not to (8*HZ) bit/s as before.
* Tidy up some stray / unused stuff in the IPFW package and friends.peter1999-04-201-10/+5
| | | | | | | | - unifdef -DCOMPAT_IPFW (this was on by default already) - remove traces of in-kernel ip_nat package, it was never committed. - Make IPFW and DUMMYNET initialize themselves rather than depend on compiled-in hooks in ip_init(). This means they initialize the same way both in-kernel and as kld modules. (IPFW initializes now :-)
* Convert the dummynet lkm code to be kld aware (this isn't actually usedpeter1999-04-171-26/+27
| | | | anywhere that I can see).
* Use the correct length from the mbuf header instead of the one fromluigi1999-03-261-9/+9
| | | | | | | | the IP header (this would not work for bridged packets). This has been fixed long ago in the 2.2 branch. Problem noticed by: a few people Fix suggested by: Remy Nonnenmacher
* add missing #include "opt_bdg.h"luigi1999-03-241-1/+2
|
* Fix warnings in preparation for adding -Wall -Wcast-qual to thedillon1999-01-271-2/+2
| | | | kernel compile
* ... _and_ the (void*) casts for %p. Next, I'll forget my own name :-(eivind1999-01-121-3/+3
|
* Avoid unnecessary GCCism - I hadn't noticed the __unused macro.eivind1999-01-121-2/+3
|
* * Print pointers using the correct type (%p) instead of %x.eivind1999-01-121-6/+8
| | | | | * Use the correct type for timeout function. * Add missing #include.
* Add a missing bzero which could be the source of instabilityluigi1999-01-111-12/+21
| | | | | | | problems reported recently (the rtentry pointer in the dummynet queue was not initialized in all cases, resulting in spurious rt_refcnt decreases in the lucky cases, and memory trashing in other cases.
* Remove some unused variables.luigi1998-12-311-4/+4
|
* Last bits (i think) of dummynet for -current.luigi1998-12-141-51/+64
|
* Bring in new files for dummynet supportluigi1998-09-121-0/+609
OpenPOWER on IntegriCloud