X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fnet-util.c;fp=src%2Fshared%2Fnet-util.c;h=630be18e56ecba042a0e751f326b2fa43f586afb;hb=377a218f876507fb8be9c21ef4121fa2576ec317;hp=887dae51251647a16a2e6d1115b7a9c69302fa94;hpb=eb0ea358b688a6f83ff305c6b825c61f12b6dcb8;p=elogind.git diff --git a/src/shared/net-util.c b/src/shared/net-util.c index 887dae512..630be18e5 100644 --- a/src/shared/net-util.c +++ b/src/shared/net-util.c @@ -58,6 +58,21 @@ bool net_match_config(const struct ether_addr *match_mac, return 1; } +unsigned net_netmask_to_prefixlen(const struct in_addr *addr) { + unsigned len = 0; + uint32_t mask; + + assert(addr); + + mask = be32toh(addr->s_addr); + while (mask) { + len++; + mask = mask << 1; + } + + return len; +} + int config_parse_ifname(const char *unit, const char *filename, unsigned line,