Julius Volz wrote:
quoted text > On Wed, Jun 18, 2008 at 10:57 AM, Patrick McHardy <kaber@trash.net> wrote:
>>>> As I mentioned above, you usually want a MASK in combination
>>>> with flags to allow to unset them. This is best done using
>>>> a structure.
>>>>
>>> Hm, I'm not sure if I understand exactly what this struct is supposed
>>> to look like. Could you give an example?
>>>
>> struct {
>> u32 flags;
>> u32 mask;
>> } flags;
>>
>> and then:
>>
>> obj->flags = (obj->flags & ~flags->mask) |
>> (flags->flags | flags->mask);
>
> Ah, I see. The second line should read "(flags->flags & flags->mask)", right?
Yes.
quoted text > Looking at how these "flags" are actually used in ipvsadm, I'm not
> sure this would be needed here:
>
> 1) destination conn_flags are only set to successive integer values 0,
> 1, 2... (depending on the forwarding method), which are mutually
> exclusive. Only internally in the kernel are other bits of this field
> used in a flag-like fashion. So this Netlink attribute could be
> renamed to something like *_FWD_METHOD and be a normal value field.
Yes. The internal fields shouldn't be exported to userspace
unless necessary.
quoted text > 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)?
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html