Hi guys,

Currently solo5/ukvm supports only one NIC. I wanted to know your thoughts
on supporting multiple NICs. This is really important and essential
requirement when trying to run on IncludeOS unikernels which is heavily
focused on networking and NFV.

After talking to Ricardo, I understand that the difficulty is in coming up
with a new API. I wanted to start off the discussion.
The obvious solution is to specify the NIC index (an int)  in the API. It
could look something like this:

solo5_result_t solo5_net_write(int index, const uint8_t *buf, size_t size);
solo5_result_t solo5_net_read(int index, uint8_t *buf, size_t size, size_t
*read_size);

The number of NICs supported could be specified during the startup in
solo5_app_main.

Also, when we are supporting shared memory and ring buffer, we can register
a struct block having shmstreams, eventfds per NIC. We can then feed the
events to the iothread's epoll.

I understand that the requirement for the simplicity of the APIs so we can
improve on it every iteration while having the feature ready.  I would

-- 
Regards,
Nikhil

Reply via email to