func GetMapFDFromID()

in pkg/utils/utils.go [140:158]


func GetMapFDFromID(mapID int) (int, error) {
	var log = logger.Get()
	attr := BpfShowAttr{
		id: uint32(mapID),
	}
	ret, _, errno := unix.Syscall(
		unix.SYS_BPF,
		uintptr(constdef.BPF_MAP_GET_FD_BY_ID),
		uintptr(unsafe.Pointer(&attr)),
		unsafe.Sizeof(attr),
	)
	if errno != 0 {
		log.Infof("Failed to get Map FD - ret %d and err %s", int(ret), errno)
		return 0, errno
	}
	fd := int(ret)
	runtime.KeepAlive(fd)
	return fd, nil
}