Suricata on ipip tunneled packets

Hi, team!

We use suricata to catch packets on mirrored traffic. Due to service design packets in one direction encapsulated in ipip tunnel

Frame 188: 984 bytes on wire (7872 bits), 984 bytes captured (7872 bits)
Ethernet II, Src: 02:00:00:05:02:01 (02:00:00:04:02:01), Dst: MellanoxTech_5d:ce:f2 (b8:ce:f6:5d:cb:f2)
802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 100
Internet Protocol Version 4, Src: 10.0.200.7, Dst: 10.1.200.77
Internet Protocol Version 4, Src: 78.87.12.214, Dst: 15.73.19.77
Transmission Control Protocol, Src Port: 56152, Dst Port: 443, Seq: 1, Ack: 1, Len: 894
Transport Layer Security

In reverse direction packets have no additional header

Frame 202: 1498 bytes on wire (11984 bits), 1498 bytes captured (11984 bits)
Ethernet II, Src: MellanoxTech_5d:ce:f2 (b8:ce:f6:5d:cb:f2), Dst: 02:00:00:05:02:01 (02:00:00:04:02:01)
802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 100
Internet Protocol Version 4, Src: 15.73.19.77, Dst: 8.87.12.214
Transmission Control Protocol, Src Port: 443, Dst Port: 4043, Seq: 1, Ack: 272, Len: 1428

So we need to strip first ip header for half packets for suricata be able to work with them.

Can you, please, help me choose the right solution for such a scenario. I red there is an opportunity to use XDP in suricata. May be another options are available.

Thnx!

Suricata version 7.0.6 RELEASE
Ubuntu 22.04.4 LTS

I believe this PR might try to address a similar case:

Currently Suricata will decode such packets just fine, but won’t match up both sides of the traffic in a flow due to the tunnel imbalance.

Victor, thnx for your response!
May be i can use eBPF filter (with or without XDP) to find and change tunneled packets (strip upper ip header) before suricata will look to them? Is this the correct approach, will it work?

You also say - suricata will decode such packets just fine. Can you please point which decoder from ~/suricata/src/ is applicable for ipip tunnel and how can i enable packet decapsulation in suricata to see events in log with internal ip header?