mcast.c (5a84d159061d914c8dd4aa372ac6e9529c2be453) mcast.c (95c385b4d5a71b8ad552aecaa968ea46d7da2f6a)
1/*
2 * Multicast support for IPv6
3 * Linux INET6 implementation
4 *
5 * Authors:
6 * Pedro Roque <roque@di.fc.ul.pt>
7 *
8 * $Id: mcast.c,v 1.40 2002/02/08 03:57:19 davem Exp $

--- 1397 unchanged lines hidden (view full) ---

1406 /* we assume size > sizeof(ra) here */
1407 skb = sock_alloc_send_skb(sk, size + LL_RESERVED_SPACE(dev), 1, &err);
1408
1409 if (skb == 0)
1410 return NULL;
1411
1412 skb_reserve(skb, LL_RESERVED_SPACE(dev));
1413
1/*
2 * Multicast support for IPv6
3 * Linux INET6 implementation
4 *
5 * Authors:
6 * Pedro Roque <roque@di.fc.ul.pt>
7 *
8 * $Id: mcast.c,v 1.40 2002/02/08 03:57:19 davem Exp $

--- 1397 unchanged lines hidden (view full) ---

1406 /* we assume size > sizeof(ra) here */
1407 skb = sock_alloc_send_skb(sk, size + LL_RESERVED_SPACE(dev), 1, &err);
1408
1409 if (skb == 0)
1410 return NULL;
1411
1412 skb_reserve(skb, LL_RESERVED_SPACE(dev));
1413
1414 if (ipv6_get_lladdr(dev, &addr_buf)) {
1414 if (ipv6_get_lladdr(dev, &addr_buf, IFA_F_TENTATIVE)) {
1415 /* <draft-ietf-magma-mld-source-05.txt>:
1416 * use unspecified address as the source address
1417 * when a valid link-local address is not available.
1418 */
1419 memset(&addr_buf, 0, sizeof(addr_buf));
1420 }
1421
1422 ip6_nd_hdr(sk, skb, dev, &addr_buf, &mld2_all_mcr, NEXTHDR_HOP, 0);

--- 363 unchanged lines hidden (view full) ---

1786 IP6_INC_STATS(__in6_dev_get(dev),
1787 IPSTATS_MIB_OUTDISCARDS);
1788 rcu_read_unlock();
1789 return;
1790 }
1791
1792 skb_reserve(skb, LL_RESERVED_SPACE(dev));
1793
1415 /* <draft-ietf-magma-mld-source-05.txt>:
1416 * use unspecified address as the source address
1417 * when a valid link-local address is not available.
1418 */
1419 memset(&addr_buf, 0, sizeof(addr_buf));
1420 }
1421
1422 ip6_nd_hdr(sk, skb, dev, &addr_buf, &mld2_all_mcr, NEXTHDR_HOP, 0);

--- 363 unchanged lines hidden (view full) ---

1786 IP6_INC_STATS(__in6_dev_get(dev),
1787 IPSTATS_MIB_OUTDISCARDS);
1788 rcu_read_unlock();
1789 return;
1790 }
1791
1792 skb_reserve(skb, LL_RESERVED_SPACE(dev));
1793
1794 if (ipv6_get_lladdr(dev, &addr_buf)) {
1794 if (ipv6_get_lladdr(dev, &addr_buf, IFA_F_TENTATIVE)) {
1795 /* <draft-ietf-magma-mld-source-05.txt>:
1796 * use unspecified address as the source address
1797 * when a valid link-local address is not available.
1798 */
1799 memset(&addr_buf, 0, sizeof(addr_buf));
1800 }
1801
1802 ip6_nd_hdr(sk, skb, dev, &addr_buf, snd_addr, NEXTHDR_HOP, payload_len);

--- 874 unchanged lines hidden ---
1795 /* <draft-ietf-magma-mld-source-05.txt>:
1796 * use unspecified address as the source address
1797 * when a valid link-local address is not available.
1798 */
1799 memset(&addr_buf, 0, sizeof(addr_buf));
1800 }
1801
1802 ip6_nd_hdr(sk, skb, dev, &addr_buf, snd_addr, NEXTHDR_HOP, payload_len);

--- 874 unchanged lines hidden ---