Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-735

Update the interface trustGuestRxFilters and backend setting return succeed but no changes

    • libvirt-10.0.0-1.el9
    • Minor
    • sst_virtualization
    • ssg_virtualization
    • 20
    • 26
    • None
    • QE ack, Dev ack
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • If docs needed, set a value
    • Unspecified
    • 10.0.0
    • None

      Description of problem:
      Update the interface trustGuestRxFilters and backend setting return succeed but no changes

      Version-Release number of selected component (if applicable):
      libvirt-8.5.0-1.el9.x86_64

      How reproducible:
      100%

      Steps to Reproduce:
      1. Start a vm with direct type interface as below:

      1. virsh start vm2
        Domain 'vm2' started
      2. virsh dumpxml vm2 | grep /interface -B7
        <interface type='direct' trustGuestRxFilters='yes'>
        <mac address='52:54:00:65:52:cb'/>
        <source dev='eno2' mode='bridge'/>
        <target dev='macvtap0'/>
        <model type='virtio'/>
        <alias name='net0'/>
        <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
        </interface>
        2. update the trustGuestRxFilters setting from "yes" to "no" by update-device:
      3. cat direct.xml
        <interface type='direct' trustGuestRxFilters='no'>
        <mac address='52:54:00:65:52:cb'/>
        <source dev='eno2' mode='bridge'/>
        <target dev='macvtap0'/>
        <model type='virtio'/>
        <alias name='net0'/>
        <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
        </interface>
      4. virsh update-device vm2 direct.xml
        Device updated successfully

      3. the update-device command succeed, but the live xml do not changes:

      1. virsh dumpxml vm2 | grep /interface -B7
        <interface type='direct' trustGuestRxFilters='yes'>
        <mac address='52:54:00:65:52:cb'/>
        <source dev='eno2' mode='bridge'/>
        <target dev='macvtap0'/>
        <model type='virtio'/>
        <alias name='net0'/>
        <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
        </interface>

      Another scenario for backend:

      1. virsh dumpxml vm2 | grep /interface -B8
        <interface type='network'>
        <mac address='52:54:00:cf:af:c6'/>
        <source network='default' portid='1c06f82e-fa6c-4de9-9cac-8973b1db1eec' bridge='virbr0'/>
        <target dev='vnet1'/>
        <model type='virtio'/>
        <backend tap='/dev/net/tun' vhost='/dev/vhost-net'/>
        <alias name='net0'/>
        <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
        </interface>
      2. cat backend.xml
        <interface type='network'>
        <mac address='52:54:00:cf:af:c6'/>
        <source network='default' portid='1c06f82e-fa6c-4de9-9cac-8973b1db1eec' bridge='virbr0'/>
        <target dev='vnet1'/>
        <model type='virtio'/>
        <backend tap='/dev/net/tun1' vhost='/dev/vhost-net2'/>
        <alias name='net0'/>
        <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
        </interface>
      3. virsh update-device vm2 backend.xml
        Device updated successfully
      4. virsh dumpxml vm2 | grep backend
        <backend tap='/dev/net/tun' vhost='/dev/vhost-net'/>

      Actual results:
      Use update-device to update trustGuestRxFilters attribute or backend elements, the command returns succeed, but the live xml does not update accordingly.

      Expected results:
      libvirt should return unsupported error if such elements can not be live updated

      Additional info:

            mprivozn@redhat.com Michal Privoznik
            yalzhang@redhat.com Yalan Zhang
            Haijiao Zhao
            virt-maint virt-maint
            Yanqiu Zhang Yanqiu Zhang
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved: