Logo Search packages:      
Sourcecode: libnl2 version File versions  Download package

int rtnl_addr_build_add_request ( struct rtnl_addr *  addr,
int  flags,
struct nl_msg **  result 
)

Build netlink request message to request addition of new address

  • addr Address object representing the new address.
  • flags Additional netlink message flags.
  • result Pointer to store resulting message.
Builds a new netlink message requesting the addition of a new address. The netlink message header isn't fully equipped with all relevant fields and must thus be sent out via nl_send_auto_complete() or supplemented as needed.

Minimal required attributes:

  • interface index (rtnl_addr_set_ifindex())
  • local address (rtnl_addr_set_local())

The scope will default to universe except for loopback addresses in which case a host scope is used if not specified otherwise.

Note:
Free the memory after usage using nlmsg_free().
Returns:
0 on success or a negative error code.

Definition at line 550 of file addr.c.

Referenced by rtnl_addr_add().

{
      int required = ADDR_ATTR_IFINDEX | ADDR_ATTR_FAMILY |
                   ADDR_ATTR_PREFIXLEN | ADDR_ATTR_LOCAL;

      if ((addr->ce_mask & required) != required)
            return -NLE_MISSING_ATTR;
      
      return build_addr_msg(addr, RTM_NEWADDR, NLM_F_CREATE | flags, result);
}


Generated by  Doxygen 1.6.0   Back to index