Re: [PATCH 00/26] IPVS: Add first IPv6 support to IPVS.

To: "Patrick McHardy" <kaber@xxxxxxxxx>
Subject: Re: [PATCH 00/26] IPVS: Add first IPv6 support to IPVS.
Cc: "Simon Horman" <horms@xxxxxxxxxxxx>, "Vince Busam" <vbusam@xxxxxxxxxx>, "Ben Greear" <greearb@xxxxxxxxxxxxxxx>, lvs-devel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx
From: "Julius Volz" <juliusv@xxxxxxxxxx>
Date: Wed, 18 Jun 2008 16:36:30 +0200
On Wed, Jun 18, 2008 at 4:30 PM, Patrick McHardy <kaber@xxxxxxxxx> wrote:
> Julius Volz wrote:
>> On Wed, Jun 18, 2008 at 4:19 PM, Patrick McHardy <kaber@xxxxxxxxx> wrote:
>>>> 2) for the service flags, only one bit is set from userspace
>>>> (persistent/nonpersistent service). So this might be not too bad to
>>>> have as a single Netlink flag attribute.
>>> And this bit can't be unset (or if it currently can't be,
>>> it also wouldn't make sense to be able to unset it)?
>> It can get unset when editing a persistent service to be
>> non-persistent, so you would still have to include it in a change
>> request that doesn't want to unset it. Since it's only one flag
>> though, it didn't seem too bad to me.
> The problem is that its racy. You have to query the current
> state before deciding whether to send it or not. And another
> process might change it in between. An additional downside
> is the overhead for the query itself.

Right, forgot about this issue. Although ipvsadm does no getting and
setting based on the prior value (it only takes the value of the flag
from the command line), there might be other userspace tools who'd
want to use the interface differently.

>> An alternative (also, in case of more flags in the future) would be to
>> put flags into a nested attribute and if this is not supplied from
>> userspace during an edit operation, the flags will be left untouched.
> Then you can't unset them. I'd simply use the flags/mask
> scheme.



Google Switzerland GmbH
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>