Age | Commit message (Collapse) | Author |
|
ok mikeb@
|
|
reply to avoid reference leaks.
ok mikeb@
|
|
|
|
instead of hardcoding it. With this we can change the error type to
something else and get a more accurate description of what happened.
ok reyk@
|
|
return the error code and the return value to signal if the validation
was successful or not. With this we can signal some errors in the spec
that uses the value 0 (zero).
ok reyk@
|
|
so c++ programs can use them.
OK jca@
|
|
a pointer to a mbuf pointer, because it only uses the mbuf for reading.
ok reyk@
|
|
all others that we can find in switch(4).
ok reyk@
|
|
already does exactly what it wants to do.
ok reyk@
|
|
add missing action_set_queue struct.
ok reyk@
|
|
function.
ok reyk@
|
|
might want to use it. For buffered packets we probably need to save that
somehow else, but we don't support it now.
ok reyk@
|
|
(problem pointed out by Petr, fix proposed by Dilli) _at_ oracle
|
|
pf functions. That means less parameters, more consistency and
later we can call functions that need a pd from pf_route().
OK sashan@
|
|
swofp_flow_entry_delete() call frees the memory pointed to by the swfe
variable which was used later in the loop.
ok rzalamena@
|
|
a certain vendor likes to make chips that specify the rx buffer
sizes in kilobyte increments. unfortunately it places the ethernet
header on the start of the rx buffer, which means if you give it a
mcl2k cluster, the ethernet header will not be ETHER_ALIGNed cos
mcl2k clusters are always allocated on 2k boundarys (cos they pack
into pages well). that in turn means the ip header wont be aligned
correctly.
the current workaround on these chips has been to let non-strict
alignment archs just use the normal 2k cluster, but use whatever
cluster can fit 2k + 2 on strict archs. that turns out to be the
4k cluster, meaning we waste nearly 2k of space on every packet.
properly aligning the ethernet header and ip headers gives a
performance boost, even on non-strict archs.
|
|
pfvar_priv.h. The pf_headers had to be defined in multiple .c files
before. In pfvar.h it would have unknown storage size, this file
is included in too many places. The idea is to have a private pf
header that is only included in the pf part of the kernel. For now
it contains pf_pdesc and pf_headers, it may be extended later.
discussion, input and OK henning@ procter@ sashan@
|
|
OK mikeb@
|
|
otherwise we won't have the request ofp_header to send in the error message.
ok jca@
|
|
ok jca@ deraadt@
|
|
state. Extra thanks goes to bluhm@ for careful testing and fixing patch I've
sent to tech@
O.K. henning@ bluhm@
|
|
madj() and injects back the layer 2/3 contents.
ok lteo@
|
|
ok bluhm henning
|
|
sending, needed soon. ok sashan mikeb lteo
|
|
declare both with the correct sign in pf_change_icmp_af().
OK henning@
|
|
created from a ICMP6 "too big" packet. The function pf_change_icmp_af()
has code to adjust the pseudo-header checksum in the ICMP6 case,
but pf_test_state_icmp() changed the proto before the case was
entered.
So call pf_change_icmp_af() before the pd->proto is converted in
the TCP and UDP payload case like it was already done for ICMP and
ICMP6 payload.
Found by sys/net/pf_forward regress test; OK henning@
|
|
in sorwakeup().
Report from egorenar-dev at posteo.net; OK henning@
|
|
accumulated during processing, especially pf(4) data is removed.
When a packet is reinserted to local input processing, we have to
start from scratch with a clean mbuf header. Also the packet has
to be in the routing doamin of the interface where it is inserted.
Incoming packet with stale inp pointer seen by patrick@ on lo(4);
OK sashan@ mpi@
|
|
|
|
Since ether_input expects the m_data to point directly at the Ethernet
header and most upper layer protocols immediately following Ethernet
expect their headers to be aligned to the 4 byte boundary, we need to
ensure that the decapsulated VXLAN packet payload satisfies these
requirements.
prompted by a diff by vgross@, with input from dlg@, ok yasuoka
|
|
reason is always NO_MATCH. This fixes the compatibility with switchd(8)
which already works with other switches.
input from goda@
ok reyk@
|
|
- use the same idiom as switchd(8) to calculate alignment;
- use oxm_value instead of doing pointer arithmetic;
- typo fix: 'recived' -> 'received';
- remove unused variable;
- use definition instead of hardcoded value;
ok reyk@
|
|
|
|
even if m_prepend allocates a new mbuf in front of the current one.
this is done by asking M_PREPEND for ETHER_HDR_LEN + ETHER_ALIGN bytes,
and then calling m_adj(ETHER_ALIGN) after.
in the case M_PREPEND does not allocate a new mbuf and ends up with the
same layout as before.
in the allocation case, the requested length is provided on a long
boundary. an ETHER_HDR_LEN request would therefore be 6 bytes
allocated on a long boundary, when we want it to be at ETHER_ALIGN.
by asking for ETHER_HDR_LEN plus ETHER_ALIGN, we can m_adj ETHER_ALIGN
off to get us to the ETHER_ALIGN offset.
ok yasuoka@ mikeb@
|
|
OK guenther@
|
|
|
|
ok mikeb@
|
|
instead we should use MHLEN for header size.
ok mikeb@
|
|
Same thing but nicer to read. OK henning@
|
|
adding code to if.c.
ok mpi@
|
|
entire ethernet header on first mbuf and align 32bit at the payload.
Also fix the vxlan_output() not to cause an alignment fault. Use a
new mbuf for VXLAN header instead of M_PREPEND to make sure that the
mbuf is aligned 32bit. This is required to align 32 bit at the outer
IP header.
input vgross mikeb
ok dlg
|
|
splsoftnet() if the function does a splsoftassert(IPL_SOFTNET)
anyway.
|
|
routing table.
Found the hardway by Chris Jackman.
|
|
response thus respecting what the OpenFlow 1.3.5 spec says.
ok reyk@
|
|
There's no need to insert an RTF_LOCAL route if it is already there, not
if a route with the same destination exist.
This fixes a KASSERT() triggered by adding an alias for an address already
present in the ARP cache as reported by weerd@ and Peter J. Philipp.
This should also fix a KASSERT() triggered by a NDP change reported by
Sebastien Marie.
ok bluhm@
|
|
The current reason is that rtalloc_mpath(9) inside ip_output() might
end up inserting a RTF_CLONED route and that require a write lock.
ok kettenis@, bluhm@
|
|
ok mpi@
|
|
code to if.c.
ok mpi@
|
|
|
|
ok reyk
|