[lkml]   [2010]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: batman-adv: design suggestions
    On Sat, Aug 14, 2010 at 16:59 +0200, Marek Lindner wrote:
    > On Friday 13 August 2010 20:18:33 Vasiliy Kulikov wrote:
    > > d) Why do you send icmp TTL exceeded for the icmp itself? E.g. in case
    > > of loop or/and small default TTL you'll probably get a storm of icmps.
    > > Exactly in this case IP silently drops TTL exceeded icmps ;)
    > These layer2 icmp packets are not ordinary icmp packets.

    By the way, it's better to name it smth another (bcmp?) as ICMP = _internet_
    control message protocol. Batman is not limited to IP however ;)

    > We needed to provide
    > a mechanism to make the network topology visible to debug tools like ping or
    > traceroute which normally "see" no more than one hop as they operate on
    > layer3. Hence, batman-adv does not send an icmp packet for each payload TTL
    > exceeded but for traceroute only.

    Ah, dammit! I didn't see this code:

    if (icmp_packet->msg_type != ECHO_REQUEST) {
    pr_warning("Warning - can't forward icmp packet from %pM to "
    "%pM: ttl exceeded\n", icmp_packet->orig,
    return NET_RX_DROP;

    I thought that any expired icmp spawns TTL exceeded icmp that may spawn
    another one, etc.

    > I recommend reviewing the traceroute code to
    > understand how this is supposed to work:

    Thanks, I'll look at it.

    > I'd be interested to learn about a problematic scenario in which this
    > mechanism breaks.

    Now I don't know anyone too ;)

    > Regards,
    > Marek

     \ /
      Last update: 2010-08-14 18:17    [W:0.021 / U:33.792 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site