All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tushar Gohad <tgohad@mvista.com>
To: "YOSHIFUJI Hideaki / 吉藤英明" <yoshfuji@linux-ipv6.org>
Cc: netdev@vger.kernel.org
Subject: ping6 sets IPV6_PMTUDISC_DO option on multicast packets
Date: Fri, 16 Nov 2007 14:29:09 -0700	[thread overview]
Message-ID: <473E0BA5.9070804@mvista.com> (raw)


Yoshifuji-san,

I noticed that ping6 forces the IPV6_PMTUDISC_DO option on packets sent 
to multicast destinations. Is this a requirement?

Due to the following check recently introduced in the ip6_fragment() 
code, multicast packets that are over PMTU in size are never sent out, 
since ping6 code always sets the PMTUDISC_DO option and ip6_fragment() 
always fails.


=== net/ipv6/ip6_output.c ===

  573 static int ip6_fragment(struct sk_buff *skb, int (*output)
                              (struct sk_buff *))
  574 {
  ......
  592         /* We must not fragment if the socket is set to force MTU
                 discovery
  ......

  596         if (!np || np->pmtudisc >= IPV6_PMTUDISC_DO) {
  597                 skb->dev = skb->dst->dev;
  598                 icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu,
                                    skb->dev);
  599                 IP6_INC_STATS(ip6_dst_idev(skb->dst),
                                    IPSTATS_MIB_FRAGFAILS);
  600                 kfree_skb(skb);
  601                 return -EMSGSIZE;
  602         }
  ......
--


This check in the kernel code makes perfect sense, since the option is 
implies "do not fragment."

Should the ping6 code be fixed in that case?


Thanks,
- Tushar

                 reply	other threads:[~2007-11-16 21:23 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=473E0BA5.9070804@mvista.com \
    --to=tgohad@mvista.com \
    --cc=netdev@vger.kernel.org \
    --cc=yoshfuji@linux-ipv6.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.