[lvs-users] LVS and Broadcom bug
Julian Anastasov
ja at ssi.bg
Sat Dec 5 11:30:24 GMT 2009
Hello,
On Mon, 30 Nov 2009, Simon Horman wrote:
> > The problem exists because IPVS does not
> > disable LRO, it must be done under RTNL and IPVS never runs
> > in this context. And LRO is not supported for forwarding:
> >
> > http://marc.info/?l=linux-netdev&m=121389887114416&w=2
> >
> > IPVS does not call ip_forward for DR method, that
> > is why you do not need forwarding and the LRO warning
> > does not occur before hitting the GSO code. ip_forward
> > just drops LRO packets:
> >
> > if (skb_warn_if_lro(skb))
> > goto drop;
>
> Hi Julian,
>
> do you have any thoughts on how the code might be improved
> to handle this case a bit better?
>
> Perhaps something along the lines of the
> code for LRO in ip_forward?
If you want to disable LRO in IPVS
net/ipv4/devinet.c:inet_forward_change() is an example what
should be done in process context if you want to disable
LRO for all existing devices. Then call skb_warn_if_lro
near or in IP_VS_XMIT and also before calling ip_local_out().
May be LRO can be disabled when the first virtual or
may be real service is added to allow LRO to work if IPVS
is just compiled.
Regards
--
Julian Anastasov <ja at ssi.bg>
More information about the lvs-users
mailing list