Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(virtio): Adding Virtio-net Support to Cloudlet #22

Merged
merged 8 commits into from
Apr 29, 2024
Merged

feat(virtio): Adding Virtio-net Support to Cloudlet #22

merged 8 commits into from
Apr 29, 2024

Conversation

sylvain-pierrot
Copy link
Contributor

@sylvain-pierrot sylvain-pierrot commented Apr 21, 2024

Adding Virtio-net Support to Cloudlet

Description:

This Pull Request aims to enhance the functionality of Cloudlet by adding support for virtio-net, a paravirtualized network device.

Changes Introduced (checklist):

Virtio Over MMIO:

  • MMIO Device Discovery
    • MMIO provides no generic device discovery mechanism. Under Linux, discovery is performed via the kernel command line. Ref VMMIO from doc.
  • MMIO Device Register Layout
    • MMIO virtio devices provide a set of memory mapped control registers followed by a device-specific configuration space. Ref here.

Related Issues:

#3

@sylvain-pierrot sylvain-pierrot self-assigned this Apr 21, 2024
@sylvain-pierrot sylvain-pierrot added the enhancement New feature or request label Apr 21, 2024
@sylvain-pierrot sylvain-pierrot linked an issue Apr 21, 2024 that may be closed by this pull request
src/vmm/Cargo.toml Outdated Show resolved Hide resolved
- MMIO Device Discovery by the kernel command line
- irq allocator

Signed-off-by: sylvain-pierrot <[email protected]>
Signed-off-by: sylvain-pierrot <[email protected]>
Signed-off-by: sylvain-pierrot <[email protected]>
Signed-off-by: sylvain-pierrot <[email protected]>
@sylvain-pierrot sylvain-pierrot marked this pull request as ready for review April 29, 2024 15:35
Signed-off-by: sylvain-pierrot <[email protected]>
src/vmm/src/core/vmm.rs Outdated Show resolved Hide resolved
src/vmm/src/core/vmm.rs Outdated Show resolved Hide resolved
src/vmm/src/core/devices/virtio/register.rs Outdated Show resolved Hide resolved
@sylvain-pierrot sylvain-pierrot requested a review from Kuruyia April 29, 2024 18:45
Copy link
Contributor

@Kuruyia Kuruyia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, nice work!

@sylvain-pierrot sylvain-pierrot merged commit b547afa into virt-do:main Apr 29, 2024
2 checks passed
sylvain-pierrot added a commit to sylvain-pierrot/cloudlet that referenced this pull request Apr 30, 2024
* feat(virtio): configure net device
- MMIO Device Discovery by the kernel command line
- irq allocator

Signed-off-by: sylvain-pierrot <[email protected]>

* feat: add simple handler

Signed-off-by: sylvain-pierrot <[email protected]>

* refactor code architecture about devices + add queue/handlers

Signed-off-by: sylvain-pierrot <[email protected]>

* chore: fix traits for generic + refactor code

Signed-off-by: sylvain-pierrot <[email protected]>

* feat: add working device

Signed-off-by: sylvain-pierrot <[email protected]>

* refactor: remove all unwrap

Signed-off-by: sylvain-pierrot <[email protected]>

* fix: cargo clippy

Signed-off-by: sylvain-pierrot <[email protected]>

* refactor: remove unnecessary comments

Signed-off-by: sylvain-pierrot <[email protected]>

---------

Signed-off-by: sylvain-pierrot <[email protected]>
sylvain-pierrot added a commit that referenced this pull request Apr 30, 2024
* feat(virtio): Adding Virtio-net Support to Cloudlet (#22)

* feat(virtio): configure net device
- MMIO Device Discovery by the kernel command line
- irq allocator

Signed-off-by: sylvain-pierrot <[email protected]>

* feat: add simple handler

Signed-off-by: sylvain-pierrot <[email protected]>

* refactor code architecture about devices + add queue/handlers

Signed-off-by: sylvain-pierrot <[email protected]>

* chore: fix traits for generic + refactor code

Signed-off-by: sylvain-pierrot <[email protected]>

* feat: add working device

Signed-off-by: sylvain-pierrot <[email protected]>

* refactor: remove all unwrap

Signed-off-by: sylvain-pierrot <[email protected]>

* fix: cargo clippy

Signed-off-by: sylvain-pierrot <[email protected]>

* refactor: remove unnecessary comments

Signed-off-by: sylvain-pierrot <[email protected]>

---------

Signed-off-by: sylvain-pierrot <[email protected]>

* feat: configure guest iface address + rename vmm cli args for better understanding

Signed-off-by: sylvain-pierrot <[email protected]>

* Feat/grpc streams (#31)

* feat: streaming and pty setup

---------

Signed-off-by: Mauran <[email protected]>
Signed-off-by: sylvain-pierrot <[email protected]>

---------

Signed-off-by: sylvain-pierrot <[email protected]>
Signed-off-by: Mauran <[email protected]>
Co-authored-by: Thomas Mauran <[email protected]>
remi-espie pushed a commit to remi-espie/cloudlet that referenced this pull request May 1, 2024
* feat(virtio): Adding Virtio-net Support to Cloudlet (virt-do#22)

* feat(virtio): configure net device
- MMIO Device Discovery by the kernel command line
- irq allocator

Signed-off-by: sylvain-pierrot <[email protected]>

* feat: add simple handler

Signed-off-by: sylvain-pierrot <[email protected]>

* refactor code architecture about devices + add queue/handlers

Signed-off-by: sylvain-pierrot <[email protected]>

* chore: fix traits for generic + refactor code

Signed-off-by: sylvain-pierrot <[email protected]>

* feat: add working device

Signed-off-by: sylvain-pierrot <[email protected]>

* refactor: remove all unwrap

Signed-off-by: sylvain-pierrot <[email protected]>

* fix: cargo clippy

Signed-off-by: sylvain-pierrot <[email protected]>

* refactor: remove unnecessary comments

Signed-off-by: sylvain-pierrot <[email protected]>

---------

Signed-off-by: sylvain-pierrot <[email protected]>

* feat: configure guest iface address + rename vmm cli args for better understanding

Signed-off-by: sylvain-pierrot <[email protected]>

* Feat/grpc streams (virt-do#31)

* feat: streaming and pty setup

---------

Signed-off-by: Mauran <[email protected]>
Signed-off-by: sylvain-pierrot <[email protected]>

---------

Signed-off-by: sylvain-pierrot <[email protected]>
Signed-off-by: Mauran <[email protected]>
Co-authored-by: Thomas Mauran <[email protected]>
Signed-off-by: ESPIE <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add virtio-net support to Lumper
3 participants