struct ipv6_pinfo *np = inet6_sk(sk);
if (!ipv6_addr_any(&np->daddr) &&
- ipv6_addr_cmp(&np->daddr, rmt_addr))
+ !ipv6_addr_equal(&np->daddr, rmt_addr))
continue;
if (!ipv6_addr_any(&np->rcv_saddr)) {
- if (!ipv6_addr_cmp(&np->rcv_saddr, loc_addr))
+ if (ipv6_addr_equal(&np->rcv_saddr, loc_addr))
goto found;
if (is_multicast &&
inet6_mc_check(sk, loc_addr, rmt_addr))
return -EINVAL;
if (sin6->sin6_family && sin6->sin6_family != AF_INET6)
- return(-EINVAL);
+ return(-EAFNOSUPPORT);
/* port is the proto value [0..255] carried in nexthdr */
proto = ntohs(sin6->sin6_port);
* sk->sk_dst_cache.
*/
if (sk->sk_state == TCP_ESTABLISHED &&
- !ipv6_addr_cmp(daddr, &np->daddr))
+ ipv6_addr_equal(daddr, &np->daddr))
daddr = &np->daddr;
if (addr_len >= sizeof(struct sockaddr_in6) &&
}
done:
ip6_dst_store(sk, dst,
- !ipv6_addr_cmp(&fl.fl6_dst, &np->daddr) ?
+ ipv6_addr_equal(&fl.fl6_dst, &np->daddr) ?
&np->daddr : NULL);
if (err > 0)
err = np->recverr ? net_xmit_errno(err) : 0;
struct proto rawv6_prot = {
.name = "RAW",
+ .owner = THIS_MODULE,
.close = rawv6_close,
.connect = ip6_datagram_connect,
.disconnect = udp_disconnect,