func BpfGetAllProgramInfo()

in pkg/progs/loader.go [397:421]


func BpfGetAllProgramInfo() ([]BpfProgInfo, error) {
	loadedPrograms := []BpfProgInfo{}
	attr := BpfProgAttr{}
	log.Infof("In get all prog info")
	for attr.isBpfProgGetNextID() {
		log.Infof("Got ID - %d", attr.next_id)

		progfd, err := utils.GetProgFDFromID(int(attr.next_id))
		if err != nil {
			log.Errorf("failed to get program Info")
			return nil, err
		}
		log.Infof("Found prog FD - %d", progfd)
		bpfProgInfo, err := GetBPFprogInfo(progfd)
		if err != nil {
			log.Errorf("failed to get program Info for FD", progfd)
			return nil, err
		}
		unix.Close(progfd)

		loadedPrograms = append(loadedPrograms, bpfProgInfo)
	}
	log.Infof("Done all prog info!!!")
	return loadedPrograms, nil
}