llc_sap packets are sent in balance-tlb mode

Help
rokkytop
2007-08-10
2013-06-06
  • rokkytop
    rokkytop
    2007-08-10

    Hello,

    I am configuring channel bonding using balance-tlb mode. The bonding looks like working but I have a problem with llc_sap packets are being sent from each interface. I have captured network traffic and from the captured trace I can see that both adapters in the balance-tlb mode sends llc_sap packets.

    Is it possible to disable the sending of llc_sap packets?

    Thank you.

     
    • Jay Vosburgh
      Jay Vosburgh
      2007-08-10

      >Is it possible to disable the sending of llc_sap packets?

      I presume you're referring to the ETH_P_LOOP protocol frames, that look like this in tcpdump:

      14:01:06.326916 00:10:18:14:a4:01 > 00:10:18:14:a4:01 Null Information, send seq 0, rcv seq 0, Flags [Command], length 46

      These are sent by balance-alb/tlb to keep the switch up to date as to which MAC address is assigned to which interface; they're not an error.

      If you're talking about some other mystery packet, then post a tcpdump -v -v -v capture so I can look and see what it is.

       
    • rokkytop
      rokkytop
      2007-08-10

      Yes, they look like you stated. I was using the WireShark to capture traffic.
      The reason why I am asking is the rate of packets is a little bit too high.
      I can see 3 packets per second. I presume the second packet is sent by the switch back to the linux box.
      I am not quite sure about the third one. I can post the capture on Monday.

      Is it possible to change how often to send them or disable them at all?
      A LAN switch can learn the MAC address from any normal data packet which comes from the linux box.

      Thanks.

       
      • Jay Vosburgh
        Jay Vosburgh
        2007-08-10

        >I can see 3 packets per second. I presume the second packet is sent by the switch back to >the linux box.
        >I am not quite sure about the third one. I can post the capture on Monday.

        No, all three are sent by bonding; one set of three frames, once per second.  You also get a set whenever a link change event occurs.

        >Is it possible to change how often to send them or disable them at all?

        Not without editing the driver source code.  The function that sends the frames is alb_send_learning_packets(), in drivers/net/bonding/bond_alb.c, although the place you'd probably want to change is the call from bond_alb_monitor() that is triggered once per second.

        >A LAN switch can learn the MAC address from any normal data packet which comes from the >linux box.

        True.  Still, there are times that the probes are clearly useful, for example, when the MAC addresses are swapped around between slave interfaces, as a type of gratuitous update to the switch (without which the switch might send traffic to the wrong port, only to have it dropped by the device filtering against its new MAC).

        That said, though, the periodic probes appear to be an incompletely ported portion of the Intel ANS link aggregation software (the balance-alb/tlb code was contributed by Intel, and either ported or reimplemented from their ANS product).  According to their ANS documentation, the periodic probes are nominally of ethertype 0x886d (and otherwise undefined ethertype), and the transmission and reception of the probes is validated to insure the integrity of the individual links.

        www.intel.com/network/connectivity/resources/doc_library/white_papers/254031.pdf

        is the paper in question; page 6 describes the probe activity.

        I'd hazard to guess that whomever at Intel did the tlb/alb port implemented only a portion of the probe code, and put in the generation of the probes, but not the checking of replies (or the full "sender / receiver" protocol described in the document).

        I have not tested it, but I suspect you can disable the periodic probes from the bond_alb_monitor without ill effect, but disabling the probes during link change events could cause a loss of packets inbound from the switch between the time the link change event occurs and the particular interfaces involved transmit any frames bearing the new MAC address.

         
    • rokkytop
      rokkytop
      2007-08-11

      Thank you very much for the explanation.

      We are using Intel ANS software on our Windows Servers. We disabled the probe packets and use only link status. The reason we have disabled the probe packets is we have a number of servers (~ 20) and workstations (~100) per site. Both servers and workstations are equipped with Intel Dual Port Server Adapters and configured with ALB teaming. If we use probe packets (broadcast or multicast) it will increase the network traffic.

      I agree that the probe packets are useful for a switch to quickly learn MAC address but what we have learned in the past three years of using Intel ANS for Windows that the set of probe packets is really what needs only to be sent when the link change event occurs.

      An ideal situation for us would be to disable the probe packets and have them to be sent only when a link change event occurs.

      Can you tell me where I can find the source code? I have Fedora Core 7. I have looked on the DVD and cannot find the source code.

      Thank you.

       
    • rokkytop
      rokkytop
      2007-08-13

      I have found the source code. It comes with kernel source.

      Thank you.