On Mon, Jun 16, 2008, Patrick McHardy wrote:
> b) or c) both look fine. You could save a few operations (ADD/EDIT
> can be combined) by making use of nlmsg_flags though:
>
> The semantics of the flags is:
>
> - NLM_F_CREATE|NLM_F_EXCL: create if non-existant
> - NLM_F_REPLACE: change existing
> - NLM_F_CREATE|NLM_F_REPLACE: create if non-existing, replace otherwise
> - NLM_F_EXCL: test existance
I just noticed that this doesn't work with genetlink. genl_rcv_msg()
treats all commands as GET requests instead of NEW requests, in which
the same flag bits mean different things (NLM_F_ROOT, NLM_F_MATCH and
so on). Specifically, it checks for NLM_F_DUMP, which overlaps with
the other interpretations of the bits.
So I think I'll just have separate commands for ADD and EDIT, similar
to what net/wireless/nl80211.c has.
Julius
--
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 http://vger.kernel.org/majordomo-info.html
|