ipv6: Use ip6_route_output() instead of icmp6_dst_alloc().
Subsystems (3)
PATCH 11/13 ipv6: Use ip6_route_output() instead of icmp6_dst_alloc().
Signed-off-by YOSHIFUJI Hideaki <[email protected]>
--- net/ipv6/mcast.c | 5 ++--- net/ipv6/ndisc.c | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-)
net/ipv6/mcast.c +2 -3
@@ -1391,9 +1391,8 @@ static void mld_sendpack(struct sk_buff *skb)icmpv6_flow_init (net->ipv6.igmp_sk, &fl6,ICMPV6_MLD2_REPORT , &ipv6_hdr (skb)->saddr, &ipv6_hdr (skb)->daddr, skb->dev->ifindex); - dst =icmp6_dst_alloc (skb->dev,NULL , &fl6); - err =0 ; + dst =ip6_route_output (net, net->ipv6.igmp_sk, &fl6);if (IS_ERR (dst)) { err =PTR_ERR (dst); dst =NULL ;
@@ -1759,7 +1758,7 @@ static void igmp6_send(struct in6_addr *addr, struct net_device *dev, int type)icmpv6_flow_init (sk, &fl6, type, &ipv6_hdr (skb)->saddr, &ipv6_hdr (skb)->daddr, skb->dev->ifindex); - dst =icmp6_dst_alloc (skb->dev,NULL , &fl6); + dst =ip6_route_output (net, sk, &fl6);if (IS_ERR (dst)) { err =PTR_ERR (dst); goto err_out;
net/ipv6/ndisc.c +2 -1
@@ -448,7 +448,8 @@ static void ndisc_send_skb(struct sk_buff *skb, struct net_device *dev, type = icmp6h->icmp6_type;icmpv6_flow_init (sk, &fl6, type, saddr, daddr, dev->ifindex); - dst =icmp6_dst_alloc (dev, neigh, &fl6); + + dst =ip6_route_output (net, sk, &fl6);if (IS_ERR (dst)) {kfree_skb (skb);return ;
Signature · 1 line
1.7.9.5