Hi Sergio,

Here is the sending side trace:

Packet 1

10:54:40:291456: dpdk-input
  VirtualFunctionEthernet0/6/0 rx queue 0
  buffer 0x6e4f: current data 14, length 84, free-list 0, clone-count 0, 
totlen-nifb 0, trace 0x0
                 l4-cksum-computed l4-cksum-correct l2-hdr-offset 0 
l3-hdr-offset 14 
  PKT MBUF: port 0, nb_segs 1, pkt_len 98
    buf_len 2176, data_len 98, ol_flags 0x0, data_off 128, phys_addr 0x2c5b9440
    packet_type 0x0 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
    Packet Offload Flags
  IP4: 0e:c6:15:62:1f:9e -> 0e:7e:f2:5d:0d:b6
  ICMP: 10.1.3.235 -> 10.0.1.253
    tos 0x00, ttl 64, length 84, checksum 0x78df
    fragment id 0xa7e1, flags DONT_FRAGMENT
  ICMP echo_request checksum 0x5047
10:54:40:291473: ip4-input
  ICMP: 10.1.3.235 -> 10.0.1.253
    tos 0x00, ttl 64, length 84, checksum 0x78df
    fragment id 0xa7e1, flags DONT_FRAGMENT
  ICMP echo_request checksum 0x5047
10:54:40:291485: ip4-lookup
  fib 0 dpo-idx 2 flow hash: 0x00000000
  ICMP: 10.1.3.235 -> 10.0.1.253
    tos 0x00, ttl 64, length 84, checksum 0x78df
    fragment id 0xa7e1, flags DONT_FRAGMENT
  ICMP echo_request checksum 0x5047
10:54:40:291491: ip4-rewrite
  tx_sw_if_index 3 dpo-idx 2 : ipv4 via 0.0.0.0 ipsec0:  flow hash: 0x00000000
  00000000: 45000054a7e140003f0179df0a0103eb0a0001fd08005047549c00013de0335a
  00000020: 00000000210e020000000000101112131415161718191a1b1c1d1e1f
10:54:40:291495: ipsec-if-output
  IPSec: spi 3181023528 seq 28
10:54:40:291500: dpdk-esp-encrypt
  cipher aes-cbc-128 auth sha1-96
  IPSEC_ESP: 10.1.2.79 -> 10.0.0.213
    tos 0x00, ttl 254, length 152, checksum 0xc0d3
    fragment id 0x0000
  ESP: spi 3181023528, seq 29
10:54:40:291514: dpdk-crypto-input
  status: success

Packet 2

10:54:45:312374: dpdk-input
  VirtualFunctionEthernet0/6/0 rx queue 0
  buffer 0x6e76: current data 14, length 112, free-list 0, clone-count 0, 
totlen-nifb 0, trace 0x1
                 l4-cksum-computed l4-cksum-correct l2-hdr-offset 0 
l3-hdr-offset 14 
  PKT MBUF: port 0, nb_segs 1, pkt_len 126
    buf_len 2176, data_len 126, ol_flags 0x0, data_off 128, phys_addr 0x2c5b9e00
    packet_type 0x0 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
    Packet Offload Flags
      PKT_TX_TCP_CKSUM (0x0000) TCP cksum of TX pkt. computed by NIC
      PKT_TX_SCTP_CKSUM (0x0000) SCTP cksum of TX pkt. computed by NIC
  IP4: 0e:c6:15:62:1f:9e -> 0e:7e:f2:5d:0d:b6
  UDP: 10.1.3.235 -> 10.0.1.253
    tos 0x00, ttl 64, length 112, checksum 0x417c
    fragment id 0x1f19
  UDP: 55980 -> 53
    length 92, checksum 0x6c45
10:54:45:312393: ip4-input
  UDP: 10.1.3.235 -> 10.0.1.253
    tos 0x00, ttl 64, length 112, checksum 0x417c
    fragment id 0x1f19
  UDP: 55980 -> 53
    length 92, checksum 0x6c45
10:54:45:312400: ip4-lookup
  fib 0 dpo-idx 2 flow hash: 0x00000000
  UDP: 10.1.3.235 -> 10.0.1.253
    tos 0x00, ttl 64, length 112, checksum 0x417c
    fragment id 0x1f19
  UDP: 55980 -> 53
    length 92, checksum 0x6c45
10:54:45:312406: ip4-rewrite
  tx_sw_if_index 3 dpo-idx 2 : ipv4 via 0.0.0.0 ipsec0:  flow hash: 0x00000000
  00000000: 450000701f1900003f11427c0a0103eb0a0001fddaac0035005c6c45c0210120
  00000020: 0001000000000001337361666b6a687361666b6a6873666b6a686173
10:54:45:312409: ipsec-if-output
  IPSec: spi 3181023528 seq 29
10:54:45:312414: dpdk-esp-encrypt
  cipher aes-cbc-128 auth sha1-96
  IPSEC_ESP: 10.1.2.79 -> 10.0.0.213
    tos 0x00, ttl 254, length 184, checksum 0xc0b3
    fragment id 0x0000
  ESP: spi 3181023528, seq 30
10:54:45:312425: dpdk-crypto-input
  status: success


And the receiving side:

Packet 1

10:54:17:240273: dpdk-input
  VirtualFunctionEthernet0/7/0 rx queue 0
  buffer 0x2925: current data 14, length 152, free-list 0, clone-count 0, 
totlen-nifb 0, trace 0x0
                 l4-cksum-computed l4-cksum-correct l2-hdr-offset 0 
l3-hdr-offset 14 
  PKT MBUF: port 1, nb_segs 1, pkt_len 166
    buf_len 2176, data_len 166, ol_flags 0x0, data_off 128, phys_addr 0x2c4a49c0
    packet_type 0x0 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
    Packet Offload Flags
  IP4: 1a:85:68:80:00:01 -> 0e:d2:b9:22:74:fe
  IPSEC_ESP: 10.1.2.79 -> 10.0.0.213
    tos 0x00, ttl 252, length 152, checksum 0x2ed9
    fragment id 0x0000
10:54:17:240290: ip4-input
  IPSEC_ESP: 10.1.2.79 -> 10.0.0.213
    tos 0x00, ttl 252, length 152, checksum 0x2ed9
    fragment id 0x0000
10:54:17:240295: ip4-lookup
  fib 0 dpo-idx 7 flow hash: 0x00000000
  IPSEC_ESP: 10.1.2.79 -> 10.0.0.213
    tos 0x00, ttl 252, length 152, checksum 0x2ed9
    fragment id 0x0000
10:54:17:240301: ip4-local
    IPSEC_ESP: 10.1.2.79 -> 10.0.0.213
      tos 0x00, ttl 252, length 152, checksum 0x2ed9
      fragment id 0x0000
10:54:17:240304: ipsec-if-input
  IPSec: spi 3181023528 seq 29
10:54:17:240311: dpdk-esp-decrypt
  cipher aes-cbc-128 auth sha1-96
  ESP: spi 3181023528, seq 29
10:54:17:240323: dpdk-crypto-input
  status: success
10:54:17:240335: dpdk-esp-decrypt-post
  cipher aes-cbc-128 auth sha1-96
  ICMP: 10.1.3.235 -> 10.0.1.253
    tos 0x00, ttl 63, length 84, checksum 0x79df
    fragment id 0xa7e1, flags DONT_FRAGMENT
  ICMP echo_request checksum 0x5047
10:54:17:240338: ip4-input-no-checksum
  ICMP: 10.1.3.235 -> 10.0.1.253
    tos 0x00, ttl 63, length 84, checksum 0x79df
    fragment id 0xa7e1, flags DONT_FRAGMENT
  ICMP echo_request checksum 0x5047
10:54:17:240339: ip4-lookup
  fib 0 dpo-idx 4 flow hash: 0x00000000
  ICMP: 10.1.3.235 -> 10.0.1.253
    tos 0x00, ttl 63, length 84, checksum 0x79df
    fragment id 0xa7e1, flags DONT_FRAGMENT
  ICMP echo_request checksum 0x5047
10:54:17:240341: ip4-rewrite
  tx_sw_if_index 1 dpo-idx 4 : ipv4 via 10.0.1.253 
VirtualFunctionEthernet0/6/0: 0efe85797fa60e0481cb96080800 flow hash: 0x00000000
  00000000: 0efe85797fa60e0481cb9608080045000054a7e140003e017adf0a0103eb0a00
  00000020: 01fd08005047549c00013de0335a00000000210e0200000000001011
10:54:17:240344: VirtualFunctionEthernet0/6/0-output
  VirtualFunctionEthernet0/6/0
  IP4: 0e:04:81:cb:96:08 -> 0e:fe:85:79:7f:a6
  ICMP: 10.1.3.235 -> 10.0.1.253
    tos 0x00, ttl 62, length 84, checksum 0x7adf
    fragment id 0xa7e1, flags DONT_FRAGMENT
  ICMP echo_request checksum 0x5047
10:54:17:240353: VirtualFunctionEthernet0/6/0-tx
  VirtualFunctionEthernet0/6/0 tx queue 0
  buffer 0x2925: current data 44, length 98, free-list 0, clone-count 0, totlen-
nifb 0, trace 0x0
                 l4-cksum-computed l4-cksum-correct l2-hdr-offset 0 
l3-hdr-offset 14 
  PKT MBUF: port 1, nb_segs 1, pkt_len 98
    buf_len 2176, data_len 98, ol_flags 0x0, data_off 172, phys_addr 0x2c4a49c0
    packet_type 0x0 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
    Packet Offload Flags
  IP4: 0e:04:81:cb:96:08 -> 0e:fe:85:79:7f:a6
  ICMP: 10.1.3.235 -> 10.0.1.253
    tos 0x00, ttl 62, length 84, checksum 0x7adf
    fragment id 0xa7e1, flags DONT_FRAGMENT
  ICMP echo_request checksum 0x5047

Packet 2

10:54:22:261159: dpdk-input
  VirtualFunctionEthernet0/7/0 rx queue 0
  buffer 0xd8d4: current data 14, length 184, free-list 0, clone-count 0, 
totlen-nifb 0, trace 0x1
                 l4-cksum-computed l4-cksum-correct l2-hdr-offset 0 
l3-hdr-offset 14 
  PKT MBUF: port 1, nb_segs 1, pkt_len 198
    buf_len 2176, data_len 198, ol_flags 0x0, data_off 128, phys_addr 0x24763580
    packet_type 0x0 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
    Packet Offload Flags
  IP4: 1a:85:68:80:00:01 -> 0e:d2:b9:22:74:fe
  IPSEC_ESP: 10.1.2.79 -> 10.0.0.213
    tos 0x00, ttl 252, length 184, checksum 0x2eb9
    fragment id 0x0000
10:54:22:261177: ip4-input
  IPSEC_ESP: 10.1.2.79 -> 10.0.0.213
    tos 0x00, ttl 252, length 184, checksum 0x2eb9
    fragment id 0x0000
10:54:22:261183: ip4-lookup
  fib 0 dpo-idx 7 flow hash: 0x00000000
  IPSEC_ESP: 10.1.2.79 -> 10.0.0.213
    tos 0x00, ttl 252, length 184, checksum 0x2eb9
    fragment id 0x0000
10:54:22:261188: ip4-local
    IPSEC_ESP: 10.1.2.79 -> 10.0.0.213
      tos 0x00, ttl 252, length 184, checksum 0x2eb9
      fragment id 0x0000
10:54:22:261192: ipsec-if-input
  IPSec: spi 3181023528 seq 44738
10:54:22:261198: dpdk-esp-decrypt
  cipher aes-cbc-128 auth sha1-96
  ESP: spi 3181023528, seq 44738
10:54:22:261205: dpdk-crypto-input
  status: auth failed


-Matt


> On Dec 15, 2017, at 4:46 AM, Gonzalez Monroy, Sergio 
> <sergio.gonzalez.mon...@intel.com> wrote:
> 
> Hi,
> 
> Could you show a full verbose trace of both packets from both endpoints?
> 
> Thanks,
> Sergio
> 
> On 14/12/2017 21:26, Matthew Smith wrote:
>> Hi,
>> 
>> I’m experimenting with IPsec using the AES-NI MB cryptodev and seeing some 
>> weird behavior.
>> 
>> I have a tunnel up. Both ends of the tunnel are VPP instances, both 
>> configured to use the AES-NI MB cryptodev. The SAs are established with 
>> AES-CBC-128 and SHA1.
>> 
>> I can ping from a host on one side of the tunnel to a host on the other 
>> side. The packets successfully make it across the tunnel, as do the replies. 
>> When I try to send TCP or UDP packets in either direction, the VPP instance 
>> on the receiving side fails to decrypt the packet. The trace shows that the 
>> auth failed. Of note in the packet traces, when TCP or UDP packets arrive at 
>> the receiving side, the sequence numbers printed in the trace are wrong - 
>> i.e. they are not what the sending side lists as the current sequence number.
>> 
>> If I ping, then try to send a DNS request, then ping again, I see the 
>> following:
>> 
>> successful ping:
>> 
>> 02:21:37:455916: dpdk-esp-decrypt
>>   cipher aes-cbc-128 auth sha1-96
>>   ESP: spi 1333702992, seq 42
>> 02:21:37:455921: dpdk-crypto-input
>>   status: success
>> 
>> not successful DNS packet:
>> 
>> 02:21:40:710125: dpdk-esp-decrypt
>>   cipher aes-cbc-128 auth sha1-96
>>   ESP: spi 1333702992, seq 4641
>> 02:21:40:710129: dpdk-crypto-input
>>   status: auth failed
>> 
>> successful ping:
>> 
>> 02:21:43:857313: dpdk-esp-decrypt
>>   cipher aes-cbc-128 auth sha1-96
>>   ESP: spi 1333702992, seq 44
>> 02:21:43:857318: dpdk-crypto-input
>>   status: success
>> 
>> Before I spend several hours figuring out what’s going on, I thought I’d 
>> check whether anyone else has seen this issue before or has any theories on 
>> what might be causing it.
>> 
>> Thanks!
>> -Matt
>> 
>> _______________________________________________
>> vpp-dev mailing list
>> vpp-dev@lists.fd.io
>> https://lists.fd.io/mailman/listinfo/vpp-dev
> 

_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to