Skip to content
  • Thomas Huth's avatar
    net: Allow hubports to connect to other netdevs · 18d65d22
    Thomas Huth authored
    
    
    QEMU can emulate hubs to connect NICs and netdevs. This is currently
    primarily used for the mis-named 'vlan' feature of the networking
    subsystem. Now the 'vlan' feature has been marked as deprecated, since
    its name is rather confusing and the users often rather mis-configure
    their network when trying to use it. But while the 'vlan' parameter
    should be removed at one point in time, the basic idea of emulating
    a hub in QEMU is still good: It's useful for bundling up the output of
    multiple NICs into one single l2tp netdev for example.
    
    Now to be able to use the hubport feature without 'vlan's, there is one
    missing piece: The possibility to connect a hubport to a netdev, too.
    This patch adds this possibility by introducing a new "netdev=..."
    parameter to the hubports.
    
    To bundle up the output of multiple NICs into one socket netdev, you can
    now run QEMU with these parameters for example:
    
    qemu-system-ppc64 ... -netdev socket,id=s1,connect=:11122 \
        -netdev hubport,hubid=1,id=h1,netdev=s1 \
        -netdev hubport,hubid=1,id=h2 -device e1000,netdev=h2 \
        -netdev hubport,hubid=1,id=h3 -device virtio-net-pci,netdev=h3
    
    For using the socket netdev, you have got to start another QEMU as the
    receiving side first, for example with network dumping enabled:
    
    qemu-system-x86_64 -M isapc -netdev socket,id=s0,listen=:11122 \
        -device ne2k_isa,netdev=s0 \
        -object filter-dump,id=f1,netdev=s0,file=/tmp/dump.dat
    
    After the ppc64 guest tried to boot from both NICs, you can see in the
    dump file (using Wireshark, for example), that the output of both NICs
    (the e1000 and the virtio-net-pci) has been successfully transfered
    via the socket netdev in this case.
    
    Suggested-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
    Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
    18d65d22