Uploaded image for project: 'OpenShift Virtualization'
  1. OpenShift Virtualization
  2. CNV-75761

[4.21] Guest IP address information only displays a non-existing IPv6 address

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • CNV v4.19.16
    • CNV v4.16.13, CNV v4.18.z, CNV v4.17.z, CNV v4.16.z, CNV v4.19.z
    • CNV Network
    • Incidents & Support
    • 0.42
    • False
    • Hide

      None

      Show
      None
    • False
    • CNV v4.99.0.rhel9-2295
    • Moderate
    • Customer Reported
    • None

      Description of problem:

      The guest IP address information in wrong for a VM connected to a dual-stack localnet network. The guest information only displays an IPv6 address even if the guest OS has IPv6 disabled.

      Version-Release number of selected component (if applicable):

      OCP 4.16.19
      kubevirt-hyperconverged-operator.v4.16.13

      How reproducible:

      Always. Reproduced also in OpenShift Virtualization 4.19.3

      Steps to Reproduce:

      1. OCP cluster configured as single-stack IPv4.
      2. Localnet network for dual-stack VLAN. Router advertisements enable SLAAC in this network.
      3. RHEL VM is connected to the localnet network. The guest OS has IPv6 disabled.

      Actual results:

      The only IP information for the VM is an IPv6 address:
      
      ~~~
      $ oc get vmi rhel-10-teal-trout-97 -o jsonpath='{.status.interfaces}' | jq
      [
        {
          "infoSource": "domain, guest-agent, multus-status",
          "interfaceName": "enp1s0",
          "ipAddress": "2620:52:0:25c8:6e:18ff:fe00:1",
          "ipAddresses": [
            "2620:52:0:25c8:6e:18ff:fe00:1"
          ],
          "linkState": "up",
          "mac": "02:6e:18:00:00:01",
          "name": "default",
          "podInterfaceName": "pod37a8eec1ce1",
          "queueCount": 1
        }
      ]
      ~~~
      
      The VM only has an IPv4 address, and the guest agent reports the same:
      
      ~~~
      $ ssh rhel@rhel-10-teal-trout-97.sbr-virt.gsslab.brq2.redhat.com ip a
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::1/128 scope host noprefixroute 
             valid_lft forever preferred_lft forever
      2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
          link/ether 02:6e:18:00:00:01 brd ff:ff:ff:ff:ff:ff
          altname enx026e18000001
          inet 10.37.200.113/23 brd 10.37.201.255 scope global dynamic noprefixroute enp1s0
             valid_lft 28665sec preferred_lft 28665sec
      
      
      $ oc exec virt-launcher-rhel-10-teal-trout-97-scbdq -- virsh qemu-agent-command 1 '{"execute": "guest-network-get-interfaces"}' | jq
      {
        "return": [
          {
            "name": "lo",
            "ip-addresses": [
              {
                "ip-address-type": "ipv4",
                "ip-address": "127.0.0.1",
                "prefix": 8
              },
              {
                "ip-address-type": "ipv6",
                "ip-address": "::1",
                "prefix": 128
              }
            ],
            "statistics": {
              "tx-packets": 6,
              "tx-errs": 0,
              "rx-bytes": 416,
              "rx-dropped": 0,
              "rx-packets": 6,
              "rx-errs": 0,
              "tx-bytes": 416,
              "tx-dropped": 0
            },
            "hardware-address": "00:00:00:00:00:00"
          },
          {
            "name": "enp1s0",
            "ip-addresses": [
              {
                "ip-address-type": "ipv4",
                "ip-address": "10.37.200.113",
                "prefix": 23
              }
            ],
            "statistics": {
              "tx-packets": 71,
              "tx-errs": 0,
              "rx-bytes": 76524,
              "rx-dropped": 0,
              "rx-packets": 1248,
              "rx-errs": 0,
              "tx-bytes": 9718,
              "tx-dropped": 0
            },
            "hardware-address": "02:6e:18:00:00:01"
          }
        ]
      }
      ~~~
      
      VMI only reports a IPv6 address:
      
      ~~~
      $ oc get vmi rhel-10-teal-trout-97 -o jsonpath='{.status.interfaces}' | jq
      [
        {
          "infoSource": "domain, guest-agent, multus-status",
          "interfaceName": "enp1s0",
          "ipAddress": "2620:52:0:25c8:6e:18ff:fe00:1",
          "ipAddresses": [
            "2620:52:0:25c8:6e:18ff:fe00:1"
          ],
          "linkState": "up",
          "mac": "02:6e:18:00:00:01",
          "name": "default",
          "podInterfaceName": "pod37a8eec1ce1",
          "queueCount": 1
        }
      ]
      ~~~
      
      The IPv6 address has been assigned to the pod interface:
      
      ~~~
      $ oc rsh virt-launcher-rhel-10-teal-trout-97-scbdq ip a
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::1/128 scope host 
             valid_lft forever preferred_lft forever
      2: eth0@if2825: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc noqueue state UP group default 
          link/ether 0a:58:0a:83:01:5e brd ff:ff:ff:ff:ff:ff link-netnsid 0
          inet 10.131.1.94/23 brd 10.131.1.255 scope global eth0
             valid_lft forever preferred_lft forever
          inet6 fe80::858:aff:fe83:15e/64 scope link 
             valid_lft forever preferred_lft forever
      3: 37a8eec1ce1-nic@if2826: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master k6t-37a8eec1ce1 state UP group default 
          link/ether ce:52:c4:15:5b:43 brd ff:ff:ff:ff:ff:ff link-netnsid 0
          inet6 fe80::cc52:c4ff:fe15:5b43/64 scope link 
             valid_lft forever preferred_lft forever
      4: k6t-37a8eec1ce1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
          link/ether ca:1b:b6:78:3b:b4 brd ff:ff:ff:ff:ff:ff
          inet6 2620:52:0:25c8:c81b:b6ff:fe78:3bb4/64 scope global dynamic mngtmpaddr 
             valid_lft 2591904sec preferred_lft 604704sec
          inet6 fe80::cc52:c4ff:fe15:5b43/64 scope link 
             valid_lft forever preferred_lft forever
      5: tap37a8eec1ce1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master k6t-37a8eec1ce1 state UP group default qlen 1000
          link/ether ca:1b:b6:78:3b:b4 brd ff:ff:ff:ff:ff:ff
          inet6 fe80::c81b:b6ff:fe78:3bb4/64 scope link 
             valid_lft forever preferred_lft forever
      6: pod37a8eec1ce1: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
          link/ether 02:6e:18:00:00:01 brd ff:ff:ff:ff:ff:ff
          inet6 2620:52:0:25c8:6e:18ff:fe00:1/64 scope global 
             valid_lft forever preferred_lft forever
          inet6 fe80::6e:18ff:fe00:1/64 scope link 
             valid_lft forever preferred_lft forever
      ~~~

      Expected results:

      The guest IP address information has to be accurate.
      
      Also, the pod interface getting a SLAAC address is probably undesired, so we should evaluate if this interface has to accept the router advertisements.

      Additional info:

       

        1. ipv6.pcap
          0.5 kB
          Yoss Segev

              phoracek@redhat.com Petr Horacek
              rhn-support-jortialc Juan Orti
              Yoss Segev Yoss Segev
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: