* Re: Fw: Re: [PATCH] (6/6) ipvs -- get rid of skb_linearize [not found] <20030920010526.7d9a3ff4.davem@redhat.com> @ 2003-09-22 14:45 ` Rusty Russell 2003-09-22 22:53 ` Julian Anastasov 0 siblings, 1 reply; 2+ messages in thread From: Rusty Russell @ 2003-09-22 14:45 UTC (permalink / raw) To: David S. Miller Cc: Julian Anastasov, Stephen Hemminger, Wensong Zhang, lvs-users, netdev In message <20030920010526.7d9a3ff4.davem@redhat.com> you write: > We have another solution for this problem, may be it is > better the following stuff to be included now. Rusty, Dave? Is > someone willing to review this before inclusion? Sure... > http://www.ssi.bg/~ja/ipvs-2.6.0-test2/readme.txt > - at least struct iphdr in first fragment, not shared > > - ip_defrag is already called, so ip_send_check is still needed > > - then we add all needed checks for read and write access and extending > the first fragment Alexey's advice was not to pull packets we don't modify, but use skb_copy_bits, and use skb_ip_make_writable() where we do modify. This means that you don't have to care about shared or cloned skbs, it makes your intentions explicit, and it's more future-proof. It's more invasive, but my experience with doing netfilter_ipv4 was that it made things much neater when finished. It helps to get rid of lots of the temporary variables, too, I've found (too easy to forget to update them). Here's a patch series below which does this. Compiled, not tested. Please read and advise if you want to go this way: http://www.kernel.org/pub/linux/kernel/people/rusty/patches/IPVS/ipvs_packet_app_pkt_return.patch.gz http://www.kernel.org/pub/linux/kernel/people/rusty/patches/IPVS/ipvs_nonlinear_protocols.patch.gz http://www.kernel.org/pub/linux/kernel/people/rusty/patches/IPVS/ipvs_nonlinear_scheduler.patch.gz http://www.kernel.org/pub/linux/kernel/people/rusty/patches/IPVS/ipvs_nonlinear_apps.patch.gz http://www.kernel.org/pub/linux/kernel/people/rusty/patches/IPVS/ipvs_nonlinear_ip_vs_core.patch.gz http://www.kernel.org/pub/linux/kernel/people/rusty/patches/IPVS/ipvs_nonlinear_ip_vs_xmit.patch.gz Thanks, Rusty. -- Anyone who quotes me in their sig is an idiot. -- Rusty Russell. ^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Fw: Re: [PATCH] (6/6) ipvs -- get rid of skb_linearize 2003-09-22 14:45 ` Fw: Re: [PATCH] (6/6) ipvs -- get rid of skb_linearize Rusty Russell @ 2003-09-22 22:53 ` Julian Anastasov 0 siblings, 0 replies; 2+ messages in thread From: Julian Anastasov @ 2003-09-22 22:53 UTC (permalink / raw) To: Rusty Russell Cc: David S. Miller, Stephen Hemminger, Wensong Zhang, lvs-users, netdev Hello, On Tue, 23 Sep 2003, Rusty Russell wrote: > > better the following stuff to be included now. Rusty, Dave? Is > > someone willing to review this before inclusion? > > Sure... > > > http://www.ssi.bg/~ja/ipvs-2.6.0-test2/readme.txt > > > - at least struct iphdr in first fragment, not shared > > > > - ip_defrag is already called, so ip_send_check is still needed > > > > - then we add all needed checks for read and write access and extending > > the first fragment > > Alexey's advice was not to pull packets we don't modify, but use > skb_copy_bits, and use skb_ip_make_writable() where we do modify. > This means that you don't have to care about shared or cloned skbs, it > makes your intentions explicit, and it's more future-proof. > > It's more invasive, but my experience with doing netfilter_ipv4 was > that it made things much neater when finished. It helps to get rid of > lots of the temporary variables, too, I've found (too easy to forget > to update them). Ok, thank you Rusty! We will need some time to check the changes... Regards -- Julian Anastasov <ja@ssi.bg> ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-09-22 22:53 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20030920010526.7d9a3ff4.davem@redhat.com>
2003-09-22 14:45 ` Fw: Re: [PATCH] (6/6) ipvs -- get rid of skb_linearize Rusty Russell
2003-09-22 22:53 ` Julian Anastasov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).