}
#ifdef IPV6
if (socket6 >= 0) {
- socket_set_outgoing_iface_ipv6(socket6, optparse_state.optarg);
+ socket_set_outgoing_iface_ipv6(optparse_state.optarg);
}
#endif
#else
int socket_sendto_ping_ipv4(int s, struct sockaddr *saddr, socklen_t saddr_len, uint16_t icmp_seq, uint16_t icmp_id, uint8_t icmp_proto);
#ifdef IPV6
int open_ping_socket_ipv6(int *socktype);
-void socket_set_outgoing_iface_ipv6(int s, const char *iface_name);
+void socket_set_outgoing_iface_ipv6(const char *iface_name);
void init_ping_buffer_ipv6(size_t ping_data_size);
void socket_set_src_addr_ipv6(int s, struct in6_addr *src_addr, int *ident);
int socket_sendto_ping_ipv6(int s, struct sockaddr *saddr, socklen_t saddr_len, uint16_t icmp_seq, uint16_t icmp_id);
return s;
}
-void socket_set_outgoing_iface_ipv6(int s, const char *iface_name)
+void socket_set_outgoing_iface_ipv6(const char *iface_name)
{
unsigned int idx = if_nametoindex(iface_name);
if (idx == 0) {
exit(1);
}
outgoing_iface_idx_ipv6 = (int)idx;
-
- int on = 1;
- if (setsockopt(s, IPPROTO_IPV6, IPV6_RECVPKTINFO, &on, sizeof(on)) < 0) {
- perror("setsockopt IPV6_RECVPKTINFO");
- exit(1);
- }
}
void init_ping_buffer_ipv6(size_t ping_data_size)