| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Handle the ECN in the fragment queue.
Reported-by: syzbot+0aa80b25e9041001cac8@syzkaller.appspotmail.com
fix from FreeBSD; OK claudio@
|
|
|
|
|
|
| |
put the algorithm into a new function m_calchdrlen(). Also set an
uninitialized m_len to 0 in NFS code.
OK claudio@
|
|
|
|
|
|
|
| |
created. Add a new function m_removehdr() do convert packet header
mbufs within the chain to regular mbufs. Assert that the mbuf at
the beginning of the chain has a packet header.
found by Maxime Villard in NetBSD; from markus@; OK claudio@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
icmp6_error() still probably needs the NET_LOCK, as the call chain
icmp6_error -> icmp6_reflect -> rt_match -> rt_clone -> rtrequest
is possible.
The fragment discard loop in frag6_slowtimo and the other
cleanup bits in frag6_freef do not require it however. So
push the lock down into frag6_freef around icmp6_error.
Prompted by mpi. Discussed with bluhm and kn. Regress test help
by bluhm. Additional testing by kn.
ok kn@ visa@ mpi@
|
|
|
|
|
|
| |
It was not guaranteed that the mbuf data was not somewhere else in
the chain. So return an offset and do a proper mbuf pulldown.
found by Maxime Villard; from NetBSD; with markus@; OK deraadt@
|
|
|
|
|
| |
messages. Splassert was triggered by regress/sys/netinet6/frag6.
OK mpi@ sashan@ visa@
|
|
|
|
| |
ok visa@, benno@
|
|
|
|
|
|
|
|
|
| |
This lets the code run without KERNEL_LOCK() and NET_LOCK().
In addition, this patch reorganizes a part of the code, to move
some of the memory release operations outside the critical section.
Input and OK mpi@, OK florian@, an earlier version OK bluhm@
|
|
|
|
| |
OK mpi
|
|
|
|
|
|
| |
Direction suggested by mpi
OK mpi, visa
|
|
|
|
|
|
| |
and drop the now redundant allocation type M_FTABLE.
OK mikeb@, bluhm@, mpi@
|
|
|
|
| |
OK bluhm@, mpi@
|
|
|
|
| |
ok visa@
|
|
|
|
|
| |
allows to simplify code used for both IPv4 and IPv6.
OK mikeb@ deraadt@
|
|
|
|
|
|
|
|
|
| |
Try to follow the existing examples. Some notes:
- don't implement counters_dec() yet, which could be used in two
similar chunks of code. Let's see if there are more users first.
- stop incrementing IPv6-specific mbuf stats, IPv4 has no equivalent.
Input from mpi@, ok bluhm@ mpi@
|
|
|
|
| |
This removes multipe recursive splsoftnet()/splx() dances.
|
|
|
|
|
|
|
|
| |
just drop it. It can never overlap existing content, there is no
ambiguous payload. So save resources and do not try to insert it
into the queue. This makes our IPv6 stack behave like pf fragment
reassembly.
OK deraadt@
|
|
|
|
|
|
| |
A single forwarding cache is not the answer. The answer is 42... err PF!
ok bluhm@
|
| |
|
|
|
|
| |
ok mpi@ millert@
|
| |
|
|
|
|
| |
ok millert@, bluhm@
|
|
|
|
| |
ifa are refcounted to ensure that rt_ifa is always valid.
|
|
|
|
|
|
| |
The SIOCGIFSTAT_IN6 is no longer supported.
ok mikeb@, claudio@, dlg@
|
| |
|
|
|
|
| |
ok deraadt@, millert@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
| |
ok millert@, bluhm@
|
|
|
|
| |
ok mikeb@, krw@, bluhm@, tedu@
|
|
|
|
| |
to include that than rdnvar.h. ok deraadt dlg
|
|
|
|
|
|
| |
kill the macro.
ok mikeb@, henning@
|
|
|
|
|
|
| |
rely on "struct route" that should die.
ok claudio@
|
| |
|
|
|
|
| |
after discussions with beck deraadt kettenis.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid the confusion by using an appropriate name for the variable.
Note that since routing domain IDs are a subset of the set of routing
table IDs, the following idiom is correct:
rtableid = rdomain
But to get the routing domain ID corresponding to a given routing table
ID, you must call rtable_l2(9).
claudio@ likes it, ok mikeb@
|
|
|
|
|
|
|
|
| |
network to presentation format to inet_ntop().
The few remaining functions will be soon converted.
ok mikeb@, deraadt@ and moral support from henning@
|
|
|
|
|
|
| |
Still some important missing pieces, and this is not yet enabled.
OK bluhm@
|
|
|
|
|
|
|
| |
created a bunch of useless dependencies. Remove this implicit
inclusion and do an explicit #include <netinet6/in6_var.h> when it
is needed.
OK mpi@ henning@
|
|
|
|
|
|
| |
it since bluhm@ implemented it in 2012.
From Loganaden Velvindron, ok claudio@
|
|
|
|
| |
ok otto
|
|
|
|
|
|
| |
with sin6tosa() or satosin6() inline functions. This allows the
compiler to check the types more strictly.
OK mpi@
|
| |
|
|
|
|
|
| |
No binary change.
OK claudio@
|
| |
|
|
|
|
|
|
| |
immediately and not go through the fragment queue.
See draft-gont-6man-ipv6-atomic-fragments-00.txt.
tested and ok sperreault@
|
|
|
|
|
| |
and IPv6 stack.
ok sperreault@
|
|
|
|
|
| |
packet with overlapping fragments.
ok henning@
|
|
|
|
|
|
|
|
| |
wrong checks for local addresses and wrong packet forwarding in
environments with only one communication partner and changing
addresses or routes. Remove the #if 0 around the existing code to
make IPv6 behave like IPv4.
ok henning@
|
|
|
|
|
|
| |
was already #if 0 and will never come back. Remove unused fragment
struct fields and sort the others.
ok henning@
|
|
|
|
| |
ok henning@
|