Hi Vijay,

Looking at your packet trace it looks to me you have bad key materials for 
decrypt and integrity:
   IP6_NONXT: 242.163.36.86 -> 70.168.225.19
      version 1, header length 8
      tos 0x34, ttl 245, length 22137, checksum 0x5156 (should be 0x972a) dscp 
unknown ecn NON_ECN
      fragment id 0x0000 offset 320
This looks like a decrypt failure.
How did you configure your SAs? Check the config with 'show ipsec all' etc.

Best
ben

> -----Original Message-----
> From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Vijay Kumar
> Sent: mardi 23 mars 2021 04:18
> To: Neale Ranns <ne...@graphiant.com>
> Cc: vpp-dev <vpp-dev@lists.fd.io>
> Subject: Re: [vpp-dev] GRE-over-IPSec fails
> 
> Hi Neale,
> 
> Could you let me know if you faced the mentioned problem anytime?
> 
> For me only IPSec works fine, Only GRE also works fine. But when I
> configure GRE-over-IPSec, the traffic is dropped at esp4-decrypt-tun due
> to integrity check failure.
> As there are two logical interfaces created at VPP (ipip0 and gre0) for
> the peer, do I need to take care of something specially? As far as I know,
> I haven't missed any config.
> 
> 
> Regards,
> Vijay Kumar N
> 
> On Mon, Mar 22, 2021 at 11:31 PM Vijay Kumar via lists.fd.io
> <http://lists.fd.io>  <vjkumar2003=gmail....@lists.fd.io
> <mailto:gmail....@lists.fd.io> > wrote:
> 
> 
>       Hi,
> 
>       I am trying a test case where-in I have an GRE P2MP (mGRE) tunnel on
> the VPP. The GRE peer is a strongswan VM that hosts both the GRE tunnel
> and IPSec SA. When I started ping traffic from SS, the traffic is dropped
> at esp4-decrypt-tun graph node due to integrity check failure.
> 
>       Has any one tested GRE-over-IPSec recently? If so can you pls share
> me a working config. If not please review the below config and let me know
> if I missed something
> 
>       NOTE: -
>       If I have run only GRE test case, traffic is fine (no IPSec
> enabled). If I have only IPSec configured but no GRE then also traffic is
> fine.
> 
>       I am facing this issue only when both GRE and IPSec are enabled at
> the same time.
> 
> 
>       Topology and config at SS and VPP
>       ==============================
>       Strongswan VM (20.20.99.215, gre peer 2.2.2.1, loopback 7.7.7.7)
> <=============>    VPP cluster (20.20.99.99, gre peer 2.2.2.2, loopback
> 8.8.8.8)
>       IPSec SA Traffic Selector (7.7.7.7/32 <http://7.7.7.7/32>  to
> 8.8.8.8/32 <http://8.8.8.8/32> )
>       ike=aes256-sha256-modp2048!
> 
>       esp=aes256-sha1-noesn!
> 
> 
> 
>       Below is the VPP trace
>       ================
>       03:20:34:670201: dpdk-input
>         VirtualFuncEthernet0/7/0 rx queue 0
>         buffer 0x4c6b91: current data 0, length 170, buffer-pool 0, ref-
> count 1, totlen-nifb 0, trace handle 0x1000000
>                          ext-hdr-valid
>                          l4-cksum-computed l4-cksum-correct
>         PKT MBUF: port 0, nb_segs 1, pkt_len 170
>           buf_len 2176, data_len 170, ol_flags 0x180, data_off 128,
> phys_addr 0xa3dae4c0
>           packet_type 0x691 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len
> 0
>           rss 0x0 fdir.hi 0x0 fdir.lo 0x0
>           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_EXT_UNKNOWN (0x0090) IPv4 packet with or
> without extension headers
>             RTE_PTYPE_L4_NONFRAG (0x0600) Non-fragmented IP packet
>         IP4: fa:16:3e:4b:6b:42 -> fa:16:3e:c2:b4:f4 802.1q vlan 1556
>         IPSEC_ESP: 20.20.99.215 -> 20.20.99.99
>           tos 0x00, ttl 64, length 152, checksum 0x5b33 dscp CS0 ecn
> NON_ECN
>           fragment id 0xef9e, flags DONT_FRAGMENT
>       03:20:34:670208: ethernet-input
>         frame: flags 0x3, hw-if-index 3, sw-if-index 3
>         IP4: fa:16:3e:4b:6b:42 -> fa:16:3e:c2:b4:f4 802.1q vlan 1556
>       03:20:34:670214: ip4-input
>         IPSEC_ESP: 20.20.99.215 -> 20.20.99.99
>           tos 0x00, ttl 64, length 152, checksum 0x5b33 dscp CS0 ecn
> NON_ECN
>           fragment id 0xef9e, flags DONT_FRAGMENT
>       03:20:34:670218: ip4-lookup
>         fib 1 dpo-idx 21 flow hash: 0x00000000
>         IPSEC_ESP: 20.20.99.215 -> 20.20.99.99
>           tos 0x00, ttl 64, length 152, checksum 0x5b33 dscp CS0 ecn
> NON_ECN
>           fragment id 0xef9e, flags DONT_FRAGMENT
>       03:20:34:670220: ip4-local
>           IPSEC_ESP: 20.20.99.215 -> 20.20.99.99
>             tos 0x00, ttl 64, length 152, checksum 0x5b33 dscp CS0 ecn
> NON_ECN
>             fragment id 0xef9e, flags DONT_FRAGMENT
>       03:20:34:670222: ipsec4-tun-input
>         IPSec: remote:20.20.99.215 spi:305419897 (0x12345679) seq 40 sa 1
>       03:20:34:670225: esp4-decrypt-tun
>         esp: crypto aes-cbc-256 integrity sha1-96 pkt-seq 40 sa-seq 0 sa-
> seq-hi 0
>       03:20:34:670241: ip4-drop
>           IP6_NONXT: 242.163.36.86 -> 70.168.225.19
>             version 1, header length 8
>             tos 0x34, ttl 245, length 22137, checksum 0x5156 (should be
> 0x972a) dscp unknown ecn NON_ECN
>             fragment id 0x0000 offset 320
>       03:20:34:670243: error-drop
>         rx:ipip0
>       03:20:34:670244: drop
>         esp4-decrypt-tun: Integrity check failed
> 
> 
> 
>       vpp# show node counters
>          Count                    Node                  Reason
>               25            esp4-encrypt-tun            ESP pkts received
>              213               memif-input              not ip packet
>                3               dpdk-input               no error
>              136                arp-reply               ARP replies sent
>                3                arp-reply               IP4 source address
> not local to subnet
>                1               gre4-input               no error
>              213             ip4-udp-lookup             No error
>               42            esp4-decrypt-tun            ESP pkts received
>               42            esp4-decrypt-tun            Integrity check
> failed
>               25            esp4-encrypt-tun            ESP pkts received
>               42            ipsec4-tun-input            good packets
> received
>               11                ip4-local               ip4 source lookup
> miss
>                3                ip4-local               unknown ip
> protocol
>                3             ethernet-input             unknown vlan
>       vpp#
> 
> 
> 
> 
> 
> 
> 

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#18998): https://lists.fd.io/g/vpp-dev/message/18998
Mute This Topic: https://lists.fd.io/mt/81531694/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to