LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: [lvs-users] LVS and Broadcom bug

To: Simon Horman <horms@xxxxxxxxxxxx>
Subject: Re: [lvs-users] LVS and Broadcom bug
Cc: lvs-users@xxxxxxxxxxxxxxxxxxxxxx, Aleksey Chudov <aleksey@xxxxx>
From: Julian Anastasov <ja@xxxxxx>
Date: Sat, 5 Dec 2009 13:30:24 +0200 (EET)
        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@xxxxxx>

_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to http://lists.graemef.net/mailman/listinfo/lvs-users

<Prev in Thread] Current Thread [Next in Thread>
  • Re: [lvs-users] LVS and Broadcom bug, Julian Anastasov <=