NLM_F_CREATE
nl_flags = NLM_F_CREATE | NLM_F_APPEND; /* Do append by default */
if (hdr->nlmsg_flags & NLM_F_CREATE)
if ((hdr->nlmsg_flags & (NLM_F_CREATE | NLM_F_REPLACE)) == 0)
if (hdr->nlmsg_flags & NLM_F_CREATE)
nlm_flags = NLM_F_EXCL | NLM_F_CREATE;
hdr->nlmsg_flags &= ~(NLM_F_REPLACE | NLM_F_CREATE);
hdr->nlmsg_flags |= NLM_F_CREATE | NLM_F_EXCL;
op_flags |= (nlm_flags & NLM_F_CREATE) ? RTM_F_CREATE : 0;
.hdr.nlmsg_flags = NLM_F_REQUEST | NLM_F_CREATE | NLM_F_EXCL,
hdr->nlmsg_flags |= (NLM_F_CREATE | NLM_F_EXCL | NLM_F_REQUEST | NLM_F_ACK);
hdr->nlmsg_flags |= NLM_F_CREATE | NLM_F_REPLACE;
hdr->nlmsg_flags |= NLM_F_CREATE | NLM_F_REPLACE;