inspektor-gadget

Форк
0
/
socketenricher_bpfel_x86.go 
168 строк · 4.6 Кб
1
// Code generated by bpf2go; DO NOT EDIT.
2
//go:build 386 || amd64
3

4
package socketenricher
5

6
import (
7
	"bytes"
8
	_ "embed"
9
	"fmt"
10
	"io"
11

12
	"github.com/cilium/ebpf"
13
)
14

15
type socketenricherSocketsKey struct {
16
	Netns  uint32
17
	Family uint16
18
	Proto  uint16
19
	Port   uint16
20
	_      [2]byte
21
}
22

23
type socketenricherSocketsValue struct {
24
	Mntns             uint64
25
	PidTgid           uint64
26
	UidGid            uint64
27
	Task              [16]int8
28
	Sock              uint64
29
	DeletionTimestamp uint64
30
	Ipv6only          int8
31
	_                 [7]byte
32
}
33

34
// loadSocketenricher returns the embedded CollectionSpec for socketenricher.
35
func loadSocketenricher() (*ebpf.CollectionSpec, error) {
36
	reader := bytes.NewReader(_SocketenricherBytes)
37
	spec, err := ebpf.LoadCollectionSpecFromReader(reader)
38
	if err != nil {
39
		return nil, fmt.Errorf("can't load socketenricher: %w", err)
40
	}
41

42
	return spec, err
43
}
44

45
// loadSocketenricherObjects loads socketenricher and converts it into a struct.
46
//
47
// The following types are suitable as obj argument:
48
//
49
//	*socketenricherObjects
50
//	*socketenricherPrograms
51
//	*socketenricherMaps
52
//
53
// See ebpf.CollectionSpec.LoadAndAssign documentation for details.
54
func loadSocketenricherObjects(obj interface{}, opts *ebpf.CollectionOptions) error {
55
	spec, err := loadSocketenricher()
56
	if err != nil {
57
		return err
58
	}
59

60
	return spec.LoadAndAssign(obj, opts)
61
}
62

63
// socketenricherSpecs contains maps and programs before they are loaded into the kernel.
64
//
65
// It can be passed ebpf.CollectionSpec.Assign.
66
type socketenricherSpecs struct {
67
	socketenricherProgramSpecs
68
	socketenricherMapSpecs
69
}
70

71
// socketenricherSpecs contains programs before they are loaded into the kernel.
72
//
73
// It can be passed ebpf.CollectionSpec.Assign.
74
type socketenricherProgramSpecs struct {
75
	IgBindIpv4E   *ebpf.ProgramSpec `ebpf:"ig_bind_ipv4_e"`
76
	IgBindIpv4X   *ebpf.ProgramSpec `ebpf:"ig_bind_ipv4_x"`
77
	IgBindIpv6E   *ebpf.ProgramSpec `ebpf:"ig_bind_ipv6_e"`
78
	IgBindIpv6X   *ebpf.ProgramSpec `ebpf:"ig_bind_ipv6_x"`
79
	IgFreeIpv4E   *ebpf.ProgramSpec `ebpf:"ig_free_ipv4_e"`
80
	IgFreeIpv6E   *ebpf.ProgramSpec `ebpf:"ig_free_ipv6_e"`
81
	IgTcpCoE      *ebpf.ProgramSpec `ebpf:"ig_tcp_co_e"`
82
	IgTcpCoX      *ebpf.ProgramSpec `ebpf:"ig_tcp_co_x"`
83
	IgUdp6Sendmsg *ebpf.ProgramSpec `ebpf:"ig_udp6_sendmsg"`
84
	IgUdpSendmsg  *ebpf.ProgramSpec `ebpf:"ig_udp_sendmsg"`
85
}
86

87
// socketenricherMapSpecs contains maps before they are loaded into the kernel.
88
//
89
// It can be passed ebpf.CollectionSpec.Assign.
90
type socketenricherMapSpecs struct {
91
	GadgetSockets *ebpf.MapSpec `ebpf:"gadget_sockets"`
92
	Start         *ebpf.MapSpec `ebpf:"start"`
93
}
94

95
// socketenricherObjects contains all objects after they have been loaded into the kernel.
96
//
97
// It can be passed to loadSocketenricherObjects or ebpf.CollectionSpec.LoadAndAssign.
98
type socketenricherObjects struct {
99
	socketenricherPrograms
100
	socketenricherMaps
101
}
102

103
func (o *socketenricherObjects) Close() error {
104
	return _SocketenricherClose(
105
		&o.socketenricherPrograms,
106
		&o.socketenricherMaps,
107
	)
108
}
109

110
// socketenricherMaps contains all maps after they have been loaded into the kernel.
111
//
112
// It can be passed to loadSocketenricherObjects or ebpf.CollectionSpec.LoadAndAssign.
113
type socketenricherMaps struct {
114
	GadgetSockets *ebpf.Map `ebpf:"gadget_sockets"`
115
	Start         *ebpf.Map `ebpf:"start"`
116
}
117

118
func (m *socketenricherMaps) Close() error {
119
	return _SocketenricherClose(
120
		m.GadgetSockets,
121
		m.Start,
122
	)
123
}
124

125
// socketenricherPrograms contains all programs after they have been loaded into the kernel.
126
//
127
// It can be passed to loadSocketenricherObjects or ebpf.CollectionSpec.LoadAndAssign.
128
type socketenricherPrograms struct {
129
	IgBindIpv4E   *ebpf.Program `ebpf:"ig_bind_ipv4_e"`
130
	IgBindIpv4X   *ebpf.Program `ebpf:"ig_bind_ipv4_x"`
131
	IgBindIpv6E   *ebpf.Program `ebpf:"ig_bind_ipv6_e"`
132
	IgBindIpv6X   *ebpf.Program `ebpf:"ig_bind_ipv6_x"`
133
	IgFreeIpv4E   *ebpf.Program `ebpf:"ig_free_ipv4_e"`
134
	IgFreeIpv6E   *ebpf.Program `ebpf:"ig_free_ipv6_e"`
135
	IgTcpCoE      *ebpf.Program `ebpf:"ig_tcp_co_e"`
136
	IgTcpCoX      *ebpf.Program `ebpf:"ig_tcp_co_x"`
137
	IgUdp6Sendmsg *ebpf.Program `ebpf:"ig_udp6_sendmsg"`
138
	IgUdpSendmsg  *ebpf.Program `ebpf:"ig_udp_sendmsg"`
139
}
140

141
func (p *socketenricherPrograms) Close() error {
142
	return _SocketenricherClose(
143
		p.IgBindIpv4E,
144
		p.IgBindIpv4X,
145
		p.IgBindIpv6E,
146
		p.IgBindIpv6X,
147
		p.IgFreeIpv4E,
148
		p.IgFreeIpv6E,
149
		p.IgTcpCoE,
150
		p.IgTcpCoX,
151
		p.IgUdp6Sendmsg,
152
		p.IgUdpSendmsg,
153
	)
154
}
155

156
func _SocketenricherClose(closers ...io.Closer) error {
157
	for _, closer := range closers {
158
		if err := closer.Close(); err != nil {
159
			return err
160
		}
161
	}
162
	return nil
163
}
164

165
// Do not access this directly.
166
//
167
//go:embed socketenricher_bpfel_x86.o
168
var _SocketenricherBytes []byte
169

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.