Hi Shashi,

I have not been able to reproduce this issue.

What does your 'show errors' shows?

Regarding your 'show interface', not sure why you would get 'tx-errors'. Have you tried other use cases (ie. l3 routing) without tx-errors?

Just FYI, I'm working on adding verbose trace capabilities to the dpdk-crypto-input node to be able to see full dumps of small packets.

Thanks,
Sergio

On 15/12/2017 12:35, Shashi Kant Singh wrote:
Hi

This is running on intel broadwell processor
Vpp is from master

Regards
Shashi





On Fri, Dec 15, 2017 at 5:57 PM +0530, "Gonzalez Monroy, Sergio" <[email protected] <mailto:[email protected]>> wrote:

    Hi,

    What platform is VPP running on?
    Are you using latest VPP master?

    Thanks,
    Sergio

    On 15/12/2017 11:06, Shashi Kant Singh wrote:

    Hi

    I have facing issue with packet being dropped at the IPSEC decoder.

    I have setup with traffic pumped from pktgen on both ports and
    they arrive at a set of VPP-IPSEC gateways (GWs). In FWD path
    first GW received from P0 of pktgen, does the encoding and sends
    it to second GW which does the decoding and then sends it towards
    P1 of the pktgen. Reverse happens in the REV path.

    In both the direction when I send data at 1Gbps, pkt size 1024, I
    see packet drop happening during decoding. I see the following
    from the traces:

    Packet 6

    00:01:57:914904: dpdk-input

      TenGigabitEtherneta/0/0 rx queue 0

      buffer 0x153a6: current data 14, length 1064, free-list 0,
    clone-count 0, totlen-nifb 0, trace 0x5

                      l4-cksum-computed l4-cksum-correct
    l2-hdr-offset 0 l3-hdr-offset 14

      PKT MBUF: port 0, nb_segs 1, pkt_len 1078

        buf_len 2176, data_len 1078, ol_flags 0x180, data_off 128,
    phys_addr 0x3674ea00

        packet_type 0x11 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0

        Packet Offload Flags

          PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid

          PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid

        Packet Types

          RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet

          RTE_PTYPE_L3_IPV4 (0x0010) IPv4 packet without extension
    headers

      IP4: 14:02:ec:70:ae:55 -> 14:02:ec:72:ee:dc

      IPSEC_ESP: 192.168.1.2 -> 192.168.1.1

        tos 0x00, ttl 253, length 1064, checksum 0x3650

        fragment id 0x0000

    00:01:57:914915: ip4-input-no-checksum

      IPSEC_ESP: 192.168.1.2 -> 192.168.1.1

        tos 0x00, ttl 253, length 1064, checksum 0x3650

        fragment id 0x0000

    00:01:57:914924: ipsec-input-ip4

      esp: sa_id 20 spi 1000 seq 13544422

    00:01:57:914925: dpdk-esp-decrypt

      cipher aes-cbc-128 auth sha1-96

      ESP: spi 1000, seq 13544422

    00:01:57:914928: dpdk-crypto-input

      status: auth failed

    00:01:57:914944: error-drop

      ip4-input: valid ip4 packets

    In the same trace successful case is as below:

    acket 7

    00:01:57:914904: dpdk-input

      TenGigabitEtherneta/0/0 rx queue 0

      buffer 0x1b8af: current data 14, length 1064, free-list 0,
    clone-count 0, totlen-nifb 0, trace 0x6

                      l4-cksum-computed l4-cksum-correct
    l2-hdr-offset 0 l3-hdr-offset 14

      PKT MBUF: port 0, nb_segs 1, pkt_len 1078

        buf_len 2176, data_len 1078, ol_flags 0x180, data_off 128,
    phys_addr 0x364e2c40

        packet_type 0x11 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0

        Packet Offload Flags

          PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid

          PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid

        Packet Types

          RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet

          RTE_PTYPE_L3_IPV4 (0x0010) IPv4 packet without extension
    headers

      IP4: 14:02:ec:70:ae:55 -> 14:02:ec:72:ee:dc

      IPSEC_ESP: 192.168.1.2 -> 192.168.1.1

        tos 0x00, ttl 253, length 1064, checksum 0x3650

        fragment id 0x0000

    00:01:57:914915: ip4-input-no-checksum

      IPSEC_ESP: 192.168.1.2 -> 192.168.1.1

        tos 0x00, ttl 253, length 1064, checksum 0x3650

        fragment id 0x0000

    00:01:57:914924: ipsec-input-ip4

      esp: sa_id 20 spi 1000 seq 13544423

    00:01:57:914925: dpdk-esp-decrypt

      cipher aes-cbc-128 auth sha1-96

      ESP: spi 1000, seq 13544423

    00:01:57:914928: dpdk-crypto-input

      status: success

    00:01:57:914945: dpdk-esp-decrypt-post

      cipher aes-cbc-128 auth sha1-96

      TCP: 192.168.100.3 -> 192.168.100.2

        tos 0x00, ttl 3, length 1006, checksum 0x04a7

        fragment id 0x660d

      TCP: 1234 -> 5678

        seq. 0x12345678 ack 0x12345690

        flags 0x10 ACK, tcp header: 20 bytes

        window 8192, checksum 0xd8e8

    00:01:57:914945: ip4-input-no-checksum

      TCP: 192.168.100.3 -> 192.168.100.2

        tos 0x00, ttl 3, length 1006, checksum 0x04a7

        fragment id 0x660d

      TCP: 1234 -> 5678

        seq. 0x12345678 ack 0x12345690

        flags 0x10 ACK, tcp header: 20 bytes

        window 8192, checksum 0xd8e8

    00:01:57:914953: ip4-lookup

      fib 0 dpo-idx 1 flow hash: 0x00000000

      TCP: 192.168.100.3 -> 192.168.100.2

        tos 0x00, ttl 3, length 1006, checksum 0x04a7

        fragment id 0x660d

      TCP: 1234 -> 5678

        seq. 0x12345678 ack 0x12345690

        flags 0x10 ACK, tcp header: 20 bytes

        window 8192, checksum 0xd8e8

    00:01:57:914953: ip4-rewrite

      tx_sw_if_index 2 dpo-idx 1 : ipv4 via 192.168.100.2
    TenGigabitEthernetc/0/0: 1402ec70ae6c1402ec70ae540800 flow hash:
    0x00000000

      00000000:
    1402ec70ae6c1402ec70ae540800450003ee660d0000020605a7c0a86403c0a8

      00000020: 640204d2162e123456781234569050102000d8e800007778797a3031

    00:01:57:914953: TenGigabitEthernetc/0/0-output

      TenGigabitEthernetc/0/0

      IP4: 14:02:ec:70:ae:54 -> 14:02:ec:70:ae:6c

      TCP: 192.168.100.3 -> 192.168.100.2

        tos 0x00, ttl 2, length 1006, checksum 0x05a7

        fragment id 0x660d

      TCP: 1234 -> 5678

        seq. 0x12345678 ack 0x12345690

        flags 0x10 ACK, tcp header: 20 bytes

        window 8192, checksum 0xd8e8

    00:01:57:914953: TenGigabitEthernetc/0/0-tx

      TenGigabitEthernetc/0/0 tx queue 2

      buffer 0x1b8af: current data 44, length 1020, free-list 0,
    clone-count 0, totlen-nifb 0, trace 0x6

                      l4-cksum-computed l4-cksum-correct
    l2-hdr-offset 0 l3-hdr-offset 14

      PKT MBUF: port 0, nb_segs 1, pkt_len 1020

        buf_len 2176, data_len 1020, ol_flags 0x180, data_off 172,
    phys_addr 0x364e2c40

        packet_type 0x11 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0

        Packet Offload Flags

          PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid

          PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid

        Packet Types

          RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet

          RTE_PTYPE_L3_IPV4 (0x0010) IPv4 packet without extension
    headers

      IP4: 14:02:ec:70:ae:54 -> 14:02:ec:70:ae:6c

      TCP: 192.168.100.3 -> 192.168.100.2

        tos 0x00, ttl 2, length 1006, checksum 0x05a7

        fragment id 0x660d

      TCP: 1234 -> 5678

        seq. 0x12345678 ack 0x12345690

        flags 0x10 ACK, tcp header: 20 bytes

        window 8192, checksum 0xd8e8

    Overall count is as below:

    vpp# show interface

                  Name Idx       State          Counter          Count

    TenGigabitEtherneta/0/0 1         up       rx packets          
       82968621

    rx bytes             89440173438

    drops                   10826164

    ip4                    155239708

    TenGigabitEthernetc/0/0 2         up       tx
    packets              72142447

    tx bytes             73585295940

    tx-error                  128640

    local0 0        down

    vpp#

    RULES:

    GW1:

    -sh-4.2# cat ipsec.commands

    set int ip address TenGigabitEthernetc/0/0 192.168.200.2/24

    set int state TenGigabitEthernetc/0/0 up

    set ip arp TenGigabitEthernetc/0/0 192.168.100.2 14:02:ec:70:ae:6c

    set int ip address TenGigabitEtherneta/0/0 192.168.1.1/24

    set int state TenGigabitEtherneta/0/0 up

    set ip arp TenGigabitEtherneta/0/0 192.168.1.2 14:02:EC:70:AE:55

    ipsec sa add 10 spi 1001 esp tunnel-src 192.168.1.1 tunnel-dst
    192.168.1.2 crypto-key 4a506a794f574265564551694d653768
    crypto-alg aes-cbc-128 integ-key
    4339314b55523947594d6d3547666b45764e6a58 integ-alg sha1-96

    ipsec sa add 20 spi 1000 esp tunnel-src 192.168.1.2 tunnel-dst
    192.168.1.1 crypto-key 4a506a794f574265564551694d653768
    crypto-alg aes-cbc-128 integ-key
    4339314b55523947594d6d3547666b45764e6a58 integ-alg sha1-96

    ipsec spd add 1

    set interface ipsec spd TenGigabitEtherneta/0/0 1

    ipsec policy add spd 1 priority 100 inbound action bypass protocol 50

    ipsec policy add spd 1 priority 100 outbound action bypass
    protocol 50

    ipsec policy add spd 1 priority 10 outbound action protect sa 10
    local-ip-range 192.168.100.2 - 192.168.100.2 remote-ip-range
    192.168.100.3 - 192.168.100.3

    ipsec policy add spd 1 priority 10 inbound action protect sa 20
    local-ip-range 192.168.100.2 - 192.168.100.2 remote-ip-range
    192.168.100.3 - 192.168.100.3

    ip route add 192.168.100.3/32 via 192.168.1.2 TenGigabitEtherneta/0/0

    ip route add 192.168.100.2/32 via TenGigabitEthernetc/0/0

    -sh-4.2#

    -sh-4.2# cat ipsec.commands

    set int ip address TenGigabitEthernet9/0/1 192.168.200.3/24

    set int state TenGigabitEthernet9/0/1 up

    set ip arp TenGigabitEthernet9/0/1 192.168.100.3 14:02:ec:70:ae:6d

    set int ip address TenGigabitEthernetb/0/1 192.168.1.2/24

    set int state TenGigabitEthernetb/0/1 up

    set ip arp TenGigabitEthernetb/0/1 192.168.1.1 14:02:EC:72:EE:DC

    ipsec sa add 10 spi 1001 esp tunnel-src 192.168.1.1 tunnel-dst
    192.168.1.2 crypto-key 4a506a794f574265564551694d653768
    crypto-alg aes-cbc-128 integ-key
    4339314b55523947594d6d3547666b45764e6a58 integ-alg sha1-96

    ipsec sa add 20 spi 1000 esp tunnel-src 192.168.1.2 tunnel-dst
    192.168.1.1 crypto-key 4a506a794f574265564551694d653768
    crypto-alg aes-cbc-128 integ-key
    4339314b55523947594d6d3547666b45764e6a58 integ-alg sha1-96

    ipsec spd add 1

    set interface ipsec spd TenGigabitEthernetb/0/1 1

    ipsec policy add spd 1 priority 100 outbound action bypass
    protocol 50

    ipsec policy add spd 1 priority 100 inbound action bypass protocol 50

    ipsec policy add spd 1 priority 10 inbound action protect sa 10
    local-ip-range 192.168.100.3 - 192.168.100.3 remote-ip-range
    192.168.100.2 - 192.168.100.2

    ipsec policy add spd 1 priority 10 outbound action protect sa 20
    local-ip-range 192.168.100.3 - 192.168.100.3 remote-ip-range
    192.168.100.2 - 192.168.100.2

    ip route add 192.168.100.2/32 via 192.168.1.1 TenGigabitEthernetb/0/1

    ip route add 192.168.100.3/32 via TenGigabitEthernet9/0/1

    -sh-4.2#

    Regards

    Shashi



    _______________________________________________
    vpp-dev mailing list
    [email protected]
    https://lists.fd.io/mailman/listinfo/vpp-dev


_______________________________________________
vpp-dev mailing list
[email protected]
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to