Merge "add 'nodad' support to ifc_add_address()"

This commit is contained in:
Treehugger Robot 2023-07-01 03:15:34 +00:00 committed by Gerrit Code Review
commit 732d410d21

View file

@ -362,14 +362,19 @@ int ifc_act_on_address(int action, const char* name, const char* address, int pr
return err->error;
}
// Pass bitwise complement of prefix length to disable DAD, ie. use ~64 instead of 64.
// Returns zero on success and negative errno on failure.
int ifc_add_address(const char *name, const char *address, int prefixlen) {
return ifc_act_on_address(RTM_NEWADDR, name, address, prefixlen, /*nodad*/ false);
bool nodad = (prefixlen < 0);
if (nodad) prefixlen = ~prefixlen;
return ifc_act_on_address(RTM_NEWADDR, name, address, prefixlen, nodad);
}
// Returns zero on success and negative errno on failure.
int ifc_del_address(const char *name, const char * address, int prefixlen) {
return ifc_act_on_address(RTM_DELADDR, name, address, prefixlen, /*nodad*/ false);
bool nodad = (prefixlen < 0);
if (nodad) prefixlen = ~prefixlen;
return ifc_act_on_address(RTM_DELADDR, name, address, prefixlen, nodad);
}
/*