Open aratz-lasa opened 2 years ago
Hi, the recvmmsg syscall is currently not implemented in the Nanos kernel, thus your application gets an error when it tries to call recvmmsg().
Thank you very much for the fast answer.
On the other hand, is there any way to enable multicasting on the network interfaces of Nanos kernel?
Not yet, as of now you can transmit multicast packets but reception of multicast traffic is not supported.
The recvmmsg syscall is now implemented in the Nanos kernel, so when the next nightly build is published in a few hours you should be able to use it in your QUIC UDP application, by creating your Ops image with the nightly kernel build (just add the -n
command line flag to your Ops command to create the image).
As for the multicasting feature, we could add support for multicast traffic reception, but it wouldn't work in most public clouds because cloud providers usually don't offer multicast capabilities (i.e. an instance running on a public cloud such as GCP or AWS cannot subscribe to multicast groups). So I'm not sure it's worth adding this feature to the Nanos kernel; @aratz-lasa perhaps if could elaborate more on your use case it would help us decide whether it makes sense to add this feature to Nanos.
@francescolavra amazing! Thank you for the update, this will allow me to deploy my application through nanovms.
Don't worry, there is no need for multicasting. I ended up developing an alternative mechanism of port discovery, so that when multicasting is disabled, we fallback to it.
Hello,
I'm working on an Golang application that makes use of QUIC UDP, and I'm getting the following error when I try to run it on nanovms/ops:
read udp 0.0.0.0:60866: recvmmsg: function not implemented
Does someone know what may be happening?