Now we enhance get_addr() to return additional information about address (e.g. if it unspecified or multicast) we want to have same functionality for attributes in netlink message.
Introduce and use get_addr_rta() that parses given netlink attribute into @inet_prefix data structure in the same way similar get_addr() parses address from it's string representation. Use attribute length to guess address family: force it by giving non AF_UNSPEC @family to get_addr_rta() to ensure address is of expected family. This is next step in ipv4 and ipv6 modules unification to prepare for merge in the future. Any comments, suggestions and criticism as always welcome. Thanks, Serhii Serhey Popovych (8): utils: Introduce get_addr_rta() ipaddress: Use get_addr_rta() iprule: Use get_addr_rta() ipmroute: Use get_addr_rta() ipneigh: Use get_addr_rta() ipl2tp: Use get_addr_rta() tcp_metric: Use get_addr_rta() ip/tunnel: Unify local/remote endpoint address printing include/utils.h | 1 + ip/ipaddress.c | 29 +++++++++---------- ip/ipl2tp.c | 37 +++++++++++------------- ip/ipmroute.c | 18 ++++++++---- ip/ipneigh.c | 14 +++++----- ip/iprule.c | 40 +++++++++++++++----------- ip/link_gre.c | 21 ++------------ ip/link_gre6.c | 26 ++--------------- ip/link_ip6tnl.c | 15 ++-------- ip/link_iptnl.c | 21 ++------------ ip/link_vti.c | 21 ++------------ ip/link_vti6.c | 21 ++------------ ip/tcp_metrics.c | 60 +++++++++++++++++++-------------------- ip/tunnel.c | 27 ++++++++++++++++++ ip/tunnel.h | 2 ++ lib/utils.c | 82 +++++++++++++++++++++++++++++++++++++++++------------- 16 files changed, 209 insertions(+), 226 deletions(-) -- 1.7.10.4