Re: [bug] FWMARKs and persistence in IPVS: The Use of Unions

To: Simon Horman <horms@xxxxxxxxxxxx>
Subject: Re: [bug] FWMARKs and persistence in IPVS: The Use of Unions
Cc: netfilter-devel <netfilter-devel@xxxxxxxxxxxxxxx>, lvs-devel@xxxxxxxxxxxxxxx, Fabien Duchêne <fabien.duchene@xxxxxxxxxxxxxxxxxxxx>, Joseph Mack NA3T <jmack@xxxxxxxx>
From: Julius Volz <julius.volz@xxxxxxxxx>
Date: Tue, 28 Apr 2009 12:57:51 +0200

On Tue, Apr 28, 2009 at 10:15 AM, Simon Horman <horms@xxxxxxxxxxxx> wrote:
> [ Moving to netfilter-devel / lvs-devel for discussion on how to resolve this.
>  Added Julius Volz to Cc, he wrote most of the IPv6 portion of LVS.
>  Remove lvs-users from Cc, it is not an open list. ]

Thanks for the notice and sorry for the v4 breakage.

> A simple fix that comes to mind is to just store the fwmark in
> the first octet of .all, and set the other octets to zero.
> But is .ip always going to be the same as .all[0]?

I prefer this and would have assumed that it is ok, but maybe someone
else can answer that more confidently.

> Is a different approach required? For example, one where we know to compare
> .all or perhaps a single octet of .all in the case where fmarks are used.

I guess that could be done by only specializing the lookup comparisons
in __ip_vs_conn_in_get() and ip_vs_ct_in_get() when the ports are 0.
Would blow up those if-statements even more though...

> This particular change should be easy enough. I believe that fwmarks are
> only used in this way twice, both inside ip_vs_schedule(). But
> ip_vs_addr_equal() is more generic, so I'd prefer only to mangle it if
> needed.

I agree.

To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at

<Prev in Thread] Current Thread [Next in Thread>