summaryrefslogtreecommitdiff
path: root/sys/net
AgeCommit message (Collapse)Author
2004-05-17fix uninitialized var; found by millert@Michael Shalayeff
2004-05-16add DLT_PPP_ETHER DLT typeBrad Smith
From NetBSD ok deraadt@
2004-05-12Rework a block readded by the multipath commit that should ensure thatClaudio Jeker
RTM_CHANGE/LOCK only work on perfect matching routes. ppp and bgpd got broken because of this. Most of the code in the "grotty" block is already done by rn_lookup() only host routes need some special treatment. OK cedric@
2004-05-11pf_cksum_fixup() was called without last argument from normalization,Daniel Hartmeier
also fixup checksum when random-id modifies ip_id. This would previously lead to incorrect checksums for packets modified by scrub random-id. From Pyun YongHyeon. ok cedric@
2004-05-11change pf_route() loop detection: introduce a counter (number of timesDaniel Hartmeier
a packet is routed already) in the mbuf tag, allow at most four times. Fixes some legitimate cases broken by the previous change. ok cedric@
2004-05-09Don't dereference scrub pointer when it's NULL, fix PR 3775, fromDaniel Hartmeier
Marc Huber. ok deraadt@
2004-05-08reference count bpf descriptors to protect against disappearing interfacesCan Erkin Acar
while asleep in read. ok deraadt@
2004-05-07Replace RSA-derived md5 code with code derived from Colin Plumb's PD version.Todd C. Miller
This moves md5.c out of libkern and into sys/crypto where it belongs (as requested by markus@). Note that md5.c is still mandatory (dev/rnd.c uses it). Verified with IPsec + hmac-md5 and tcp md5sig. OK henning@ and hshoexer@
2004-05-05Use RFC1323 PAWS timestamps as a logical extension to the conventional TCPMike Frantzen
sequence numbers by taking advantage of the maximum 1KHz clock as an upperbound on the timestamp. Typically gains 10 to 18 bits of additional security against blind data insertion attacks. More if the TS Echo wasn't optional :-( Enabled with: scrub on !lo0 all reassemble tcp ok dhartmei@. documentation help from jmc@
2004-05-04The tcp specific routing metrics are almost never used so reduce the routingClaudio Jeker
table from these metrics. struct rt_msghdr used by the routing socket is not affected and so most userland apps don't need to be changed. some man page polishing by jmc@ OK henning@ markus@ theo@
2004-05-04Apply bridge filter rules to incoming packets destined to the local machine.Can Erkin Acar
Allows tagging of the incoming packets, and a single interface bridge to be actually useful for MAC level filtering/tagging. ok henning@
2004-05-04Remove useless ``elm'' argument from the SIMPLEQ_REMOVE_HEAD macro.Alexander Yurchenko
This matches our SLIST behaviour and NetBSD's SIMPLEQ as well. ok millert krw deraadt
2004-05-03fix a stupid mistake in my previous commit.Kenjiro Cho
"if (error == 0)" should be "if (error != 0)".
2004-04-30Unbreak building pfsync without carp. Found by marc@Ryan Thomas McBride
2004-04-28gcc3 shut up (from naddy@)Philipp Buehler
2004-04-28do not return herePhilipp Buehler
2004-04-28make return-rst work on pure bridges. ok dhartmei@ henning@ mcbride@Cedric Berger
2004-04-28Dont step into INET6 code, just because af != AF_INETPhilipp Buehler
Also comment #endif properly while being here ok mcbride@
2004-04-28spacingTheo de Raadt
2004-04-28pfsync stats fixups:Ryan Thomas McBride
- convert counters to 64 bits - add dedicated counters for sanity checks added right before release - clean up netstat output
2004-04-28Make carp(4) aware of its physical interface:Ryan Thomas McBride
- If the physical interface goes down or the link goes down, the carp interface goes down as well. - We treat this like the preemption holdoff with pfsync. So if one of the carp interfaces is known to be bad (because the physical interface it's associated with is bad), all the other carp interfaces back off: they won't preempt, and their advskew goes to 240. ok cedric@
2004-04-28point out that pfsync_send_bus and pfsync_sendout must be called in splnet()Philipp Buehler
ok mcbride@
2004-04-27validate the sequence numbers on TCP resets are an exact match. check is onlyMike Frantzen
enabled when we're doing full frag reassembly and thus have full seq info ok markus@
2004-04-27make separate functions to enable/disable altq, and call them when weKenjiro Cho
reload rules. this fixes an altq problem that, if you reload pf rules not containing queues while running altq, the interface shaper is not properly removed. make pf_altq_running local to pf_ioctl.c since it is no longer used in altq_subr.c. ok henning@
2004-04-26- make the k field in struct bpf_insn unsigned, as promised in theOtto Moerbeek
manual page. - more strict bpf code validation, preventing arbitrary kernel memory read and writes. Some help from frantzen@ and canacar@; testing jmc@ markus@; ok canacar@ henning@ franzen@
2004-04-26Before enqueueing the packet, copy the contents of incoming clustersRyan Thomas McBride
to the mbuf and free the cluster when it contains a small packet. ok deraadt@
2004-04-26Prevent biases in arc4random() from disclosing the byte order of the firewall.Ryan Thomas McBride
ok deraadt@
2004-04-26The rule_number parameter for pf_get_pool() needs to be 32 bits, not 8 -Ryan Thomas McBride
this fixes corruption of the address pools with large rulesets. This is a candidate for -stable. Reported by Zbigniew Kossowski <zk@openbsd.com.pl>, hours of braintwisting debugging by pb@
2004-04-26anchor refcounting. ok dhartmei@ mcbride@Cedric Berger
2004-04-25permit multiple default route. from kameJun-ichiro itojun Hagino
2004-04-25check for input queue congestion on those as well and call if_congestion whenHenning Brauer
needed; these are slightly different so that we cannot use the new IF_INPUT_ENQUEUE macro deraadt ok
2004-04-25prevent an endless loop with route-to lo0, fixes PR 3736,Daniel Hartmeier
ok pb@, henning@, markus@
2004-04-25get rid of a complete state tree walk at state expire while in splnet()Philipp Buehler
ok mcbride@ henning@
2004-04-25dont splx across functionsPhilipp Buehler
pointed at by Joris Vink who was baffeled how this should work anyway ok mcbride@ henning@
2004-04-25radix tree with multipath support. from kame. deraadt okJun-ichiro itojun Hagino
user visible changes: - you can add multiple routes with same key (route add A B then route add A C) - you have to specify gateway address if there are multiple entries on the table (route delete A B, instead of route delete A) kernel change: - radix_node_head has an extra entry - rnh_deladdr takes extra argument TODO: - actually take advantage of multipath (rtalloc -> rtalloc_mpath)
2004-04-25sync 'other' in test6, too.Philipp Buehler
ok dhartmei@ mcbride@
2004-04-25sync with NetBSD, mostly a Lite2 merge.Brad Smith
ok itojun@
2004-04-25don't add PF_GENERATED tag to synproxy generated packets for the secondDaniel Hartmeier
handshake, so they can match rules (and create state) on another interface. ok cedric@
2004-04-25undo "oops" commit on 1.14 (radix_mpath).Jun-ichiro itojun Hagino
2004-04-25indentation fixJun-ichiro itojun Hagino
2004-04-24Add "probability xxx" rule modifier. ok deraadt@Cedric Berger
2004-04-24be careful about option lengths. ok henning@ mcbride@Mike Frantzen
2004-04-17unbreakHenning Brauer
2004-04-17when the input queue congestion flag is set stop evaluating the rulesetHenning Brauer
and block unconditionally. when the inout queue is full, newly arriving packets are dropped anyway, and while the input queue is full we obviously have a CPU laod problem. with this change, we allow the machine to recover gracefully, dropping a few packets fast instead of a lot slowly over a long time while processing rather old stuff in the input queue, giving somebody a chance to log in on the console and fix stuff instead of going completely unresponsive, and as a nice side effect, let established connections alone. ok kjc@ markus@ beck@
2004-04-17add a congestion indicator to if_queue. It is set when the input queueHenning Brauer
is full, along with a timer that unsets it again after 10ms. The input queue beeing full is a reliable indicator for CPU overload, and this flag allows other subsystems to cope with the situation. hacked with beck ok kjc@ markus@ beck@
2004-04-09move some of the non-interrupt pools from the small kmem_map to the muchMike Frantzen
larger kernel map
2004-04-05make pftag ** (pass pointer by reference), otherwise it's never updated.Daniel Hartmeier
the parameter serves only as optimization to cache m_tag_get() results. ok henning@
2004-04-05Prevent stale states (states older than the local version) from overwritingRyan Thomas McBride
the local state. Tricky state comparisons from frantzen@ ok cedric@ dhartmei@ Post-ok addition of code to broadcast an update with the better local version when this happens. Torture tested by beck@
2004-03-31in the tcp md5sig case allow empty (wildcard) src or dstHenning Brauer
ok markus@
2004-03-28Check variables in incoming packets which can cause problems if they're setRyan Thomas McBride
to arbitrary values. Invalid state->timeout can hit a KASSERT in pf, the other ones should be ok but we check them just to make sure. ok dhartmei@ deraadt@