From ed2706cfe2c8a0368210984ec8c3b6d7f8f0d703 Mon Sep 17 00:00:00 2001
From: Simone Rodigari <srodigari@microsoft.com>
Date: Tue, 10 Dec 2024 15:41:00 +0000
Subject: [PATCH] feat(ct-metrics): remove traffic_direction from
 conntrackmetadata

---
 pkg/plugin/conntrack/_cprog/conntrack.c          |   9 ---------
 pkg/plugin/conntrack/conntrack_bpfel_x86.go      |   2 --
 .../packetforward/packetforward_bpfel_x86.o      | Bin 4504 -> 0 bytes
 .../packetparser/packetparser_bpfel_x86.go       |   4 ----
 4 files changed, 15 deletions(-)

diff --git a/pkg/plugin/conntrack/_cprog/conntrack.c b/pkg/plugin/conntrack/_cprog/conntrack.c
index 7e24d2fa3a..5c4f3b15db 100644
--- a/pkg/plugin/conntrack/_cprog/conntrack.c
+++ b/pkg/plugin/conntrack/_cprog/conntrack.c
@@ -29,11 +29,6 @@ struct conntrackmetadata {
     */
     __u64 packets_forward_count;
     __u64 packets_reply_count;
-    /*
-        This is the inital direction of the connection.
-        It is set to egress if the connection is initiated from the host and ingress otherwise.
-    */
-    __u8 traffic_direction;
 };
 
 struct packet
@@ -153,10 +148,6 @@ static __always_inline bool _ct_create_new_tcp_connection(struct packet *p, stru
     #if CONNTRACK_METRICS == 1
         new_value.conntrack_metadata.packets_forward_count = 1;
         new_value.conntrack_metadata.bytes_forward_count = p->bytes;
-        // The initial SYN is captured. Set the traffic direction of the connection.
-        // This is important for the case where the SYN packet is not captured
-        // and the connection is created with unknown direction.
-        new_value.conntrack_metadata.traffic_direction = new_value.traffic_direction;
         // Update initial conntrack metadata for the connection.
         __builtin_memcpy(&p->conntrack_metadata, &new_value.conntrack_metadata, sizeof(struct conntrackmetadata));
     #endif
diff --git a/pkg/plugin/conntrack/conntrack_bpfel_x86.go b/pkg/plugin/conntrack/conntrack_bpfel_x86.go
index a3a3a07951..964ea4179e 100644
--- a/pkg/plugin/conntrack/conntrack_bpfel_x86.go
+++ b/pkg/plugin/conntrack/conntrack_bpfel_x86.go
@@ -25,8 +25,6 @@ type conntrackCtEntry struct {
 		BytesReplyCount     uint64
 		PacketsForwardCount uint64
 		PacketsReplyCount   uint64
-		TrafficDirection    uint8
-		_                   [7]byte
 	}
 }
 
diff --git a/pkg/plugin/packetforward/packetforward_bpfel_x86.o b/pkg/plugin/packetforward/packetforward_bpfel_x86.o
index 5f175500269f66b9fa5956441e65ccf97025395a..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
GIT binary patch
literal 0
HcmV?d00001

literal 4504
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
EKhp6_`2YX_

diff --git a/pkg/plugin/packetparser/packetparser_bpfel_x86.go b/pkg/plugin/packetparser/packetparser_bpfel_x86.go
index 440a4ccc59..8843327040 100644
--- a/pkg/plugin/packetparser/packetparser_bpfel_x86.go
+++ b/pkg/plugin/packetparser/packetparser_bpfel_x86.go
@@ -25,8 +25,6 @@ type packetparserCtEntry struct {
 		BytesReplyCount     uint64
 		PacketsForwardCount uint64
 		PacketsReplyCount   uint64
-		TrafficDirection    uint8
-		_                   [7]byte
 	}
 }
 
@@ -68,8 +66,6 @@ type packetparserPacket struct {
 		BytesReplyCount     uint64
 		PacketsForwardCount uint64
 		PacketsReplyCount   uint64
-		TrafficDirection    uint8
-		_                   [7]byte
 	}
 }