Hi, Neale/vpp experts, Can you help check why the receiving side drops all the incoming pkts because of unknown ip protocol?
I looked at TestIpsecGreTebIfEsp, but had no clue how it is mapped to cli commands. I am new to vpp. Thanks. Chuan On Fri, Oct 4, 2019 at 11:41 AM Chuan Han via Lists.Fd.Io <chuanhan= google....@lists.fd.io> wrote: > Thanks for helping. > > I removed spd configs on both sides, but still no luck. I am pinging from > r230 side. > > It seems r230 is able to sending ping pkts over dpdk interface. However, > on r740 side, gre0 interface drops all of them. See the attached updated > cfg files and log files for more details. > > IPSec: remote:10.10.10.11 spi:255129 (0x0003e499) seq 418 > 00:06:52:367944: esp4-decrypt-tun > esp: crypto aes-cbc-128 integrity sha1-96 pkt-seq 418 sa-seq 0 sa-seq-hi > 0 > 00:06:52:367948: ip4-input-no-checksum > GRE: 10.10.10.11 -> 10.10.10.10 > tos 0x00, ttl 254, length 66, checksum 0x9464 > fragment id 0x0000 > GRE teb > 00:06:52:367948: ip4-not-enabled > GRE: 10.10.10.11 -> 10.10.10.10 > tos 0x00, ttl 254, length 66, checksum 0x9464 > fragment id 0x0000 > GRE teb > 00:06:52:367948: error-drop > rx:gre0 > 00:06:52:367949: drop > ip4-input: unknown ip protocol > > > On Fri, Oct 4, 2019 at 8:39 AM Neale Ranns (nranns) <nra...@cisco.com> > wrote: > >> >> >> Hi Chuan, >> >> >> >> Please remove the SPD config. For tunnels all packets that ingress/egress >> the tunnel are decrypted/encrypted, so no policy is required. The presence >> of the SPD on the ingress eth0 link could be why it’s not working. >> >> Please provide packet traces when you are reporting packet loss problems, >> it helps us debug. >> >> >> >> For reference the setup for GRE TEB IPSec can be found in the python UT >> TestIpsecGreTebIfEsp. >> >> >> >> Regards, >> >> neale >> >> >> >> >> >> *From: *<vpp-dev@lists.fd.io> on behalf of "Chuan Han via Lists.Fd.Io" >> <chuanhan=google....@lists.fd.io> >> *Reply to: *"chuan...@google.com" <chuan...@google.com> >> *Date: *Friday 4 October 2019 at 02:15 >> *To: *"John Lo (loj)" <l...@cisco.com> >> *Cc: *"vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io> >> *Subject: *Re: [vpp-dev] How to configure l2 gre over ipsec in vpp 19.08 >> >> >> >> Hi, >> >> >> >> Thanks for information. >> >> >> >> I am trying to configure l2 gre over ipsec transport mode. >> >> >> >> Here are my startup.cfg files. Can you help check if my configuration is >> correct or not? >> >> >> >> r230 and r740 are two servers which are directly connected. >> >> >> >> eth0 is the phy nic. host-veth1 is one endpoint of veth pair. the other >> end is connected to a network namespace with ip address 172.16.1.2. >> >> >> >> From the network namespace, I cannot ping the other end 172.16.1.1. >> >> >> >> On r230, I can see unknown ip protocol errors. >> >> vpp# sh errors >> Count Node Reason >> 5 null-node blackholed packets >> 5 ipsec4-output-feature IPSec policy (no match) >> 1 esp4-decrypt-tun ESP pkts received >> 1 ipsec4-tun-input good packets received >> 1 ipsec4-input-feature IPSEC pkts received >> 1 ip4-input unknown ip protocol >> 592 gre-encap GRE output packets >> encapsulated >> 592 ipsec4-output-feature IPSec policy bypass >> 592 esp4-encrypt-tun ESP pkts received >> 592 l2-output L2 output packets >> 592 l2-learn L2 learn packets >> 1 l2-learn L2 learn misses >> 592 l2-input L2 input packets >> 592 l2-flood L2 flood packets >> vpp# sh int >> Name Idx State MTU (L3/IP4/IP6/MPLS) >> Counter Count >> eth0 1 up 9000/0/0/0 rx >> packets 1 >> rx >> bytes 166 >> tx >> packets 592 >> tx >> bytes 88816 >> drops >> 5 >> ip4 >> 1 >> >> rx-error 1 >> gre0 3 up 9000/0/0/0 drops >> 1 >> ip4 >> 1 >> host-veth1 2 up 9000/0/0/0 rx >> packets 592 >> rx >> bytes 24892 >> local0 0 down 0/0/0/0 >> vpp# sh errors >> Count Node Reason >> 5 null-node blackholed packets >> 5 ipsec4-output-feature IPSec policy (no match) >> 1 esp4-decrypt-tun ESP pkts received >> 1 ipsec4-tun-input good packets received >> 1 ipsec4-input-feature IPSEC pkts received >> 1 ip4-input unknown ip protocol >> 592 gre-encap GRE output packets >> encapsulated >> 592 ipsec4-output-feature IPSec policy bypass >> 592 esp4-encrypt-tun ESP pkts received >> 592 l2-output L2 output packets >> 592 l2-learn L2 learn packets >> 1 l2-learn L2 learn misses >> 592 l2-input L2 input packets >> 592 l2-flood L2 flood packets >> vpp# >> >> >> >> On r740, I see the same errors: >> >> >> >> vpp# sh int >> Name Idx State MTU (L3/IP4/IP6/MPLS) >> Counter Count >> eth0 1 up 9000/0/0/0 rx >> packets 592 >> rx >> bytes 88816 >> tx >> packets 1 >> tx >> bytes 166 >> ip4 >> 592 >> gre0 3 up 9000/0/0/0 drops >> 592 >> ip4 >> 592 >> host-veth1 2 up 9000/0/0/0 rx >> packets 1 >> rx >> bytes 70 >> local0 0 down 0/0/0/0 >> vpp# sh errors >> Count Node Reason >> 592 esp4-decrypt-tun ESP pkts received >> 592 ipsec4-tun-input good packets received >> 592 ipsec4-input-feature IPSEC pkts received >> 592 ip4-input unknown ip protocol >> 1 gre-encap GRE output packets >> encapsulated >> 1 ipsec4-output-feature IPSec policy bypass >> 1 esp4-encrypt-tun ESP pkts received >> 1 l2-output L2 output packets >> 1 l2-learn L2 learn packets >> 1 l2-learn L2 learn misses >> 1 l2-input L2 input packets >> 1 l2-flood L2 flood packets >> vpp# >> >> >> >> On Wed, Oct 2, 2019 at 9:13 AM John Lo (loj) <l...@cisco.com> wrote: >> >> To create GRE tunnel in L2 mode, you can add “teb” keyword in the create >> CLI which makes the GRE tunnel work in transparent ethernet bridging mode: >> >> >> >> vpp# create gre ? >> >> create gre tunnel create gre tunnel src <addr> >> dst <addr> [instance <n>] [outer-fib-id <fib>] [*teb* | erspan >> <session-id>] [del] >> >> >> >> In theory, a GRE tunnel can be configured with IPSec, as described by >> Neale, irrespective of it being in teb mode or not. Neale, please correct >> me if it is not the case. >> >> >> >> Regards, >> >> John >> >> >> >> *From:* vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> *On Behalf Of *Chuan >> Han via Lists.Fd.Io >> *Sent:* Wednesday, October 02, 2019 11:32 AM >> *To:* Neale Ranns (nranns) <nra...@cisco.com> >> *Cc:* vpp-dev@lists.fd.io >> *Subject:* Re: [vpp-dev] How to configure l2 gre over ipsec in vpp 19.08 >> >> >> >> Gre is l3 in this case. Right? This limits the possible use cases. >> >> >> >> Is there any plan to support l2 gre over ipsec transport mode? It seems >> vpp 17 support s this feature. Not sure why it is dropped in 19. >> >> >> >> On Wed, Oct 2, 2019, 12:18 AM Neale Ranns (nranns) <nra...@cisco.com> >> wrote: >> >> >> Hi Chuan, >> >> IPSec and GRE is supported using the tunnel protection mechanism : >> https://wiki.fd.io/view/VPP/IPSec >> >> GRE over IPSec is only support when the SA is in tunnel mode. This means >> there is a double encap of the IP header ; once by the SA (in tunnel mode) >> and once by the tunnel itself. (Which has always been the case in VPP). >> >> Example config follows : >> >> DBGvpp# ipsec sa add 20 spi 200 crypto-key >> 6541686776336961656264656f6f6579 crypto-alg aes-cbc-128 tunnel-src >> 10.10.10.10 tunnel-dst 10.10.10.11 >> DBGvpp# ipsec sa add 30 spi 300 crypto-key >> 6541686776336961656264656f6f6579 crypto-alg aes-cbc-128 tunnel-src >> 10.10.10.11 tunnel-dst 10.10.10.10 >> DBGvpp# create gre tunnel src 10.10.10.10 dst 10.10.10.11 >> gre0 >> DBGvpp# ipsec tunnel protect gre0 sa-in 20 sa-out 30 >> DBGvpp# sh ipsec protect >> gre0 >> output-sa: >> [1] sa 30 (0x1e) spi 300 (0x0000012c) protocol:esp flags:[tunnel ] >> input-sa: >> [0] sa 20 (0x14) spi 200 (0x000000c8) protocol:esp flags:[tunnel >> Protect ] >> >> Regards, >> neale >> >> >> From: <vpp-dev@lists.fd.io> on behalf of "Chuan Han via Lists.Fd.Io" >> <chuanhan=google....@lists.fd.io> >> Reply to: "chuan...@google.com" <chuan...@google.com> >> Date: Wednesday 2 October 2019 at 02:08 >> To: "vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io> >> Cc: "vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io> >> Subject: [vpp-dev] How to configure l2 gre over ipsec in vpp 19.08 >> >> Hi, vpp experts, >> >> I am trying to configure l2 gre over ipsec. I followed the steps here: >> https://docs.fd.io/vpp/16.12/ipsec_gre_doc.html >> >> I hit the following error: >> create ipsec: unknown input `gre tunnel src 10.10.10.10 dst...' >> >> My vpp version is v19.08.1-release >> >> It seems on this version the "create ipsec gre tunnel" command does not >> work. If so, is there any other way of configuring l2 gre over ipsec in >> 19.08? >> >> Please advise. >> >> Thanks. >> Chuan >> >> -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > > View/Reply Online (#14123): https://lists.fd.io/g/vpp-dev/message/14123 > Mute This Topic: https://lists.fd.io/mt/34364734/1991531 > Group Owner: vpp-dev+ow...@lists.fd.io > Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [chuan...@google.com] > -=-=-=-=-=-=-=-=-=-=-=- >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14150): https://lists.fd.io/g/vpp-dev/message/14150 Mute This Topic: https://lists.fd.io/mt/34364734/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-