iproute2/include
Serhey Popovych 7bf5e876d0 utils: Fast inet address classification after get_addr()
It looks very useful to receive additional information
from get_addr_1() and get_addr() about address to simplify
caller and get rid of code duplications.

For now following information can be returned:

  1) address is unspecified (zero)
  2) address is multicast
  3) address is internet: family is either AF_INET or
     AF_INET6.

More information can be added in the future.

Introduce inline helpers to make code using this new
address classification interface more self explaining:

  bool is_addrtype_inet(inet_prefix *addr)
    true if @addr is inet address

  bool is_addrtype_inet_unspec(inet_prefix *addr)
    true if @addr is unspecified inet address

  bool is_addrtype_inet_multi(inet_prefix *addr)
    true if @addr is multicast inet address

  bool is_addrtype_inet_not_unspec(inet_prefix *addr)
    true if @addr is not unspecified inet address
    false if @addr is not inet or unspecified inet

  bool is_addrtype_inet_not_multi(inet_prefix *addr)
    true if @addr is not multicast inet address
    false if @addr is not inet or multicast inet

Last two are useful for case when we need inet address
that is not unspecified or multicast.

Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
Signed-off-by: David Ahern <dsahern@gmail.com>
2018-01-21 09:38:21 -08:00
..
iptables SPDX license identifiers 2017-11-24 12:21:35 -08:00
libiptc SPDX license identifiers 2017-11-24 12:21:35 -08:00
netinet ss: report ecnseen 2011-11-23 14:51:54 -08:00
uapi Update kernel headers to 4.15-rc8 2018-01-19 12:33:41 -08:00
SNAPSHOT.h v4.14.1 2017-11-13 10:09:57 -08:00
bpf_api.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
bpf_elf.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
bpf_scm.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
bpf_util.h bpf: allow loading programs for a specific ifindex 2017-11-26 11:57:57 -08:00
color.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
dlfcn.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
ip6tables.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
iptables.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
json_print.h color: Rename enum 2017-10-16 09:24:11 -07:00
json_writer.h json_writer: add new json handlers (null, float with format, lluint, hu) 2017-08-17 18:02:40 -07:00
libgenl.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
libnetlink.h lib/libnetlink: Add a new function rtnl_talk_iov 2018-01-14 09:03:33 -08:00
list.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
ll_map.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
names.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
namespace.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
rt_names.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
rtm_map.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
utils.h utils: Fast inet address classification after get_addr() 2018-01-21 09:38:21 -08:00
xt-internal.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
xtables.h SPDX license identifiers 2017-11-24 12:21:35 -08:00