INNER CODE UNIT · Go
rxFunc
deepflowio/deepflow · server/libs/xdppacket/cmd/xdp/main.go:245
rxFunc := func(s *XDPPacket, id int) {
count := GetPktCount(*PktCount)
for i := 0; count == PKT_CNT_INFINITE || i < count; i++ {
_, _, err = s.ZeroCopyReadPacket()
if err != nil {
if isUnRecoverError(err) {
break
}
log.Debugf("queue %v zero read failed as %v", id, err)
continue
}
}
}
for idx, s := range xsks {
log.Debugf("queue %v xdp socket %v", idx, s)
go rxFunc(s, idx)
}