RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1159000 - netcf ignores any IPv4 address past the first one
Summary: netcf ignores any IPv4 address past the first one
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: netcf
Version: 7.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Laine Stump
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On: 1147650
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-10-30 16:33 UTC by Laine Stump
Modified: 2015-11-19 08:58 UTC (History)
6 users (show)

Fixed In Version: netcf-0.2.8-1.el7
Doc Type: Bug Fix
Doc Text:
Clone Of: 1147650
Environment:
Last Closed: 2015-11-19 08:58:21 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2015:2248 0 normal SHIPPED_LIVE Moderate: netcf security, bug fix, and enhancement update 2015-11-19 09:11:05 UTC

Description Laine Stump 2014-10-30 16:33:52 UTC
+++ This bug was initially created as a clone of Bug #1147650 +++

Step 2 of the "reproduction" description from Hu Jianwei in Bug 1147650 attempts to add a 2nd IPv4 address to an interface, which is also a bug, but out of the scope of that bug report. This BZ is filed to track support for multiple IPv4 addresses on an interface.

Here is the reproduction case:

[root@localhost ~]# rpm -q libvirt netcf-libs
libvirt-1.2.8-5.el7.x86_64
netcf-libs-0.2.6-1.el7.x86_64

[...]

2. Add a new IP using nmtui  
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp16s0f1
DEVICE=enp16s0f1
ONBOOT=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME="System enp16s0f1"
UUID=c5a180f8-a44b-bfc8-6f45-0f171f275fac
IPADDR=192.168.1.22
PREFIX=24
GATEWAY=192.168.1.1
IPADDR1=192.168.1.88                      <====here
PREFIX1=24                                <====here
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

[root@localhost ~]# virsh iface-dumpxml enp16s0f1
<interface type='ethernet' name='enp16s0f1'>
  <protocol family='ipv4'>
    <ip address='192.168.1.22' prefix='24'/>
    <ip address='192.168.1.88' prefix='24'/>
  </protocol>
  <link speed='10' state='up'/>
  <mac address='00:1b:21:55:b3:bd'/>
</interface>

[root@localhost ~]# ip ad show enp16s0f1
7: enp16s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:1b:21:55:b3:bd brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.22/24 brd 192.168.1.255 scope global enp16s0f1
       valid_lft forever preferred_lft forever
    inet 192.168.1.88/24 brd 192.168.1.255 scope global secondary enp16s0f1
       valid_lft forever preferred_lft forever


[root@localhost ~]# virsh iface-bridge enp16s0f1 br66 --no-stp
Created bridge br66 with attached device enp16s0f1
Bridge interface br66 started

[root@localhost ~]# virsh iface-dumpxml br66
<interface type='bridge' name='br66'>
  <protocol family='ipv4'>
    <ip address='192.168.1.22' prefix='24'/>
  </protocol>
  <protocol family='ipv6'>
    <ip address='fe80::21b:21ff:fe55:b3bd' prefix='64'/>
  </protocol>
  <bridge>
    <interface type='ethernet' name='enp16s0f1'>
      <link speed='10' state='up'/>
      <mac address='00:1b:21:55:b3:bd'/>
    </interface>
  </bridge>
</interface>

[root@localhost ~]# virsh iface-list --all
 Name                 State      MAC Address
---------------------------------------------------
 br66                 active     00:1b:21:55:b3:bd
..

[root@localhost ~]# ip ad show br66
27: br66: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 00:1b:21:55:b3:bd brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.22/24 brd 192.168.1.255 scope global br66
       valid_lft forever preferred_lft forever
    inet6 fe80::21b:21ff:fe55:b3bd/64 scope link 
       valid_lft forever preferred_lft forever
[root@localhost ~]# virsh iface-unbridge br66 
Device enp16s0f1 un-attached from bridge br66
Interface enp16s0f1 started

[root@localhost ~]# virsh iface-dumpxml enp16s0f1
<interface type='ethernet' name='enp16s0f1'>
  <protocol family='ipv4'>
    <ip address='192.168.1.22' prefix='24'/>
  </protocol>
  <link speed='10' state='up'/>
  <mac address='00:1b:21:55:b3:bd'/>
</interface>

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp16s0f1
DEVICE=enp16s0f1
ONBOOT=no
BOOTPROTO=none
IPADDR=192.168.1.22
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
IPV6INIT=yes
IPV6_AUTOCONF=yes
DHCPV6C=no                                 <=== the second IP is disappeared.

Comment 1 Laine Stump 2014-10-30 16:36:07 UTC
The grammars for the <interface> xml in netcf and libvirt already support multiple <ip> elements, so all that is needed for this is to make redhat-(get|put).xsl recognize and emit IPADDRn/PREFIXn/NETMASKn/GATEWAYn. This cries out for someone with a better understanding of xslt than me.

Comment 2 Laine Stump 2015-05-16 00:44:43 UTC
Fix pushed upstream:

commit 4b4193c6d0bdbf96f63473a90d65bb4480c14aef
Author: Laine Stump <laine>
Date:   Mon Mar 16 10:50:33 2015 -0400

    support multiple IPv4 addresses in redhat driver

Comment 6 Hu Jianwei 2015-05-21 06:45:22 UTC
Verified as below:

[root@localhost ~]# rpm -q libvirt netcf
libvirt-1.2.15-2.el7.x86_64
netcf-0.2.8-1.el7.x86_64

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp2s0
DEVICE="enp2s0"
ONBOOT="no"
BOOTPROTO="none"
IPADDR="192.168.1.22"
NETMASK="255.255.255.0"
IPADDR1="192.168.1.88"
NETMASK1="255.255.255.0"
GATEWAY="192.168.1.1"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
DHCPV6C="no"
[root@localhost ~]# virsh iface-dumpxml enp2s0
<interface type='ethernet' name='enp2s0'>
  <protocol family='ipv4'>
    <ip address='192.168.1.22' prefix='24'/>
    <ip address='192.168.1.88' prefix='24'/>
  </protocol>
  <link speed='100' state='up'/>
  <mac address='00:1b:21:27:4e:ce'/>
</interface>

[root@localhost ~]# ip ad show enp2s0
3: enp2s0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
    link/ether 00:1b:21:27:4e:ce brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.22/24 brd 192.168.1.255 scope global enp2s0
       valid_lft forever preferred_lft forever
    inet 192.168.1.88/24 brd 192.168.1.255 scope global secondary enp2s0
       valid_lft forever preferred_lft forever

[root@localhost ~]# virsh iface-bridge enp2s0 br66 --no-stp
Created bridge br66 with attached device enp2s0
Bridge interface br66 started

[root@localhost ~]# virsh iface-dumpxml br66
<interface type='bridge' name='br66'>
  <protocol family='ipv4'>
    <ip address='192.168.1.22' prefix='24'/>
    <ip address='192.168.1.88' prefix='24'/>
  </protocol>
  <protocol family='ipv6'>
    <ip address='fe80::7c2b:bff:fef0:fe1f' prefix='64'/>
  </protocol>
  <bridge>
  </bridge>
</interface>

[root@localhost ~]# virsh iface-list --all
 Name                 State      MAC Address
--------------------------------------------------- 
 br66                 active     7e:2b:0b:f0:fe:1f
 eno1                 active     24:be:05:18:81:ce

[root@localhost ~]# ip ad show br66
148: br66: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 7e:2b:0b:f0:fe:1f brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.22/24 brd 192.168.1.255 scope global br66
       valid_lft forever preferred_lft forever
    inet 192.168.1.88/24 brd 192.168.1.255 scope global secondary br66
       valid_lft forever preferred_lft forever
    inet6 fe80::7c2b:bff:fef0:fe1f/64 scope link 
       valid_lft forever preferred_lft forever
[root@localhost ~]# virsh iface-unbridge br66
Device enp2s0 un-attached from bridge br66
Interface enp2s0 started

[root@localhost libvirt-1.2.15]# virsh iface-list --all
 Name                 State      MAC Address
---------------------------------------------------
 eno1                 active     24:be:05:18:81:ce
 enp2s0               active     00:1b:21:27:4e:ce

[root@localhost ~]# virsh iface-dumpxml enp2s0
<interface type='ethernet' name='enp2s0'>
  <protocol family='ipv4'>
    <ip address='192.168.1.22' prefix='24'/>
    <ip address='192.168.1.88' prefix='24'/>
  </protocol>
  <link speed='100' state='up'/>
  <mac address='00:1b:21:27:4e:ce'/>
</interface>

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp2s0
DEVICE="enp2s0"
ONBOOT="no"
BOOTPROTO="none"
IPADDR="192.168.1.22"
NETMASK="255.255.255.0"
IPADDR1="192.168.1.88"
NETMASK1="255.255.255.0"
GATEWAY="192.168.1.1"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
DHCPV6C="no"

Comment 8 errata-xmlrpc 2015-11-19 08:58:21 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2015-2248.html


Note You need to log in before you can comment on or make changes to this bug.