mirror of
https://github.com/suyu-emu/horinux.git
synced 2026-09-21 14:15:21 -07:00
net: remove ipv6_addr_copy()
C assignment can handle struct in6_addr copying. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
40ba84993d
commit
4e3fd7a06d
@@ -243,8 +243,8 @@ static int addr6_resolve(struct sockaddr_in6 *src_in,
|
||||
int ret;
|
||||
|
||||
memset(&fl6, 0, sizeof fl6);
|
||||
ipv6_addr_copy(&fl6.daddr, &dst_in->sin6_addr);
|
||||
ipv6_addr_copy(&fl6.saddr, &src_in->sin6_addr);
|
||||
fl6.daddr = dst_in->sin6_addr;
|
||||
fl6.saddr = src_in->sin6_addr;
|
||||
fl6.flowi6_oif = addr->bound_dev_if;
|
||||
|
||||
dst = ip6_route_output(&init_net, NULL, &fl6);
|
||||
@@ -258,7 +258,7 @@ static int addr6_resolve(struct sockaddr_in6 *src_in,
|
||||
goto put;
|
||||
|
||||
src_in->sin6_family = AF_INET6;
|
||||
ipv6_addr_copy(&src_in->sin6_addr, &fl6.saddr);
|
||||
src_in->sin6_addr = fl6.saddr;
|
||||
}
|
||||
|
||||
if (dst->dev->flags & IFF_LOOPBACK) {
|
||||
|
||||
@@ -2005,11 +2005,11 @@ static int cma_resolve_loopback(struct rdma_id_private *id_priv)
|
||||
if (cma_zero_addr(src)) {
|
||||
dst = (struct sockaddr *) &id_priv->id.route.addr.dst_addr;
|
||||
if ((src->sa_family = dst->sa_family) == AF_INET) {
|
||||
((struct sockaddr_in *) src)->sin_addr.s_addr =
|
||||
((struct sockaddr_in *) dst)->sin_addr.s_addr;
|
||||
((struct sockaddr_in *)src)->sin_addr =
|
||||
((struct sockaddr_in *)dst)->sin_addr;
|
||||
} else {
|
||||
ipv6_addr_copy(&((struct sockaddr_in6 *) src)->sin6_addr,
|
||||
&((struct sockaddr_in6 *) dst)->sin6_addr);
|
||||
((struct sockaddr_in6 *)src)->sin6_addr =
|
||||
((struct sockaddr_in6 *)dst)->sin6_addr;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ static void bond_glean_dev_ipv6(struct net_device *dev, struct in6_addr *addr)
|
||||
struct inet6_ifaddr *ifa
|
||||
= list_first_entry(&idev->addr_list,
|
||||
struct inet6_ifaddr, if_list);
|
||||
ipv6_addr_copy(addr, &ifa->addr);
|
||||
*addr = ifa->addr;
|
||||
} else
|
||||
ipv6_addr_set(addr, 0, 0, 0, 0);
|
||||
|
||||
@@ -168,8 +168,7 @@ static int bond_inet6addr_event(struct notifier_block *this,
|
||||
switch (event) {
|
||||
case NETDEV_UP:
|
||||
if (ipv6_addr_any(&bond->master_ipv6))
|
||||
ipv6_addr_copy(&bond->master_ipv6,
|
||||
&ifa->addr);
|
||||
bond->master_ipv6 = ifa->addr;
|
||||
return NOTIFY_OK;
|
||||
case NETDEV_DOWN:
|
||||
if (ipv6_addr_equal(&bond->master_ipv6,
|
||||
@@ -191,8 +190,7 @@ static int bond_inet6addr_event(struct notifier_block *this,
|
||||
switch (event) {
|
||||
case NETDEV_UP:
|
||||
if (ipv6_addr_any(&vlan->vlan_ipv6))
|
||||
ipv6_addr_copy(&vlan->vlan_ipv6,
|
||||
&ifa->addr);
|
||||
vlan->vlan_ipv6 = ifa->addr;
|
||||
return NOTIFY_OK;
|
||||
case NETDEV_DOWN:
|
||||
if (ipv6_addr_equal(&vlan->vlan_ipv6,
|
||||
|
||||
@@ -3475,7 +3475,7 @@ static int cnic_get_v6_route(struct sockaddr_in6 *dst_addr,
|
||||
struct flowi6 fl6;
|
||||
|
||||
memset(&fl6, 0, sizeof(fl6));
|
||||
ipv6_addr_copy(&fl6.daddr, &dst_addr->sin6_addr);
|
||||
fl6.daddr = dst_addr->sin6_addr;
|
||||
if (ipv6_addr_type(&fl6.daddr) & IPV6_ADDR_LINKLOCAL)
|
||||
fl6.flowi6_oif = dst_addr->sin6_scope_id;
|
||||
|
||||
|
||||
+1
-1
@@ -281,7 +281,7 @@ static int nodeid_to_addr(int nodeid, struct sockaddr *retaddr)
|
||||
} else {
|
||||
struct sockaddr_in6 *in6 = (struct sockaddr_in6 *) &addr;
|
||||
struct sockaddr_in6 *ret6 = (struct sockaddr_in6 *) retaddr;
|
||||
ipv6_addr_copy(&ret6->sin6_addr, &in6->sin6_addr);
|
||||
ret6->sin6_addr = in6->sin6_addr;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -237,7 +237,7 @@ static inline bool __rpc_copy_addr6(struct sockaddr *dst,
|
||||
struct sockaddr_in6 *dsin6 = (struct sockaddr_in6 *) dst;
|
||||
|
||||
dsin6->sin6_family = ssin6->sin6_family;
|
||||
ipv6_addr_copy(&dsin6->sin6_addr, &ssin6->sin6_addr);
|
||||
dsin6->sin6_addr = ssin6->sin6_addr;
|
||||
return true;
|
||||
}
|
||||
#else /* !(CONFIG_IPV6 || CONFIG_IPV6_MODULE) */
|
||||
|
||||
@@ -86,7 +86,7 @@ static inline struct inet_peer *inet_getpeer_v6(const struct in6_addr *v6daddr,
|
||||
{
|
||||
struct inetpeer_addr daddr;
|
||||
|
||||
ipv6_addr_copy((struct in6_addr *)daddr.addr.a6, v6daddr);
|
||||
*(struct in6_addr *)daddr.addr.a6 = *v6daddr;
|
||||
daddr.family = AF_INET6;
|
||||
return inet_getpeer(&daddr, create);
|
||||
}
|
||||
|
||||
+4
-4
@@ -21,7 +21,7 @@
|
||||
#include <linux/netfilter.h> /* for union nf_inet_addr */
|
||||
#include <linux/ip.h>
|
||||
#include <linux/ipv6.h> /* for struct ipv6hdr */
|
||||
#include <net/ipv6.h> /* for ipv6_addr_copy */
|
||||
#include <net/ipv6.h>
|
||||
#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
|
||||
#include <net/netfilter/nf_conntrack.h>
|
||||
#endif
|
||||
@@ -119,8 +119,8 @@ ip_vs_fill_iphdr(int af, const void *nh, struct ip_vs_iphdr *iphdr)
|
||||
const struct ipv6hdr *iph = nh;
|
||||
iphdr->len = sizeof(struct ipv6hdr);
|
||||
iphdr->protocol = iph->nexthdr;
|
||||
ipv6_addr_copy(&iphdr->saddr.in6, &iph->saddr);
|
||||
ipv6_addr_copy(&iphdr->daddr.in6, &iph->daddr);
|
||||
iphdr->saddr.in6 = iph->saddr;
|
||||
iphdr->daddr.in6 = iph->daddr;
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
@@ -137,7 +137,7 @@ static inline void ip_vs_addr_copy(int af, union nf_inet_addr *dst,
|
||||
{
|
||||
#ifdef CONFIG_IP_VS_IPV6
|
||||
if (af == AF_INET6)
|
||||
ipv6_addr_copy(&dst->in6, &src->in6);
|
||||
dst->in6 = src->in6;
|
||||
else
|
||||
#endif
|
||||
dst->ip = src->ip;
|
||||
|
||||
@@ -309,11 +309,6 @@ ipv6_masked_addr_cmp(const struct in6_addr *a1, const struct in6_addr *m,
|
||||
((a1->s6_addr32[3] ^ a2->s6_addr32[3]) & m->s6_addr32[3]));
|
||||
}
|
||||
|
||||
static inline void ipv6_addr_copy(struct in6_addr *a1, const struct in6_addr *a2)
|
||||
{
|
||||
memcpy(a1, a2, sizeof(struct in6_addr));
|
||||
}
|
||||
|
||||
static inline void ipv6_addr_prefix(struct in6_addr *pfx,
|
||||
const struct in6_addr *addr,
|
||||
int plen)
|
||||
|
||||
+2
-2
@@ -1217,8 +1217,8 @@ void xfrm_flowi_addr_get(const struct flowi *fl,
|
||||
memcpy(&daddr->a4, &fl->u.ip4.daddr, sizeof(daddr->a4));
|
||||
break;
|
||||
case AF_INET6:
|
||||
ipv6_addr_copy((struct in6_addr *)&saddr->a6, &fl->u.ip6.saddr);
|
||||
ipv6_addr_copy((struct in6_addr *)&daddr->a6, &fl->u.ip6.daddr);
|
||||
*(struct in6_addr *)saddr->a6 = fl->u.ip6.saddr;
|
||||
*(struct in6_addr *)daddr->a6 = fl->u.ip6.daddr;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ static struct net_bridge_mdb_entry *br_mdb_ip6_get(
|
||||
{
|
||||
struct br_ip br_dst;
|
||||
|
||||
ipv6_addr_copy(&br_dst.u.ip6, dst);
|
||||
br_dst.u.ip6 = *dst;
|
||||
br_dst.proto = htons(ETH_P_IPV6);
|
||||
|
||||
return br_mdb_ip_get(mdb, &br_dst);
|
||||
@@ -154,7 +154,7 @@ struct net_bridge_mdb_entry *br_mdb_get(struct net_bridge *br,
|
||||
break;
|
||||
#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
|
||||
case htons(ETH_P_IPV6):
|
||||
ipv6_addr_copy(&ip.u.ip6, &ipv6_hdr(skb)->daddr);
|
||||
ip.u.ip6 = ipv6_hdr(skb)->daddr;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
@@ -474,7 +474,7 @@ static struct sk_buff *br_ip6_multicast_alloc_query(struct net_bridge *br,
|
||||
mldq->mld_cksum = 0;
|
||||
mldq->mld_maxdelay = htons((u16)jiffies_to_msecs(interval));
|
||||
mldq->mld_reserved = 0;
|
||||
ipv6_addr_copy(&mldq->mld_mca, group);
|
||||
mldq->mld_mca = *group;
|
||||
|
||||
/* checksum */
|
||||
mldq->mld_cksum = csum_ipv6_magic(&ip6h->saddr, &ip6h->daddr,
|
||||
@@ -783,7 +783,7 @@ static int br_ip6_multicast_add_group(struct net_bridge *br,
|
||||
if (!ipv6_is_transient_multicast(group))
|
||||
return 0;
|
||||
|
||||
ipv6_addr_copy(&br_group.u.ip6, group);
|
||||
br_group.u.ip6 = *group;
|
||||
br_group.proto = htons(ETH_P_IPV6);
|
||||
|
||||
return br_multicast_add_group(br, port, &br_group);
|
||||
@@ -1344,7 +1344,7 @@ static void br_ip6_multicast_leave_group(struct net_bridge *br,
|
||||
if (!ipv6_is_transient_multicast(group))
|
||||
return;
|
||||
|
||||
ipv6_addr_copy(&br_group.u.ip6, group);
|
||||
br_group.u.ip6 = *group;
|
||||
br_group.proto = htons(ETH_P_IPV6);
|
||||
|
||||
br_multicast_leave_group(br, port, &br_group);
|
||||
|
||||
+6
-9
@@ -1304,7 +1304,7 @@ static ssize_t pktgen_if_write(struct file *file,
|
||||
scan_ip6(buf, pkt_dev->in6_daddr.s6_addr);
|
||||
snprintf(buf, sizeof(buf), "%pI6c", &pkt_dev->in6_daddr);
|
||||
|
||||
ipv6_addr_copy(&pkt_dev->cur_in6_daddr, &pkt_dev->in6_daddr);
|
||||
pkt_dev->cur_in6_daddr = pkt_dev->in6_daddr;
|
||||
|
||||
if (debug)
|
||||
printk(KERN_DEBUG "pktgen: dst6 set to: %s\n", buf);
|
||||
@@ -1327,8 +1327,7 @@ static ssize_t pktgen_if_write(struct file *file,
|
||||
scan_ip6(buf, pkt_dev->min_in6_daddr.s6_addr);
|
||||
snprintf(buf, sizeof(buf), "%pI6c", &pkt_dev->min_in6_daddr);
|
||||
|
||||
ipv6_addr_copy(&pkt_dev->cur_in6_daddr,
|
||||
&pkt_dev->min_in6_daddr);
|
||||
pkt_dev->cur_in6_daddr = pkt_dev->min_in6_daddr;
|
||||
if (debug)
|
||||
printk(KERN_DEBUG "pktgen: dst6_min set to: %s\n", buf);
|
||||
|
||||
@@ -1371,7 +1370,7 @@ static ssize_t pktgen_if_write(struct file *file,
|
||||
scan_ip6(buf, pkt_dev->in6_saddr.s6_addr);
|
||||
snprintf(buf, sizeof(buf), "%pI6c", &pkt_dev->in6_saddr);
|
||||
|
||||
ipv6_addr_copy(&pkt_dev->cur_in6_saddr, &pkt_dev->in6_saddr);
|
||||
pkt_dev->cur_in6_saddr = pkt_dev->in6_saddr;
|
||||
|
||||
if (debug)
|
||||
printk(KERN_DEBUG "pktgen: src6 set to: %s\n", buf);
|
||||
@@ -2079,9 +2078,7 @@ static void pktgen_setup_inject(struct pktgen_dev *pkt_dev)
|
||||
ifp = ifp->if_next) {
|
||||
if (ifp->scope == IFA_LINK &&
|
||||
!(ifp->flags & IFA_F_TENTATIVE)) {
|
||||
ipv6_addr_copy(&pkt_dev->
|
||||
cur_in6_saddr,
|
||||
&ifp->addr);
|
||||
pkt_dev->cur_in6_saddr = ifp->addr;
|
||||
err = 0;
|
||||
break;
|
||||
}
|
||||
@@ -2958,8 +2955,8 @@ static struct sk_buff *fill_packet_ipv6(struct net_device *odev,
|
||||
iph->payload_len = htons(sizeof(struct udphdr) + datalen);
|
||||
iph->nexthdr = IPPROTO_UDP;
|
||||
|
||||
ipv6_addr_copy(&iph->daddr, &pkt_dev->cur_in6_daddr);
|
||||
ipv6_addr_copy(&iph->saddr, &pkt_dev->cur_in6_saddr);
|
||||
iph->daddr = pkt_dev->cur_in6_daddr;
|
||||
iph->saddr = pkt_dev->cur_in6_saddr;
|
||||
|
||||
skb->mac_header = (skb->network_header - ETH_HLEN -
|
||||
pkt_dev->pkt_overhead);
|
||||
|
||||
+21
-21
@@ -150,8 +150,8 @@ static void dccp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||
*/
|
||||
memset(&fl6, 0, sizeof(fl6));
|
||||
fl6.flowi6_proto = IPPROTO_DCCP;
|
||||
ipv6_addr_copy(&fl6.daddr, &np->daddr);
|
||||
ipv6_addr_copy(&fl6.saddr, &np->saddr);
|
||||
fl6.daddr = np->daddr;
|
||||
fl6.saddr = np->saddr;
|
||||
fl6.flowi6_oif = sk->sk_bound_dev_if;
|
||||
fl6.fl6_dport = inet->inet_dport;
|
||||
fl6.fl6_sport = inet->inet_sport;
|
||||
@@ -244,8 +244,8 @@ static int dccp_v6_send_response(struct sock *sk, struct request_sock *req,
|
||||
|
||||
memset(&fl6, 0, sizeof(fl6));
|
||||
fl6.flowi6_proto = IPPROTO_DCCP;
|
||||
ipv6_addr_copy(&fl6.daddr, &ireq6->rmt_addr);
|
||||
ipv6_addr_copy(&fl6.saddr, &ireq6->loc_addr);
|
||||
fl6.daddr = ireq6->rmt_addr;
|
||||
fl6.saddr = ireq6->loc_addr;
|
||||
fl6.flowlabel = 0;
|
||||
fl6.flowi6_oif = ireq6->iif;
|
||||
fl6.fl6_dport = inet_rsk(req)->rmt_port;
|
||||
@@ -270,7 +270,7 @@ static int dccp_v6_send_response(struct sock *sk, struct request_sock *req,
|
||||
dh->dccph_checksum = dccp_v6_csum_finish(skb,
|
||||
&ireq6->loc_addr,
|
||||
&ireq6->rmt_addr);
|
||||
ipv6_addr_copy(&fl6.daddr, &ireq6->rmt_addr);
|
||||
fl6.daddr = ireq6->rmt_addr;
|
||||
err = ip6_xmit(sk, skb, &fl6, opt, np->tclass);
|
||||
err = net_xmit_eval(err);
|
||||
}
|
||||
@@ -313,8 +313,8 @@ static void dccp_v6_ctl_send_reset(struct sock *sk, struct sk_buff *rxskb)
|
||||
&rxip6h->daddr);
|
||||
|
||||
memset(&fl6, 0, sizeof(fl6));
|
||||
ipv6_addr_copy(&fl6.daddr, &rxip6h->saddr);
|
||||
ipv6_addr_copy(&fl6.saddr, &rxip6h->daddr);
|
||||
fl6.daddr = rxip6h->saddr;
|
||||
fl6.saddr = rxip6h->daddr;
|
||||
|
||||
fl6.flowi6_proto = IPPROTO_DCCP;
|
||||
fl6.flowi6_oif = inet6_iif(rxskb);
|
||||
@@ -419,8 +419,8 @@ static int dccp_v6_conn_request(struct sock *sk, struct sk_buff *skb)
|
||||
goto drop_and_free;
|
||||
|
||||
ireq6 = inet6_rsk(req);
|
||||
ipv6_addr_copy(&ireq6->rmt_addr, &ipv6_hdr(skb)->saddr);
|
||||
ipv6_addr_copy(&ireq6->loc_addr, &ipv6_hdr(skb)->daddr);
|
||||
ireq6->rmt_addr = ipv6_hdr(skb)->saddr;
|
||||
ireq6->loc_addr = ipv6_hdr(skb)->daddr;
|
||||
|
||||
if (ipv6_opt_accepted(sk, skb) ||
|
||||
np->rxopt.bits.rxinfo || np->rxopt.bits.rxoinfo ||
|
||||
@@ -491,7 +491,7 @@ static struct sock *dccp_v6_request_recv_sock(struct sock *sk,
|
||||
|
||||
ipv6_addr_set_v4mapped(newinet->inet_saddr, &newnp->saddr);
|
||||
|
||||
ipv6_addr_copy(&newnp->rcv_saddr, &newnp->saddr);
|
||||
newnp->rcv_saddr = newnp->saddr;
|
||||
|
||||
inet_csk(newsk)->icsk_af_ops = &dccp_ipv6_mapped;
|
||||
newsk->sk_backlog_rcv = dccp_v4_do_rcv;
|
||||
@@ -526,9 +526,9 @@ static struct sock *dccp_v6_request_recv_sock(struct sock *sk,
|
||||
|
||||
memset(&fl6, 0, sizeof(fl6));
|
||||
fl6.flowi6_proto = IPPROTO_DCCP;
|
||||
ipv6_addr_copy(&fl6.daddr, &ireq6->rmt_addr);
|
||||
fl6.daddr = ireq6->rmt_addr;
|
||||
final_p = fl6_update_dst(&fl6, opt, &final);
|
||||
ipv6_addr_copy(&fl6.saddr, &ireq6->loc_addr);
|
||||
fl6.saddr = ireq6->loc_addr;
|
||||
fl6.flowi6_oif = sk->sk_bound_dev_if;
|
||||
fl6.fl6_dport = inet_rsk(req)->rmt_port;
|
||||
fl6.fl6_sport = inet_rsk(req)->loc_port;
|
||||
@@ -559,9 +559,9 @@ static struct sock *dccp_v6_request_recv_sock(struct sock *sk,
|
||||
|
||||
memcpy(newnp, np, sizeof(struct ipv6_pinfo));
|
||||
|
||||
ipv6_addr_copy(&newnp->daddr, &ireq6->rmt_addr);
|
||||
ipv6_addr_copy(&newnp->saddr, &ireq6->loc_addr);
|
||||
ipv6_addr_copy(&newnp->rcv_saddr, &ireq6->loc_addr);
|
||||
newnp->daddr = ireq6->rmt_addr;
|
||||
newnp->saddr = ireq6->loc_addr;
|
||||
newnp->rcv_saddr = ireq6->loc_addr;
|
||||
newsk->sk_bound_dev_if = ireq6->iif;
|
||||
|
||||
/* Now IPv6 options...
|
||||
@@ -877,7 +877,7 @@ static int dccp_v6_connect(struct sock *sk, struct sockaddr *uaddr,
|
||||
flowlabel = fl6_sock_lookup(sk, fl6.flowlabel);
|
||||
if (flowlabel == NULL)
|
||||
return -EINVAL;
|
||||
ipv6_addr_copy(&usin->sin6_addr, &flowlabel->dst);
|
||||
usin->sin6_addr = flowlabel->dst;
|
||||
fl6_sock_release(flowlabel);
|
||||
}
|
||||
}
|
||||
@@ -910,7 +910,7 @@ static int dccp_v6_connect(struct sock *sk, struct sockaddr *uaddr,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
ipv6_addr_copy(&np->daddr, &usin->sin6_addr);
|
||||
np->daddr = usin->sin6_addr;
|
||||
np->flow_label = fl6.flowlabel;
|
||||
|
||||
/*
|
||||
@@ -949,8 +949,8 @@ static int dccp_v6_connect(struct sock *sk, struct sockaddr *uaddr,
|
||||
saddr = &np->rcv_saddr;
|
||||
|
||||
fl6.flowi6_proto = IPPROTO_DCCP;
|
||||
ipv6_addr_copy(&fl6.daddr, &np->daddr);
|
||||
ipv6_addr_copy(&fl6.saddr, saddr ? saddr : &np->saddr);
|
||||
fl6.daddr = np->daddr;
|
||||
fl6.saddr = saddr ? *saddr : np->saddr;
|
||||
fl6.flowi6_oif = sk->sk_bound_dev_if;
|
||||
fl6.fl6_dport = usin->sin6_port;
|
||||
fl6.fl6_sport = inet->inet_sport;
|
||||
@@ -966,11 +966,11 @@ static int dccp_v6_connect(struct sock *sk, struct sockaddr *uaddr,
|
||||
|
||||
if (saddr == NULL) {
|
||||
saddr = &fl6.saddr;
|
||||
ipv6_addr_copy(&np->rcv_saddr, saddr);
|
||||
np->rcv_saddr = *saddr;
|
||||
}
|
||||
|
||||
/* set the source address */
|
||||
ipv6_addr_copy(&np->saddr, saddr);
|
||||
np->saddr = *saddr;
|
||||
inet->inet_rcv_saddr = LOOPBACK4_IPV6;
|
||||
|
||||
__ip6_dst_store(sk, dst, NULL, NULL);
|
||||
|
||||
@@ -60,8 +60,8 @@ void dccp_time_wait(struct sock *sk, int state, int timeo)
|
||||
|
||||
tw->tw_ipv6_offset = inet6_tw_offset(sk->sk_prot);
|
||||
tw6 = inet6_twsk((struct sock *)tw);
|
||||
ipv6_addr_copy(&tw6->tw_v6_daddr, &np->daddr);
|
||||
ipv6_addr_copy(&tw6->tw_v6_rcv_saddr, &np->rcv_saddr);
|
||||
tw6->tw_v6_daddr = np->daddr;
|
||||
tw6->tw_v6_rcv_saddr = np->rcv_saddr;
|
||||
tw->tw_ipv6only = np->ipv6only;
|
||||
}
|
||||
#endif
|
||||
|
||||
+6
-12
@@ -129,10 +129,8 @@ static int inet_csk_diag_fill(struct sock *sk,
|
||||
if (r->idiag_family == AF_INET6) {
|
||||
const struct ipv6_pinfo *np = inet6_sk(sk);
|
||||
|
||||
ipv6_addr_copy((struct in6_addr *)r->id.idiag_src,
|
||||
&np->rcv_saddr);
|
||||
ipv6_addr_copy((struct in6_addr *)r->id.idiag_dst,
|
||||
&np->daddr);
|
||||
*(struct in6_addr *)r->id.idiag_src = np->rcv_saddr;
|
||||
*(struct in6_addr *)r->id.idiag_dst = np->daddr;
|
||||
if (ext & (1 << (INET_DIAG_TCLASS - 1)))
|
||||
RTA_PUT_U8(skb, INET_DIAG_TCLASS, np->tclass);
|
||||
}
|
||||
@@ -224,10 +222,8 @@ static int inet_twsk_diag_fill(struct inet_timewait_sock *tw,
|
||||
const struct inet6_timewait_sock *tw6 =
|
||||
inet6_twsk((struct sock *)tw);
|
||||
|
||||
ipv6_addr_copy((struct in6_addr *)r->id.idiag_src,
|
||||
&tw6->tw_v6_rcv_saddr);
|
||||
ipv6_addr_copy((struct in6_addr *)r->id.idiag_dst,
|
||||
&tw6->tw_v6_daddr);
|
||||
*(struct in6_addr *)r->id.idiag_src = tw6->tw_v6_rcv_saddr;
|
||||
*(struct in6_addr *)r->id.idiag_dst = tw6->tw_v6_daddr;
|
||||
}
|
||||
#endif
|
||||
nlh->nlmsg_len = skb_tail_pointer(skb) - previous_tail;
|
||||
@@ -603,10 +599,8 @@ static int inet_diag_fill_req(struct sk_buff *skb, struct sock *sk,
|
||||
r->idiag_inode = 0;
|
||||
#if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE)
|
||||
if (r->idiag_family == AF_INET6) {
|
||||
ipv6_addr_copy((struct in6_addr *)r->id.idiag_src,
|
||||
&inet6_rsk(req)->loc_addr);
|
||||
ipv6_addr_copy((struct in6_addr *)r->id.idiag_dst,
|
||||
&inet6_rsk(req)->rmt_addr);
|
||||
*(struct in6_addr *)r->id.idiag_src = inet6_rsk(req)->loc_addr;
|
||||
*(struct in6_addr *)r->id.idiag_dst = inet6_rsk(req)->rmt_addr;
|
||||
}
|
||||
#endif
|
||||
nlh->nlmsg_len = skb_tail_pointer(skb) - b;
|
||||
|
||||
@@ -343,8 +343,8 @@ void tcp_time_wait(struct sock *sk, int state, int timeo)
|
||||
|
||||
tw->tw_ipv6_offset = inet6_tw_offset(sk->sk_prot);
|
||||
tw6 = inet6_twsk((struct sock *)tw);
|
||||
ipv6_addr_copy(&tw6->tw_v6_daddr, &np->daddr);
|
||||
ipv6_addr_copy(&tw6->tw_v6_rcv_saddr, &np->rcv_saddr);
|
||||
tw6->tw_v6_daddr = np->daddr;
|
||||
tw6->tw_v6_rcv_saddr = np->rcv_saddr;
|
||||
tw->tw_tclass = np->tclass;
|
||||
tw->tw_ipv6only = np->ipv6only;
|
||||
}
|
||||
|
||||
+4
-4
@@ -636,7 +636,7 @@ ipv6_add_addr(struct inet6_dev *idev, const struct in6_addr *addr, int pfxlen,
|
||||
goto out;
|
||||
}
|
||||
|
||||
ipv6_addr_copy(&ifa->addr, addr);
|
||||
ifa->addr = *addr;
|
||||
|
||||
spin_lock_init(&ifa->lock);
|
||||
spin_lock_init(&ifa->state_lock);
|
||||
@@ -1228,7 +1228,7 @@ try_nextdev:
|
||||
if (!hiscore->ifa)
|
||||
return -EADDRNOTAVAIL;
|
||||
|
||||
ipv6_addr_copy(saddr, &hiscore->ifa->addr);
|
||||
*saddr = hiscore->ifa->addr;
|
||||
in6_ifa_put(hiscore->ifa);
|
||||
return 0;
|
||||
}
|
||||
@@ -1249,7 +1249,7 @@ int ipv6_get_lladdr(struct net_device *dev, struct in6_addr *addr,
|
||||
list_for_each_entry(ifp, &idev->addr_list, if_list) {
|
||||
if (ifp->scope == IFA_LINK &&
|
||||
!(ifp->flags & banned_flags)) {
|
||||
ipv6_addr_copy(addr, &ifp->addr);
|
||||
*addr = ifp->addr;
|
||||
err = 0;
|
||||
break;
|
||||
}
|
||||
@@ -1700,7 +1700,7 @@ addrconf_prefix_route(struct in6_addr *pfx, int plen, struct net_device *dev,
|
||||
.fc_protocol = RTPROT_KERNEL,
|
||||
};
|
||||
|
||||
ipv6_addr_copy(&cfg.fc_dst, pfx);
|
||||
cfg.fc_dst = *pfx;
|
||||
|
||||
/* Prevent useless cloning on PtP SIT.
|
||||
This thing is done here expecting that the whole
|
||||
|
||||
+7
-7
@@ -361,10 +361,10 @@ int inet6_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
|
||||
inet->inet_rcv_saddr = v4addr;
|
||||
inet->inet_saddr = v4addr;
|
||||
|
||||
ipv6_addr_copy(&np->rcv_saddr, &addr->sin6_addr);
|
||||
np->rcv_saddr = addr->sin6_addr;
|
||||
|
||||
if (!(addr_type & IPV6_ADDR_MULTICAST))
|
||||
ipv6_addr_copy(&np->saddr, &addr->sin6_addr);
|
||||
np->saddr = addr->sin6_addr;
|
||||
|
||||
/* Make sure we are allowed to bind here. */
|
||||
if (sk->sk_prot->get_port(sk, snum)) {
|
||||
@@ -458,14 +458,14 @@ int inet6_getname(struct socket *sock, struct sockaddr *uaddr,
|
||||
peer == 1)
|
||||
return -ENOTCONN;
|
||||
sin->sin6_port = inet->inet_dport;
|
||||
ipv6_addr_copy(&sin->sin6_addr, &np->daddr);
|
||||
sin->sin6_addr = np->daddr;
|
||||
if (np->sndflow)
|
||||
sin->sin6_flowinfo = np->flow_label;
|
||||
} else {
|
||||
if (ipv6_addr_any(&np->rcv_saddr))
|
||||
ipv6_addr_copy(&sin->sin6_addr, &np->saddr);
|
||||
sin->sin6_addr = np->saddr;
|
||||
else
|
||||
ipv6_addr_copy(&sin->sin6_addr, &np->rcv_saddr);
|
||||
sin->sin6_addr = np->rcv_saddr;
|
||||
|
||||
sin->sin6_port = inet->inet_sport;
|
||||
}
|
||||
@@ -660,8 +660,8 @@ int inet6_sk_rebuild_header(struct sock *sk)
|
||||
|
||||
memset(&fl6, 0, sizeof(fl6));
|
||||
fl6.flowi6_proto = sk->sk_protocol;
|
||||
ipv6_addr_copy(&fl6.daddr, &np->daddr);
|
||||
ipv6_addr_copy(&fl6.saddr, &np->saddr);
|
||||
fl6.daddr = np->daddr;
|
||||
fl6.saddr = np->saddr;
|
||||
fl6.flowlabel = np->flow_label;
|
||||
fl6.flowi6_oif = sk->sk_bound_dev_if;
|
||||
fl6.flowi6_mark = sk->sk_mark;
|
||||
|
||||
+6
-6
@@ -193,9 +193,9 @@ static void ipv6_rearrange_destopt(struct ipv6hdr *iph, struct ipv6_opt_hdr *des
|
||||
printk(KERN_WARNING "destopt hao: invalid header length: %u\n", hao->length);
|
||||
goto bad;
|
||||
}
|
||||
ipv6_addr_copy(&final_addr, &hao->addr);
|
||||
ipv6_addr_copy(&hao->addr, &iph->saddr);
|
||||
ipv6_addr_copy(&iph->saddr, &final_addr);
|
||||
final_addr = hao->addr;
|
||||
hao->addr = iph->saddr;
|
||||
iph->saddr = final_addr;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -241,13 +241,13 @@ static void ipv6_rearrange_rthdr(struct ipv6hdr *iph, struct ipv6_rt_hdr *rthdr)
|
||||
segments = rthdr->hdrlen >> 1;
|
||||
|
||||
addrs = ((struct rt0_hdr *)rthdr)->addr;
|
||||
ipv6_addr_copy(&final_addr, addrs + segments - 1);
|
||||
final_addr = addrs[segments - 1];
|
||||
|
||||
addrs += segments - segments_left;
|
||||
memmove(addrs + 1, addrs, (segments_left - 1) * sizeof(*addrs));
|
||||
|
||||
ipv6_addr_copy(addrs, &iph->daddr);
|
||||
ipv6_addr_copy(&iph->daddr, &final_addr);
|
||||
addrs[0] = iph->daddr;
|
||||
iph->daddr = final_addr;
|
||||
}
|
||||
|
||||
static int ipv6_clear_mutable_options(struct ipv6hdr *iph, int len, int dir)
|
||||
|
||||
+2
-2
@@ -75,7 +75,7 @@ int ipv6_sock_ac_join(struct sock *sk, int ifindex, const struct in6_addr *addr)
|
||||
if (pac == NULL)
|
||||
return -ENOMEM;
|
||||
pac->acl_next = NULL;
|
||||
ipv6_addr_copy(&pac->acl_addr, addr);
|
||||
pac->acl_addr = *addr;
|
||||
|
||||
rcu_read_lock();
|
||||
if (ifindex == 0) {
|
||||
@@ -296,7 +296,7 @@ int ipv6_dev_ac_inc(struct net_device *dev, const struct in6_addr *addr)
|
||||
goto out;
|
||||
}
|
||||
|
||||
ipv6_addr_copy(&aca->aca_addr, addr);
|
||||
aca->aca_addr = *addr;
|
||||
aca->aca_idev = idev;
|
||||
aca->aca_rt = rt;
|
||||
aca->aca_users = 1;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user