Pass goid offset to an eBPF map to retrieve it in eBPF context

This commit is contained in:
M. Mert Yildiran
2022-06-28 13:45:48 +03:00
parent 8a91c913b5
commit 5fbd2bbe06
3 changed files with 10 additions and 0 deletions
+1
View File
@@ -91,6 +91,7 @@ BPF_LRU_HASH(openssl_write_context, __u64, struct ssl_info);
BPF_LRU_HASH(openssl_read_context, __u64, struct ssl_info);
// Go specific
BPF_HASH(goid_offset, __u32, __u32);
BPF_LRU_HASH(go_write_context, __u64, struct ssl_info);
BPF_LRU_HASH(go_read_context, __u64, struct ssl_info);
+6
View File
@@ -87,6 +87,12 @@ func (s *goHooks) installHooks(bpfObjects *tlsTapperObjects, ex *link.Executable
s.goReadExProbes = append(s.goReadExProbes, probe)
}
// Pass goid offset to an eBPF map to retrieve it in eBPF context
goidOffsetMap := bpfObjects.tlsTapperMaps.GoidOffset
if err := goidOffsetMap.Put(0, offsets.GoidOffset); err != nil {
return errors.Wrap(err, 0)
}
return nil
}
+3
View File
@@ -100,6 +100,7 @@ type tlsTapperMapSpecs struct {
FileDescriptorToIpv4 *ebpf.MapSpec `ebpf:"file_descriptor_to_ipv4"`
GoReadContext *ebpf.MapSpec `ebpf:"go_read_context"`
GoWriteContext *ebpf.MapSpec `ebpf:"go_write_context"`
GoidOffset *ebpf.MapSpec `ebpf:"goid_offset"`
Heap *ebpf.MapSpec `ebpf:"heap"`
LogBuffer *ebpf.MapSpec `ebpf:"log_buffer"`
OpensslReadContext *ebpf.MapSpec `ebpf:"openssl_read_context"`
@@ -132,6 +133,7 @@ type tlsTapperMaps struct {
FileDescriptorToIpv4 *ebpf.Map `ebpf:"file_descriptor_to_ipv4"`
GoReadContext *ebpf.Map `ebpf:"go_read_context"`
GoWriteContext *ebpf.Map `ebpf:"go_write_context"`
GoidOffset *ebpf.Map `ebpf:"goid_offset"`
Heap *ebpf.Map `ebpf:"heap"`
LogBuffer *ebpf.Map `ebpf:"log_buffer"`
OpensslReadContext *ebpf.Map `ebpf:"openssl_read_context"`
@@ -147,6 +149,7 @@ func (m *tlsTapperMaps) Close() error {
m.FileDescriptorToIpv4,
m.GoReadContext,
m.GoWriteContext,
m.GoidOffset,
m.Heap,
m.LogBuffer,
m.OpensslReadContext,