1
1
package manager
2
2
3
3
import (
4
+ "errors"
4
5
"fmt"
5
- "github.com/cilium/ebpf/link"
6
6
"io"
7
7
"os"
8
8
"strings"
9
9
"sync"
10
10
"time"
11
11
12
- "errors"
12
+ "github.com/cilium/ebpf"
13
+ "github.com/cilium/ebpf/link"
13
14
"github.com/florianl/go-tc"
14
15
"github.com/hashicorp/go-multierror"
15
16
"golang.org/x/sys/unix"
16
-
17
- "github.com/cilium/ebpf"
18
17
)
19
18
20
19
// ConstantEditor - A constant editor tries to rewrite the value of a constant in a compiled eBPF program.
@@ -371,13 +370,13 @@ func (m *Manager) editMapSpec(name string, mapSpec *ebpf.MapSpec) error {
371
370
return ErrManagerNotInitialized
372
371
}
373
372
374
- //判断是否存在该map
373
+ // 判断是否存在该map
375
374
_ , ok := m .collectionSpec .Maps [name ]
376
375
if ! ok {
377
376
return ErrUnknownMap
378
377
}
379
378
380
- //覆盖mapSpec
379
+ // 覆盖mapSpec
381
380
m .collectionSpec .Maps [name ] = mapSpec
382
381
return nil
383
382
}
@@ -448,7 +447,7 @@ func (m *Manager) GetProgramSpec(id ProbeIdentificationPair) ([]*ebpf.ProgramSpe
448
447
if len (programs ) > 0 {
449
448
return programs , true , nil
450
449
}
451
- //prog, ok := m.collectionSpec.Programs[id.Section]
450
+ // prog, ok := m.collectionSpec.Programs[id.Section]
452
451
prog , ok := m .collectionSpec .Programs [id .EbpfFuncName ]
453
452
return []* ebpf.ProgramSpec {prog }, ok , nil
454
453
}
@@ -1096,7 +1095,6 @@ func (m *Manager) getProbeProgramSpec(matchFuncName string) (*ebpf.ProgramSpec,
1096
1095
1097
1096
// matchSpecs - Match loaded maps and program specs with the maps and programs provided to the manager
1098
1097
func (m * Manager ) matchSpecs () error {
1099
-
1100
1098
// Match programs
1101
1099
for _ , probe := range m .Probes {
1102
1100
programSpec , err := m .getProbeProgramSpec (probe .EbpfFuncName )
@@ -1314,7 +1312,7 @@ func (m *Manager) editConstant(prog *ebpf.ProgramSpec, editor ConstantEditor) er
1314
1312
// rewriteMaps - Rewrite the provided program spec with the provided maps
1315
1313
func (m * Manager ) rewriteMaps (program * ebpf.ProgramSpec , eBPFMaps map [string ]* ebpf.Map ) error {
1316
1314
for symbol , eBPFMap := range eBPFMaps {
1317
- //fd := eBPFMap.FD()
1315
+ // fd := eBPFMap.FD()
1318
1316
err := program .Instructions .AssociateMap (symbol , eBPFMap )
1319
1317
if err != nil {
1320
1318
return errors .New (fmt .Sprintf ("error:%v , couldn't rewrite map %s" , err , symbol ))
@@ -1370,7 +1368,7 @@ func (m *Manager) loadCollection() error {
1370
1368
// Load collection
1371
1369
m .collection , err = ebpf .NewCollectionWithOptions (m .collectionSpec , m .options .VerifierOptions )
1372
1370
if err != nil {
1373
- return errors . New ( fmt .Sprintf ("error:%v , couldn't load eBPF programs, cs:%v" , err , m .collectionSpec ) )
1371
+ return fmt .Errorf ("error:%w , couldn't load eBPF programs, cs:%v" , err , m .collectionSpec )
1374
1372
}
1375
1373
1376
1374
// Initialize Maps
@@ -1387,7 +1385,7 @@ func (m *Manager) loadCollection() error {
1387
1385
}
1388
1386
}
1389
1387
1390
- //Initialize ringbufmap
1388
+ // Initialize ringbufmap
1391
1389
for _ , ringbufMap := range m .RingbufMaps {
1392
1390
if err := ringbufMap .Init (m ); err != nil {
1393
1391
return err
0 commit comments