netlink: symantics for NLM_F_MULTI and NLMSG_DONE ?

From: Roger Willcocks <hidden>
Date: 2009-10-27 11:44:00

The netlink rfc (3549) says that in multi-part messages (messages split
over multiple netlink packets), the first and all following headers 
have the NLM_F_MULTI flag set except for the last header which has the
header type NLMSG_DONE.

afaict NLMSG_DONE is redundant, since one could simply not set the
NLM_F_MULTI flag for the final header; and if a multi-part message
can't cross a datagram boundary - which is assumed by e.g. the reading
example in
http://www.kernel.org/doc/man-pages/online/pages/man7/netlink.7.html
- NLMSG_DONE is redundant too.

And the rfc doesn't say what NLMSG_DONE /and/ NLM_F_MULTI should mean,
although net/netlink/af_netlink.c always sets both.

So, what are the symantics for NLM_F_MULTI and NLMSG_DONE?

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help