Re: IPv6 forwarding path without KERNEL_LOCK

2016-07-06 Thread Stuart Henderson
On 2016/07/06 14:43, Alexander Bluhm wrote: > On Tue, Jul 05, 2016 at 12:22:36PM +0200, Martin Pieuchot wrote: > > Fine, new diff doing that. > > OK bluhm@ I've been running with this, diff looks sane and no problems noticed yet. Reading the diff reminded me..if anyone is interested in digging

Re: IPv6 forwarding path without KERNEL_LOCK

2016-07-06 Thread Alexander Bluhm
On Tue, Jul 05, 2016 at 12:22:36PM +0200, Martin Pieuchot wrote: > Fine, new diff doing that. OK bluhm@ > Index: netinet6/ip6_input.c > === > RCS file: /cvs/src/sys/netinet6/ip6_input.c,v > retrieving revision 1.161 > diff -u -p

Re: IPv6 forwarding path without KERNEL_LOCK

2016-07-05 Thread Martin Pieuchot
On 04/07/16(Mon) 15:52, Alexander Bluhm wrote: > On Mon, Jul 04, 2016 at 01:03:22PM +0200, Martin Pieuchot wrote: > > + if (ip6_hbhchcheck(m, , , )) { > > + if_put(ifp); > > + return; /* m have already been freed */ > > } > > As ip6_hbhchcheck() does ip6 = mtod(m, struct

Re: IPv6 forwarding path without KERNEL_LOCK

2016-07-04 Thread Alexander Bluhm
On Mon, Jul 04, 2016 at 01:03:22PM +0200, Martin Pieuchot wrote: > + if (ip6_hbhchcheck(m, , , )) { > + if_put(ifp); > + return; /* m have already been freed */ > } As ip6_hbhchcheck() does ip6 = mtod(m, struct ip6_hdr *) after ip6_hopopts_input() you have to add

IPv6 forwarding path without KERNEL_LOCK

2016-07-04 Thread Martin Pieuchot
One of my trees now contain all the necessary plumbing to run the IPv6 forwarding path (mostly) without holding the KERNEL_LOCK. In other words we should be able to unlock IPv6 and legacy IP at the same time. However it's a bit tricky to enqueue packets for local delivery in IPv6 because of the