1. Packets with bad checksum being dropped.

Packets with bad checksum being dropped.

Home Forums FABRIC General Questions and Discussion Packets with bad checksum being dropped.

Viewing 15 posts - 1 through 15 (of 21 total)
  • Author
    Posts
  • #2864
    Durbek Gafurov
    Participant

      Hello,

      I am working on a project where I connect two nodes with layer 2 network. Because of certain reasons one of the nodes is sending packets with bad checksum. Packet is not reaching another node, tcpdump shows that packet was sent to the right interface. On the other end of the network tcpdump doesn’t show any packet.

      I tried to disable checksum validation with sudo ethtool –offload <NETWORK INTERFACE> tx off rx off, but that doesn’t help. Any idea to disable checksum validation?

      #2865
      Arash SARABI
      Participant

        I think that might be a side effect of NIC_Basic’s being SRIOV VFs with limited low level configuration available. Have you tried to use FABRIC’s dedicated NICs? theoretically it should give a bit more control.

        • This reply was modified 1 year, 7 months ago by Arash SARABI.
        #2871
        Paul Ruth
        Keymaster

          Yes, this is the solution.  There a some low-level capabilities that are not possible with NIC_Basic.  Try the dedicated NICs.

          #2872
          Durbek Gafurov
          Participant

            Thanks for reply and suggestion. I tried to use NIC5 and NIC6 the same issue. When the packet has good checksum it accepts and packets with bad checksum are lost. I can see those packets leaving interface from sending node, but don’t see them at the receiving node.

            Any suggestion is appreciated.

            #2873
            Paul Ruth
            Keymaster

              Are you intentionally sending packets with bad checksums as part of your experiment or are they being corrupted by something FABRIC is doing?

              Either way is fine, I’m just trying to figure out what we need to look at.

              I’m not really sure what is happening. I suspect our underlying switches might be filtering the bad packets.  I’ll have someone who knows more about those switches look at this forum thread and maybe respond.

              #2874
              Durbek Gafurov
              Participant

                Short answer yes, I am intentionally sending bad packets.

                Longer version: I am working with P4 lang, I am changing ipv4 headers with p4lang, p4lang at this point unable to generate correct checksum, because in the header i have array and as far as I know p4lang cannot loop. Hence the generated checksum is wrong.

                #2875
                Arash SARABI
                Participant

                  Yes, It seems the packets are being dropped!

                  #2876
                  Durbek Gafurov
                  Participant

                    When the checksum is correct I receive it in receiving node.

                    #2908
                    Xi Yang
                    Participant

                      There are three types of “layer 2 network” supported on FABRIC. L2Bridge and L2STS are commonly used but may not be completely L3 transparent. The other is L2PTP, which is based on Pseudowire and supposed to be “more” Layer-2.

                      If your two nodes are at the same site, you don’t have other choice but L2Bridge.

                      If your two nodes are from different sites, system will pick L2STS or L2PTP for you. To force the type, use slice.add_network(... type='L2PTP'). See if that helps.

                      • This reply was modified 1 year, 7 months ago by Xi Yang.
                      #2939
                      Arash SARABI
                      Participant

                        I tried it but had no luck:
                        Could not change any device features

                        #2942
                        Xi Yang
                        Participant

                          Can you elaborate “Could not change any device features”? Where do you see that?

                           

                          #2945
                          Arash SARABI
                          Participant

                            When changing slice.add_l2network(name='net_c', type='L2Bridge', interfaces=[ifaceclient, ifaceRouterC]) to slice.add_l2network(name='net_c', type='L2PTP', interfaces=[ifaceclient, ifaceRouterC]) on the host we cannot run the command ethtool -K ens8 rx-fcs on

                            #2946
                            Paul Ruth
                            Keymaster

                              Are you using NIC_Basic? A bunch of ethtool settings are not possible with that type of NIC. You probably need to use one of the dedicated NICs.

                              #2968
                              Xi Yang
                              Participant

                                type='L2Bridge' can only be used for “same site” network. type='L2PTP' can only be used for between two different sites. If you are trying to set up a network within the same site, you cannot use L2PTP.

                                #3004
                                Arash SARABI
                                Participant

                                  No I am using NIC_ConnectX_5

                                Viewing 15 posts - 1 through 15 (of 21 total)
                                • You must be logged in to reply to this topic.