It looks confusing to have multiple independent
routines to get internet address from it's string
representation: get_addr() and inet_get_addr().

Most complicated users of inet_get_addr() is
iplink_geneve.c and iplink_vxlan.c because they
required to handle both AF_INET and AF_INET6
for their local/remote endpoints.

On the other hand get_addr() does not provide
additional information like address type: need
to address this. to get rid of current and
possible future code duplications. Note that
this functionality is first step to make proto
independent handling of local/remote endpoints
in ip/tunnel code (there will be additional
series based on this one).

Also fix get_addr_1() and get_prefix() to make
sure it always provide correct ->family and
->bitlen.

As always comments, suggestions and criticism
are welcome.

Thanks,
Serhii

Serhey Popovych (6):
  utils: Always specify family for address in get_addr_1()
  utils: Always specify family and ->bytelen in get_prefix_1()
  utils: Fast inet address classification after get_addr()
  iplink_geneve: Get rid of inet_get_addr()
  iplink_vxlan: Get rid of inet_get_addr()
  ip: Get rid of inet_get_addr()

 include/utils.h       |   36 ++++++++++++++++-
 ip/iplink_geneve.c    |   23 +++++------
 ip/iplink_vxlan.c     |   72 ++++++++++++---------------------
 ip/iproute_lwtunnel.c |    5 ++-
 ip/ipseg6.c           |    8 ++--
 lib/utils.c           |  108 +++++++++++++++++++++++++++++--------------------
 6 files changed, 142 insertions(+), 110 deletions(-)

-- 
1.7.10.4

Reply via email to