in pkg/progs/loader.go [437:463]
func (m *BpfProgram) GetProgFromPinPath(pinPath string) (BpfProgInfo, int, error) {
log.Infof("Printing pinpath - %s ", pinPath)
if len(pinPath) == 0 {
return BpfProgInfo{}, -1, fmt.Errorf("invalid pinPath")
}
cPath := []byte(pinPath + "\x00")
objInfo := BpfObjGet{
pathname: uintptr(unsafe.Pointer(&cPath[0])),
}
progFD, err := objInfo.BpfGetObject()
if err != nil {
log.Errorf("failed to get object")
return BpfProgInfo{}, -1, err
}
log.Infof("Got progFD - %d", progFD)
bpfProgInfo, err := GetBPFprogInfo(progFD)
if err != nil {
log.Errorf("failed to get program Info for FD - %d", progFD)
return bpfProgInfo, -1, err
}
return bpfProgInfo, progFD, nil
}