any_in_addr
mirror_gws(union any_in_addr *gwIPlist, int family)
select_all_src_addrs(union any_in_addr **src_addr_list, struct addrinfo *ai,
union any_in_addr *gwv4, union any_in_addr *gwv6)
union any_in_addr *list;
list = calloc((size_t)num_dst, sizeof (union any_in_addr));
select_src_addr((union any_in_addr *)
select_src_addr((union any_in_addr *)
union any_in_addr addr; /* interface address (e.g., 10.123.4.5) */
select_src_addr(union any_in_addr *dst_addr, int family,
union any_in_addr *src_addr)
static union any_in_addr gw_IP_list[MAX_GWS]; /* gateways */
static union any_in_addr gw_IP_list6[MAX_GWS6];
is_a_target(struct addrinfo *ai, union any_in_addr *addr)
union any_in_addr *);
union any_in_addr *);
static void get_gwaddrs(char *[], int, union any_in_addr *,
union any_in_addr *, int *, int *);
static void mirror_gws(union any_in_addr *, int);
union any_in_addr **);
static void select_all_src_addrs(union any_in_addr **, struct addrinfo *,
union any_in_addr *, union any_in_addr *);
static void select_src_addr(union any_in_addr *, int, union any_in_addr *);
find_dstaddr(ushort_t icmpseq, union any_in_addr *ipaddr)
union any_in_addr *src_addr_list = NULL; /* src addrs to use */
build_targetaddr_list(struct addrinfo *ai_dst, union any_in_addr *src_addr_list)
create_targetaddr_item(struct sockaddr *dst_addr, union any_in_addr *src_addr)
union any_in_addr **src_addr_listp)
union any_in_addr *src_addr_list = NULL;
get_gwaddrs(char **gw_list, int family, union any_in_addr *gwIPlist,
union any_in_addr *gwIPlist6, int *resolved, int *resolved6)
union any_in_addr *addrs; /* address list */
extern void set_ancillary_data(struct msghdr *, int, union any_in_addr *,
extern void find_dstaddr(ushort_t, union any_in_addr *);
extern boolean_t is_a_target(struct addrinfo *, union any_in_addr *);
extern void set_IPv4_options(int, union any_in_addr *, int, struct in_addr *,
union any_in_addr dst_addr; /* dst address for the probe */
union any_in_addr src_addr; /* src addr to use for this dst addr */
union any_in_addr dst_addr;
set_IPv4_options(int sock, union any_in_addr *gw_IP_list, int gw_count,
union any_in_addr dst_addr;
union any_in_addr *gwIPlist, int gw_cnt, uint_t if_index)
union any_in_addr *gwIPlist;
find_ifaddr(struct ifaddrlist *al, int len, union any_in_addr *addr,
has_addr(struct addrinfo *ai, union any_in_addr *addr)
union any_in_addr *ap;
ap = (union any_in_addr *)
get_gwaddrs(char **gwlist, int family, union any_in_addr *gwIPlist,
union any_in_addr *gwIPlist6, int *resolved, int *resolved6)
static union any_in_addr gwIPlist[MAX_GWS]; /* gateway IPv4 address list */
static union any_in_addr gwIP6list[MAX_GWS6]; /* gateway IPv6 address list */
union any_in_addr *addrp;
addrp = (union any_in_addr *)
addrp = (union any_in_addr *)
set_sin(struct sockaddr *sock, union any_in_addr *addr, int family)
device_name(struct ifaddrlist *al, int len, union any_in_addr *ip_addr,
traceroute(union any_in_addr *ip_addr, struct msghdr *msg6, struct pr_set *pr,
union any_in_addr src_addr;
union any_in_addr lastaddr;
select_src_addr(union any_in_addr *dst_addr, union any_in_addr *src_addr,
inet_name(union any_in_addr *in, int family)
static char *device_name(struct ifaddrlist *, int, union any_in_addr *,
static boolean_t has_addr(struct addrinfo *, union any_in_addr *);
union any_in_addr *, int);
static void get_gwaddrs(char **, int, union any_in_addr *,
union any_in_addr *, int *, int *);
char *inet_name(union any_in_addr *, int);
static void select_src_addr(union any_in_addr *, union any_in_addr *, int);
extern void set_ancillary_data(struct msghdr *, int, union any_in_addr *, int,
extern void set_IPv4opt_sourcerouting(int, union any_in_addr *,
union any_in_addr *);
static void set_sin(struct sockaddr *, union any_in_addr *, int);
static void traceroute(union any_in_addr *, struct msghdr *, struct pr_set *,
union any_in_addr *addrs; /* list of IP addresses */
union any_in_addr *ap;
ap = (union any_in_addr *)
ap = (union any_in_addr *)
set_IPv4opt_sourcerouting(int sndsock, union any_in_addr *ip_addr,
union any_in_addr *gwIPlist)
union any_in_addr ip_addr;
extern char *inet_name(union any_in_addr *, int);
void set_IPv4opt_sourcerouting(int, union any_in_addr *, union any_in_addr *);
union any_in_addr *gwIPlist, int gw_cnt, uint_t if_index)
extern char *inet_name(union any_in_addr *, int);
void set_ancillary_data(struct msghdr *, int, union any_in_addr *, int, uint_t);
union any_in_addr ip_addr;
union any_in_addr addr; /* interface address */
select_server_addr(union any_in_addr *dst_addr, int family,
union any_in_addr *src_addr)
union any_in_addr in_addr, out_addr;