| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
OK mpi@ dlg@ sthen@
|
|
|
|
|
|
|
|
|
|
|
| |
- yet another tiny step towards MP PF. This time we need to make sure
statekey attached to packet stays around, while accepted packet is
routed through IP stack.
this time I'm also bringing fix contributed by Stefan Kempf. Stefan's fix
makes sure we grab reference in m_dup_pkthdr()
OK bluhm@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
----------------------------------------------------------------------
revision 1.961
date: 2015/12/22 13:33:26; author: sashan; state: Exp; lines: +153 -44;
commitid: oBRhtWcDV0ThviVT;
- yet another tiny step towards MP PF. This time we need to make sure
statekey attached to packet stays around, while accepted packet is
routed through IP stack.
OK mpi@, henning@
----------------------------------------------------------------------
there have been multiple reports of KASSERT(!pf_state_key_isvalid(sk)) being
triggered without much effort, so back this out for now.
|
|
|
|
|
|
|
| |
statekey attached to packet stays around, while accepted packet is
routed through IP stack.
OK mpi@, henning@
|
|
|
|
|
| |
NULL. inspired by Richard Procter <richard.n.procter@gmail.com>'s mail on
tech from Aug 17, but redone. ok sashan vgross
|
|
|
|
|
|
|
|
| |
both af and naf (af-to case) are in the pf_pdesc
some code shuffling to actually set these before calling pf_change_ap/_icmp
inspired by Richard Procter <richard.n.procter@gmail.com>'s mail on tech
from Aug 17, but redone
ok bluhm vgross
|
|
|
|
|
|
|
| |
local one. While we always intended to keep the logging in pf_test_rule
and pf_test so seperate that we don't end up with a wrong reason, this
is just too fragile and I can't even convince myself that it still is
right. pointed out by markus, ok bluhm benno
|
|
|
|
|
|
|
|
|
|
|
| |
this avoids current recursion to pf_test() function. the change also
switches icmp_error()/icmp6_error() to use ip_send()/ip6_send() so
they are safe for PF.
The idea comes from Markus Friedl. bluhm, mikeb and mpi helped me
a lot to get it into shape.
OK bluhm@, mpi@
|
|
|
|
|
|
|
|
|
| |
pf_inp_...() lookup, link and unlink functions as an interface.
Locking can be added to them later. Remove the first linking at
the beginning of tcp_input() and udp_input() as it is not necessary.
It will be done later anyway. That code was a relict, from the
time before I had added the second linking.
Input from mikeb@ and sashan@; OK sashan@
|
|
|
|
|
| |
collide with the statekey to inp unlinking.
OK sashan@ mpi@
|
|
|
|
| |
OK mpi@, bluhm@
|
|
|
|
|
|
| |
for failed route lookups. This is something that was maybe useful in the
90is but in this modern times it is just annoying and nothing expect it
anyway. OK mpi@, sthen@
|
|
|
|
| |
requested by sashan@
|
|
|
|
|
|
| |
While here keep carp(4) bits under NCARP.
Tested by and ok sthen@, ok visa@
|
|
|
|
| |
ok dlg@
|
|
|
|
|
| |
implementation for ART based on the singly-linked list of route
entries.
|
|
|
|
| |
ok bluhm@
|
|
|
|
|
|
|
|
|
|
|
| |
always gets pointer to rule.
- pf_remove_src_node(): function should always remove matching src node,
regardless the sn->rule.ptr being NULL or valid rule
- sn->rule.ptr is never NULL, spotted by mpi and Richard Procter _von_ gmail.com
OK mpi@, OK mikeb@
|
|
|
|
| |
ok mpi@ mikeb@ sthen@
|
|
|
|
|
|
| |
specific places.
ok claudio@, benno@
|
|
|
|
|
|
| |
needs to see lo0 in the output path.
ok claudio@
|
|
|
|
|
|
|
|
|
| |
Use instead the RTF_LOCAL flag to loop local traffic back to the
corresponding protocol queue.
With this change rt_ifp is now always the same as rt_ifa->ifa_ifp.
ok claudio@
|
|
|
|
|
| |
must reset pd->m to avoid a use after free.
OK sashan@ mikeb@
|
| |
|
|
|
|
|
|
|
| |
ifpp - XXX: just for statistics
ifpp is always NULL in all callers so that statistic confirms ifpp is
dying
OK mpi@
|
| |
|
|
|
|
| |
ok claudio@
|
|
|
|
|
|
| |
Spotted by Dilli Paudel <dilli ! paudel at oracle ! com>
ok jung@, ok mikeb@
|
|
|
|
|
|
| |
which are routed on behalf route-to action.
OK bluhm@
|
|
|
|
| |
ok mpi@
|
|
|
|
|
|
|
| |
path was taken. This both prevents warnings from clang and acts as a
sanity check.
ok mcbride@ henning@
|
|
|
|
|
|
|
|
| |
to optimize for an INET-only kernel, as well as the fantasy unicorn
INET6-only kernel. (INET-only kernel still works)
prompted by deraadt
ok bluhm sashan
|
|
|
|
| |
OK @mcbride
|
|
|
|
| |
ok mcbride@
|
|
|
|
| |
OK deraadt.
|
|
|
|
| |
ok jsg@, ok mpi@
|
| |
|
|
|
|
|
|
|
|
|
| |
rt_mpath_next() to document the difference in behavior between the
multipath and non-multipath routing code.
No that the same pattern is present in if_group_egress_build().
ok claudio@
|
|
|
|
|
|
| |
it also adds af_unhandled(), where it is currently missing.
ok mcbride@
|
| |
|
|
|
|
|
|
|
|
|
| |
This pseudo-option is a hack to support return-rst on bridge(4). It
passes Ethernet information via a "struct route" through ip_output().
"struct route" is slowly dying...
ok claudio@, benno@
|
|
|
|
| |
ok guenther@, henning@
|
|
|
|
|
|
|
|
|
|
|
| |
involved. For outgoing packets the IPsec layer did not clear the
sending socket from the mbuf when the address changed. This resulted
in strange state match and create behavior in pf. So clear the pf
statekey and inp in the packet header for both directions when the
address changes.
Mark Patruck reported the bug, identified my problematic commit and
tested the fix.
OK mikeb@
|
|
|
|
|
|
|
|
| |
compatibility with 4.3BSD in September 1989.
*Pick your own definition for "temporary".
ok bluhm@, claudio@, dlg@
|
|
|
|
|
|
|
|
| |
Do rule counter increments after state has been successfully
installed. This has an additional benefit of making error
handling a bit simpler.
OK mpi, bluhm
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
receiving interface in the packet header of every mbuf.
The interface pointer should now be retrieved when necessary with
if_get(). If a NULL pointer is returned by if_get(), the interface
has probably been destroy/removed and the mbuf should be freed.
Such mechanism will simplify garbage collection of mbufs and limit
problems with dangling ifp pointers.
Tested by jmatthew@ and krw@, discussed with many.
ok mikeb@, bluhm@, dlg@
|
|
|
|
|
|
|
|
|
|
|
| |
something based on an address family and later assumes one of the paths
was taken. This was initially just calls to panic until guenther
suggested a function to reduce the amount of strings needed.
This reduces the amount of noise with static analysers and acts
as a sanity check.
ok guenther@ bluhm@
|
|
|
|
|
|
|
|
| |
Reshuffle the code around a bit and greatly improve error handling
fixing a few bugs along the way.
Problem reported by and fix was written with Alexandr Nedvedicky.
OK henning
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since we've strengthened the ICMP state matching procedure during lookup
to only match packets against states set up in a particular direction, we
need to make sure we don't create states on packets that would otherwise
be flowing in the direction opposite to the direction of the state and
prevent further packets from matching the created state due to strict
rules imposed by the ICMP direction check.
Problem reported by Alexandr Nedvedicky, alexandr.nedvedicky-at-oracle.com.
Discussed with reyk@; OK henning
|
|
|
|
| |
Checked with blambert@, OK millert, henning
|