Question about Xvisor networking

132 views
Skip to first unread message

Stéphane R.

unread,
Jul 16, 2020, 10:46:02 AM7/16/20
to xvisor...@googlegroups.com
Hi,

I followed some recommendations stated here : https://groups.google.com/g/xvisor-devel/c/UoGRJR3xglI/m/gBTOepWbAQAJ

but i' m not still able to ping the gateway to which I connected my Raspberry Pi 3

u-Boot have the right IP address but in Xvisor itself, I'm not sure about IPs

If the dhcp is enabled on the gateway, do I have to run ipconfig dhcp to get the IP ? And then would it be possible to ping internet through the gateway

How do I know if I forgot to enable an option in the configuration ?

thanks in advance

Regards,

Stéphane Richardson



U-Boot 2020.01 (Jul 03 2020 - 14:06:42 +0200)

DRAM:  960 MiB
RPI 3 Model B+ (0xa020d3)
MMC:   mmc@7e202000: 0, sdhci@7e300000: 1
Loading Environment from FAT... OK
In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   No ethernet found.
starting USB...
Bus usb@7e980000: scanning bus usb@7e980000 for devices... 4 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
U-Boot> mmc dev 0:0
switch to partitions #0, OK
mmc0 is current device
U-Boot> ext4load mmc 0:2 0x200000 uvmm3.bin
1636912 bytes read in 139 ms (11.2 MiB/s)
U-Boot> ext4load mmc 0:2 0x2000000 udisk.img
33554496 bytes read in 2782 ms (11.5 MiB/s)
U-Boot> ext4load mmc 0:2 0x800000 bcm2837-rpi-3-b.dtb
3787 bytes read in 4 ms (923.8 KiB/s)
U-Boot> bootm 0x200000 0x2000000 0x800000
## Booting kernel from Legacy Image at 00200000 ...
   Image Name:   Xvisor
   Image Type:   AArch64 Linux Kernel Image (uncompressed)
   Data Size:    1636848 Bytes = 1.6 MiB
   Load Address: 00080000
   Entry Point:  00080000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 02000000 ...
   Image Name:   Xvisor Ramdisk
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
   Data Size:    33554432 Bytes = 32 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 00800000
   Booting using the fdt blob at 0x800000
   Loading Kernel Image
   Using Device Tree in place at 0000000000800000, end 0000000000803eca

Starting kernel ...


Xvisor v0.3.0-1-g6fea5d23 (Jul 16 2020 15:58:41)

INIT: host address space
INIT: vapool: base=0x0000000010000000 size=33554432
INIT: vapool: hkbase=0x00000000105C5000 hksize=131072
INIT: ram: bank0 phys=0x0000000000000000 size=1006632960
INIT: ram: bank0 hkbase=0x00000000105E5000 hksize=30720
INIT: ram_reserve: phys=0x0000000000080000 size=1855488
INIT: ram_reserve: phys=0x0000000000645000 size=393216
INIT: ram_reserve: phys=0x0000000000245000 size=4194304
INIT: vapool_reserve: virt=0x0000000010000000 size=6443008
INIT: ram_reserve: phys=0x0000000000000000 size=32768
INIT: ram_reserve: phys=0x0000000002000000 size=33554432
INIT: heap management
INIT: page pool
INIT: exception table
INIT: device tree
INIT: device tree reserved-memory
INIT: discover secondary CPUs
INIT: per-CPU areas
INIT: CPU hotplug
INIT: host irq subsystem
INIT: CPU early
INIT: board early
INIT: early funtions
INIT: standard I/O
INIT: clocksource manager
INIT: clockchip manager
INIT: hypervisor timer
INIT: hypervisor soft delay
INIT: hypervisor shared memory
INIT: hypervisor manager
INIT: hypervisor scheduler
INIT: hypervisor threads
INIT: inter-processor interrupts
INIT: workqueue framework
INIT: wallclock subsystem
INIT: start secondary CPUs
INIT: command manager
INIT: device driver framework
INIT: device emulation framework
INIT: character device framework
INIT: iommu framework
INIT: hypervisor modules
INFO: pinctrl core: initialized pinctrl subsystem
vgic: GIC node not found
vgic: emulator not available
INIT: block device framework
INIT: network switch framework
INIT: network port framework
initrd: RBD created at 0x2000040 - 0x4000040
INIT: CPU final
INIT: board final
INFO: mailbox@3f00b880: mailbox enabled
INFO: sdhci@3f300000: SDHCI controller v3 at 0x3f300000 irq 94 [PIO]
INFO: usb@3f980000: Core Release 2.80a with 8 Channels
usb@3f980000: Designware USB2.0 OTG Controller
usb@3f980000: IO mem 0x3f980000
usb@3f980000: Root Hub Device usb0
INFO: firmware: Attached to firmware from 2020-04-15 11:43
usb0: New UIN highisaeef device
eusIN:TProductonlXne
INIootCPUb
           usbne
anuf: burug =-uvi4 C
ru 106KnrfrlNumbernit0000
        f0IT: chhub foundo
                          device to uart_mu@3f215040
INIT: bootcmd: vfs mount initrd /
Trying: ext4
Mounted initrd using ext4 at /
INIT: bootcmd: vfs run /boot.xscript
Created default shared memory
guest0: Created
guest0: Parsing /images/arm64/virt-v8/nor_flash.list
guest0: Loading 0x0000000000000000 with file ./firmware.bin
guest0: Loaded 0x0000000000000000 with 74031 bytes
guest0: Loading 0x00000000000FF000 with file ./cmdlist
guest0: Loaded 0x00000000000FF000 with 167 bytes
guest0: Loading 0x0000000000100000 with file ./Image
guest0: Loaded 0x0000000000100000 with 11969024 bytes
guest0: Loading 0x00000000017F0000 with file ./virt-v8.dtb
guest0: Loaded 0x00000000017F0000 with 2921 bytes
guest0: Loading 0x0000000001800000 with file ./rootfs.img
guest0: Loaded 0x0000000001800000 with 1908224 bytes
INIT: bootcmd: vfs cat /system/banner.txt

ooooooo  ooooo oooooo     oooo ooooo  .oooooo..o   .oooooo.   ooooooooo.
 `8888    d8'   `888.     .8'  `888' d8P'    `Y8  d8P'  `Y8b  `888   `Y88.
   Y888..8P      `888.   .8'    888  Y88bo.      888      888  888   .d88'
    `8888'        `888. .8'     888    `Y8888o.  888      888  888ooo88P'
   .8PY888.        `888.8'      888        `Y88b 888      888  888`88b.
  d8'  `888b        `888'       888  oo     .d8P `88b    d88'  888  `88b.
o888o  o88888o       `8'       o888o 8''88888P'   `Y8bood8P'  o888o  o888o


XVisor# usb0-0: New USB high-speed device found, idVendor=0424, idProduct=2514
usb0-0-intf0: USB hub found
usb0-0.0: New USB high-speed device found, idVendor=0424, idProduct=2514
usb0-0.0-intf0: USB hub found
usb0-0.0.0: New USB high-speed device found, idVendor=0424, idProduct=7800

XVisor#
XVisor#
XVisor# ping 127.0.0.1
PING (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: seq=0 ttl=255 time=0.023ms

----- 127.0.0.1 ping statistics -----
1 packets transmitted, 1 packets received
round-trip min/avg/max = 0.023/0.023/0.023 ms
XVisor# ipconfig show
Network stack Configuration:
   TCP/IP stack name  : lwIP
   IP address         : 169.254.1.1
   IP netmask         : 255.255.255.0
   Gateway IP address : 169.254.1.1
   HW address         : B6:BC:08:17:00:00
XVisor# net port list
--------------------------------------------------------------------------------
 Num#  Port                Switch              Link HW-Address             MTU
--------------------------------------------------------------------------------
 0     lwip-netport        br0                 UP   B6:BC:08:17:00:00      1500
 1     guest0/virtio-net0  br0                 UP   5A:7A:E8:73:00:00      1514
--------------------------------------------------------------------------------
XVisor# ping 192.168.1.20
PING (192.168.1.20) 56(84) bytes of data.

----- 192.168.1.20 ping statistics -----
1 packets transmitted, 0 packets received
round-trip min/avg/max = 0.000/0.000/0.000 ms
XVisor# ping 169.254.1.1
PING (169.254.1.1) 56(84) bytes of data.
64 bytes from 169.254.1.1: seq=0 ttl=255 time=0.010ms

----- 169.254.1.1 ping statistics -----
1 packets transmitted, 1 packets received
round-trip min/avg/max = 0.010/0.010/0.010 ms
XVisor#

Anup Patel

unread,
Jul 19, 2020, 1:40:43 AM7/19/20
to Xvisor Devel
Hi Stephane R,

The Xvisor networking is actually a "packet switching framework" consisting
of two entities:
1. Netport: This is a logical entity which can send/receive packets
2. Netswitch: This is a logical entity representing a network switch which
routes packets between a set of Netports based on some policy

The TCP/IP stack in Xvisor is optional and not part of core Xvisor networking.
We have integrated the lwIP TCP/IP stack as an optional library in Xvisor. The
lwIP integration in Xvisor creates a dummy Netport and the ipconfig assigns
IP to the TCP/IP stack (i.e. lwIP Netport).
(Example, "lwip-netport" shown by "net port list" command)

Various Xvisor guests have virtual network controller (mostly VirtIO net). The
device emulators in Xvisor create one Xvisor Netport for each guest virtual
network controller. The packets sent to Guest Netport are received by
Linux running inside Guest. The packets sent by Linux running inside Guest
are received on Guest Netport.
(Example, "guest0/virtio-net0" shown by "net port list" command)

Host network drivers also create Netport instances. The packet send to
Host Netport instance is sent out of physical network port on Host. The
packets received on physical network port of Host are received on the
Host Netport instance.

On RPi3, we have a USB network controller. We have an experimental
USB network driver in Xvisor for RPi3 but it's not tested much. You can
enable this driver and play-around with it.

Regards,
Anup
> --
> You received this message because you are subscribed to the Google Groups "Xvisor Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to xvisor-devel...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/xvisor-devel/CACvx%3D6%3Dqd1Ay6Jv1kh17QRAd3porFfZQB8ABga4yhGO%3DozeWNg%40mail.gmail.com.

Stéphane R.

unread,
Jul 20, 2020, 4:54:51 PM7/20/20
to xvisor...@googlegroups.com
Hi,

Thanks, I could finally ping internet with the linux guest and with xvisor

Reply all
Reply to author
Forward
0 new messages