From 6cfc39c3e9522470e82f4cd43e6cd992a0d67ed1 Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Tue, 14 Feb 2017 01:44:25 -0800 Subject: Remove duplicate ip6 get interface address code Change-Id: I5e0057b36bc4221e688a27fc1c0f602f78132991 Signed-off-by: Neale Ranns --- src/vnet/dhcpv6/proxy_node.c | 22 ++-------------------- src/vnet/ip/ip6.h | 5 +++++ src/vnet/ip/ip6_forward.c | 8 ++------ src/vnet/ip/ping.c | 21 --------------------- 4 files changed, 9 insertions(+), 47 deletions(-) diff --git a/src/vnet/dhcpv6/proxy_node.c b/src/vnet/dhcpv6/proxy_node.c index 77afef2a..4137624c 100644 --- a/src/vnet/dhcpv6/proxy_node.c +++ b/src/vnet/dhcpv6/proxy_node.c @@ -110,24 +110,6 @@ ip6_interface_first_global_or_site_address (ip6_main_t * im, u32 sw_if_index) return result; } -/* get first interface address */ -static ip6_address_t * -ip6_interface_first_address (ip6_main_t * im, u32 sw_if_index) -{ - ip_lookup_main_t * lm = &im->lookup_main; - ip_interface_address_t * ia = 0; - ip6_address_t * result = 0; - - foreach_ip_interface_address (lm, ia, sw_if_index, - 1 /* honor unnumbered */, - ({ - ip6_address_t * a = ip_interface_address_get_address (lm, ia); - result = a; - break; - })); - return result; -} - static inline void copy_ip6_address (ip6_address_t *dst, ip6_address_t *src) { @@ -813,8 +795,8 @@ int dhcpv6_proxy_set_server (ip6_address_t *addr, ip6_address_t *src_address, } int dhcpv6_proxy_set_server_2 (ip6_address_t *addr, ip6_address_t *src_address, - u32 rx_fib_id, u32 server_fib_id, - int insert_vss, int is_del) + u32 rx_fib_id, u32 server_fib_id, + int insert_vss, int is_del) { dhcpv6_proxy_main_t * dm = &dhcpv6_proxy_main; dhcpv6_server_t * server = 0; diff --git a/src/vnet/ip/ip6.h b/src/vnet/ip/ip6.h index 1844d727..5456f0f2 100644 --- a/src/vnet/ip/ip6.h +++ b/src/vnet/ip/ip6.h @@ -332,6 +332,11 @@ clib_error_t *ip6_add_del_interface_address (vlib_main_t * vm, u32 address_length, u32 is_del); void ip6_sw_interface_enable_disable (u32 sw_if_index, u32 is_enable); +/** + * @brie get first IPv6 interface address + */ +ip6_address_t *ip6_interface_first_address (ip6_main_t * im, u32 sw_if_index); + int ip6_address_compare (ip6_address_t * a1, ip6_address_t * a2); clib_error_t *ip6_probe_neighbor (vlib_main_t * vm, ip6_address_t * dst, diff --git a/src/vnet/ip/ip6_forward.c b/src/vnet/ip/ip6_forward.c index c15683e2..5dd22b99 100644 --- a/src/vnet/ip/ip6_forward.c +++ b/src/vnet/ip/ip6_forward.c @@ -428,9 +428,7 @@ ip6_sw_interface_enable_disable (u32 sw_if_index, u32 is_enable) /* get first interface address */ ip6_address_t * -ip6_interface_first_address (ip6_main_t * im, - u32 sw_if_index, - ip_interface_address_t ** result_ia) +ip6_interface_first_address (ip6_main_t * im, u32 sw_if_index) { ip_lookup_main_t *lm = &im->lookup_main; ip_interface_address_t *ia = 0; @@ -445,8 +443,6 @@ ip6_interface_first_address (ip6_main_t * im, break; })); /* *INDENT-ON* */ - if (result_ia) - *result_ia = result ? ia : 0; return result; } @@ -3318,7 +3314,7 @@ vnet_set_ip6_classify_intfc (vlib_main_t * vm, u32 sw_if_index, vec_validate (lm->classify_table_index_by_sw_if_index, sw_if_index); lm->classify_table_index_by_sw_if_index[sw_if_index] = table_index; - if_addr = ip6_interface_first_address (ipm, sw_if_index, NULL); + if_addr = ip6_interface_first_address (ipm, sw_if_index); if (NULL != if_addr) { diff --git a/src/vnet/ip/ping.c b/src/vnet/ip/ping.c index 00e2bfb1..e4f2ee72 100644 --- a/src/vnet/ip/ping.c +++ b/src/vnet/ip/ping.c @@ -214,27 +214,6 @@ VLIB_REGISTER_NODE (ip4_icmp_echo_reply_node, static) = char *ip6_lookup_next_nodes[] = IP6_LOOKUP_NEXT_NODES; char *ip4_lookup_next_nodes[] = IP4_LOOKUP_NEXT_NODES; -/* get first interface address */ -static ip6_address_t * -ip6_interface_first_address (ip6_main_t * im, u32 sw_if_index) -{ - ip_lookup_main_t *lm = &im->lookup_main; - ip_interface_address_t *ia = 0; - ip6_address_t *result = 0; - - /* *INDENT-OFF* */ - foreach_ip_interface_address (lm, ia, sw_if_index, - 1 /* honor unnumbered */ , - ({ - ip6_address_t * a = - ip_interface_address_get_address (lm, ia); - result = a; - break; - })); - /* *INDENT-ON* */ - return result; -} - /* Fill in the ICMP ECHO structure, return the safety-checked and possibly shrunk data_len */ static u16 init_icmp46_echo_request (icmp46_echo_request_t * icmp46_echo, -- cgit 1.2.3-korg