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

Improve error msg when executing 'virsh domiftune' with inbound/outbound burst larger than maximum value

    • libvirt-10.10.0-1.el9
    • No
    • Low
    • rhel-sst-virtualization
    • ssg_virtualization
    • 3
    • Dev ack
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • x86_64
    • 10.10.0
    • None

      What were you trying to do that didn't work?

      Improve error msg when executing 'virsh domiftune' with inbound burst larger than maximum boundary

      What is the impact of this issue to you?

      Please provide the package NVR for which the bug is seen:

      libvirt-10.8.0-3.el10.x86_64

      How reproducible is this bug?:

      100%

      Steps to reproduce

      1. Execute 'virsh domiftune' with inbound burst larger than max value:
      #  /bin/virsh domiftune avocado-vt-vm1 vnet15  --inbound 1024000,4096,4194304  --current
      error: Unable to set interface parameters
      error: internal error: Child process (tc class add dev vnet15 parent 1: classid 1:1 htb rate 1024000kbps ceil 4096kbps burst 4194304kb quantum 87381) unexpected exit status 1: Illegal "burst"
      Usage: ... qdisc add ... htb [default N] [r2q N]
                            [direct_qlen P] [offload]
       default  minor id of class to which unclassified packets are sent {0}
       r2q      DRR quantums are computed as rate in Bps/r2q {10}
       debug    string of 16 numbers each 0-3 {0} direct_qlen  Limit of the direct queue {in packets}
       offload  enable hardware offload
      ... class add ... htb rate R1 [burst B1] [mpu B] [overhead O]
                            [prio P] [slot S] [pslot PS]
                            [ceil R2] [cburst B2] [mtu MTU] [quantum Q]
       rate     rate allocated to this class (class can still borrow)
       burst    max bytes burst which can be accumulated during idle period {computed}
       mpu      minimum packet size used in rate computations
       overhead per-packet size overhead used in rate computations
       linklay  adapting to a linklayer e.g. atm
       ceil     definite upper class rate (no borrows) {rate}
       cburst   burst but for ceil {computed}
       mtu      max packet size we create rate map for {1600}
       prio     priority of leaf; lower are served first {0}
       quantum  how much bytes to serve from leaf at once {use r2q}TC HTB version 3.3

           2. Execute 'virsh domiftune' with outbound burst larger than max value:

      #  /bin/virsh domiftune avocado-vt-vm1 vnet15  --outbound 1024000,4096,4194304  --current
      error: Unable to set interface parameters
      error: internal error: Child process (tc filter add dev vnet15 parent ffff: protocol all u32 match u32 0 0 police rate 1024000kbps burst 4194304kb mtu 64kb drop flowid :1) unexpected exit status 255: Error: argument "4194304kb" is wrong: buffer 

           3.Update the inbound burst larger than max value can report clear error msg:

       #cat if.xml<interface type="network">
        <mac address="52:54:00:96:fd:1b"/>
        <source network="default" portid="531f32c0-bc7d-4785-b79c-739b71caaf57" bridge="virbr0"/>
        <bandwidth>
          <inbound average="429496729600" peak="429496729600" burst="429496729600"/>
        </bandwidth>
        <target dev="vnet15"/>
        <model type="virtio"/>
        <driver queues="2"/>
        <alias name="net0"/>
        <address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
      </interface>
      
      # virsh update-device avocado-vt-vm1 if11.xml
      error: Failed to update device from if11.xml
      error: numerical overflow: value '429496729600' is too big for 'burst' parameter, maximum is '4194303'

      Expected results

      Report clear error msg such as:
      #virsh domiftune vm2 vnet13  -inbound 102400,4096,4194304  -current
      error: inbound burst larger than maximum 4194303

      Actual results

              lstump@redhat.com Laine Stump
              rhn-support-yafu Yan Fu
              virt-maint virt-maint
              Yanqiu Zhang Yanqiu Zhang
              Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

                Created:
                Updated: