Uploaded image for project: 'vpp'
  1. vpp
  2. VPP-647

Some NIC may provide incorrect DPDK packet type for MPLS packets

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Open
    • Icon: High High
    • None
    • None
    • Devices
    • None

      NIC such as Intel Fortville will report MPLS packets with IP4 payload as DPDK packet type IP4. Thus DPDK input node will incorrectly send MPLS packets to the IP4 forwarding path and be processed incorrectly, mostly likely dropped on IP sanity check failure.

      Following is a sample packet trace from dpdk-input node for a MPLS packet:
      00:24:55:501406: dpdk-input
      FortyGigE0/0/0/0 rx queue 0
      buffer 0x2e78c1b: current data 0, length 74, free-list 0, totlen-nifb 0, trace 0x1
      PKT MBUF: port 0, nb_segs 1, pkt_len 74
      buf_len 2176, data_len 74, ol_flags 0x0, data_off 128, phys_addr 0x39e30740
      packet_type 0x691
      Packet Types
      RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet
      RTE_PTYPE_L3_IPV4_EXT_UNKNOWN (0x0090) IPv4 packet with or without extension headers
      RTE_PTYPE_L4_NONFRAG (0x0600) Non-fragmented IP packet
      MPLS_UNICAST: 00:00:00:2b:8c:a5 -> 3c:fd:fe:9e:5d:10
      label 33 exp 0, s 0, ttl 64

            dmarion Damjan Marion
            lojohn John Lo
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: