Bug 1145529

Summary: IPv6 present, although yast network has IPv6 enable unchecked
Product: [openSUSE] openSUSE Distribution Reporter: Richard Bos <richard.bos>
Component: YaST2Assignee: E-mail List <yast2-maintainers>
Status: RESOLVED INVALID QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P5 - None CC: alynx.zhou, dgonzalez, mfilka, richard.bos
Version: Leap 15.1   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: YaST2 logs

Description Richard Bos 2019-08-14 04:41:09 UTC
When not enabling IPv6 in "yast network", there are still IPv6 addresses listed:

# ip a
...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether e0:cb:4e:1b:ba:33 brd ff:ff:ff:ff:ff:ff
    inet 192.168.x.y/24 brd 192.168.x.y scope global noprefixroute dynamic eth0
       valid_lft 862289sec preferred_lft 862289sec
    inet6 <hex address-1>/64 scope global temporary dynamic 
       valid_lft 5127sec preferred_lft 3361sec
    inet6 <hex address-2>/64 scope global mngtmpaddr noprefixroute dynamic 
       valid_lft 5127sec preferred_lft 3361sec
    inet6 <hex address-3>/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

This is after (multiple reboots).

Yast network has:
Global Options tab:
Network Setup Method: Wicked Service
[ ] Enable IPv6


=====
Initially 'enable IPv6' was checked (enabled).  I unchecked it.

After unchecking, rebooted.

As there were still IPv6 addresses listed, I enabled and disabled the setting again, no change.  The IPv6 addresses are still listed.

Looks 'enable IPv6' has no impact and IPv6 is still configured, check please.
Comment 1 Michal Filka 2019-08-19 11:53:59 UTC
Could you pls provide result of:

sysctl -a | fgrep net.ipv6.conf.all.

Thanks
Comment 2 Richard Bos 2019-08-25 17:57:03 UTC
Here is the requested output:

# sysctl -a | fgrep net.ipv6.conf.all.
net.ipv6.conf.all.accept_dad = 0
net.ipv6.conf.all.accept_ra = 1
net.ipv6.conf.all.accept_ra_defrtr = 1
net.ipv6.conf.all.accept_ra_from_local = 0
net.ipv6.conf.all.accept_ra_min_hop_limit = 1
net.ipv6.conf.all.accept_ra_mtu = 1
net.ipv6.conf.all.accept_ra_pinfo = 1
net.ipv6.conf.all.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.all.accept_ra_rt_info_min_plen = 0
net.ipv6.conf.all.accept_ra_rtr_pref = 1
net.ipv6.conf.all.accept_redirects = 1
net.ipv6.conf.all.accept_source_route = 0
net.ipv6.conf.all.addr_gen_mode = 0
net.ipv6.conf.all.autoconf = 1
net.ipv6.conf.all.dad_transmits = 1
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.all.disable_policy = 0
net.ipv6.conf.all.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.all.drop_unsolicited_na = 0
net.ipv6.conf.all.enhanced_dad = 1
net.ipv6.conf.all.force_mld_version = 0
net.ipv6.conf.all.force_tllao = 0
net.ipv6.conf.all.forwarding = 0
net.ipv6.conf.all.hop_limit = 64
net.ipv6.conf.all.ignore_routes_with_linkdown = 0
net.ipv6.conf.all.keep_addr_on_down = 0
net.ipv6.conf.all.max_addresses = 16
net.ipv6.conf.all.max_desync_factor = 600
net.ipv6.conf.all.mc_forwarding = 0
net.ipv6.conf.all.mldv1_unsolicited_report_interval = 10000
net.ipv6.conf.all.mldv2_unsolicited_report_interval = 1000
net.ipv6.conf.all.mtu = 1280
net.ipv6.conf.all.ndisc_notify = 0
net.ipv6.conf.all.proxy_ndp = 0
net.ipv6.conf.all.regen_max_retry = 3
net.ipv6.conf.all.router_probe_interval = 60
net.ipv6.conf.all.router_solicitation_delay = 1
net.ipv6.conf.all.router_solicitation_interval = 4
net.ipv6.conf.all.router_solicitation_max_interval = 3600
net.ipv6.conf.all.router_solicitations = -1
net.ipv6.conf.all.seg6_enabled = 0
net.ipv6.conf.all.seg6_require_hmac = 0
net.ipv6.conf.all.suppress_frag_ndisc = 1
net.ipv6.conf.all.temp_prefered_lft = 86400
net.ipv6.conf.all.temp_valid_lft = 604800
net.ipv6.conf.all.use_oif_addrs_only = 0
net.ipv6.conf.all.use_tempaddr = 0
Comment 3 David Diaz 2019-08-26 15:44:28 UTC
Hi Richard, 

It seems that IPv6 is disabled

(In reply to Richard Bos from comment #2)
> Here is the requested output:
> 
> [...]
> net.ipv6.conf.all.disable_ipv6 = 1
> [...]


In addition to the information already asked, could you also attach the YaST logs? Gather them running the save_y2logs command. See https://en.opensuse.org/openSUSE:Report_a_YaST_bug for more information.

Thanks!
Comment 4 Richard Bos 2019-08-26 19:34:54 UTC
Created attachment 815757 [details]
YaST2 logs

> could you also attach the YaST logs?

Attached.
Comment 5 David Diaz 2019-08-27 13:21:56 UTC
Thank you Richard.

I don't see anything weird in the logs. Even more, I installed a fresh Leap 15.1 and it works as expected. Below, the steps and some outputs


* ip a

> 
> ...
> 
> 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
>    link/ether 52:54:00:7f:d9:32 brd ff:ff:ff:ff:ff:ff
>    inet 192.168.x.y/24 brd 192.168.x.y scope global noprefixroute dynamic eth0
>       valid_lft 3324sec preferred_lft 3324sec
>    inet6 <hex address>/64 scope link noprefixroute 
>       valid_lft forever preferred_lft forever
> 

* yast2 network 
  - Select wicked as current backend
  - Uncheck "Enable IPv6"

* sysctl -a | grep disable_ipv6

> 
> net.ipv6.conf.all.disable_ipv6 = 1
> net.ipv6.conf.default.disable_ipv6 = 1
> net.ipv6.conf.eth0.disable_ipv6 = 1
> net.ipv6.conf.lo.disable_ipv6 = 1
> 

* ip a 

> 
> ...
> 
> 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
>    link/ether 52:54:00:7f:d9:32 brd ff:ff:ff:ff:ff:ff
>    inet 192.168.x.y/24 brd 192.168.x.y scope global eth0
>       valid_lft forever preferred_lft forever
> 

* Reboot the system

* ip a 

> 
> ...
> 
> 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
>    link/ether 52:54:00:7f:d9:32 brd ff:ff:ff:ff:ff:ff
>    inet 192.168.x.y/24 brd 192.168.x.y scope global eth0
>       valid_lft forever preferred_lft forever
>
Comment 6 Richard Bos 2019-08-27 18:57:59 UTC
When I execute your "sysctl -a | grep disable_ipv6" command:

My output is:
# sysctl -a | grep disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 0  <<<<<<
net.ipv6.conf.lo.disable_ipv6 = 1


I checked my settings again and "enable ipv6" is unchecked.
(and IPv6 is thus present)

In the log        I find:

2019-08-14 06:23:35 <3> <system> (6198) [ag_udev_persistent] OPEN_FAILED opening /etc/udev/rules.d/79-yast2-drivers.rules failed: No such file or directory

2019-08-14 06:23:35 <1> <system>(6159) [Ruby] modules/LanItems.rb:1134 Ops.get called on nil.
2019-08-14 06:23:35 <1> <system>(6159) [Ruby] modules/LanItems.rb:1133 Index 1 is out of array size
2019-08-14 06:23:35 <1> <system>(6159) [Ruby] modules/LanItems.rb:1131 Index 1 is out of array size

The code does not seems to be happy...


It continues with:
2019-08-14 06:23:35 <1> <system>(6159) [Ruby] modules/Lan.rb:227 readIPv6: IPv6 is disabled

2019-08-14 06:23:35 <3> <system>(6159) [Interpreter] modules/Routing.rb:273 File not found /etc/sysconfig/network/ifroute-eth0
2019-08-14 06:23:35 <3> s<system>(6159) [Interpreter] modules/Routing.rb:273 File not found /etc/sysconfig/network/ifroute-lo

(replace my hostname with <system>)

Looks like an issue....
# ls -l /etc/sysconfig/network/ifroute-*

ls: cannot access '/etc/sysconfig/network/ifroute-*': No such file or directory
# ls -l /etc/sysconfig/network/if*
-rw------- 1 root root   195 Jul 30 12:17 /etc/sysconfig/network/ifcfg-eth0
-rw------- 1 root root   147 Apr 11 05:42 /etc/sysconfig/network/ifcfg-lo
-rw-r--r-- 1 root root 21738 Feb 24  2019 /etc/sysconfig/network/ifcfg.template


Is this the issue?
Comment 7 Richard Bos 2019-08-27 18:58:55 UTC
BTW: the logfile used is: y2log-1.gz
Comment 8 David Diaz 2019-08-28 07:00:08 UTC
(In reply to Richard Bos from comment #6)
> When I execute your "sysctl -a | grep disable_ipv6" command:
> 
> My output is:
> # sysctl -a | grep disable_ipv6
> net.ipv6.conf.all.disable_ipv6 = 1
> net.ipv6.conf.default.disable_ipv6 = 1
> net.ipv6.conf.eth0.disable_ipv6 = 0  <<<<<<
> net.ipv6.conf.lo.disable_ipv6 = 1
> 
> 
> I checked my settings again and "enable ipv6" is unchecked.
> (and IPv6 is thus present)
> 
> In the log        I find:
> 
> 2019-08-14 06:23:35 <3> <system> (6198) [ag_udev_persistent] OPEN_FAILED
> opening /etc/udev/rules.d/79-yast2-drivers.rules failed: No such file or
> directory
> 
> 2019-08-14 06:23:35 <1> <system>(6159) [Ruby] modules/LanItems.rb:1134
> Ops.get called on nil.
> 2019-08-14 06:23:35 <1> <system>(6159) [Ruby] modules/LanItems.rb:1133 Index
> 1 is out of array size
> 2019-08-14 06:23:35 <1> <system>(6159) [Ruby] modules/LanItems.rb:1131 Index
> 1 is out of array size
> 
> The code does not seems to be happy...

If I'm not wrong, those log lines are not related with the reported problem.

> 
> 
> It continues with:
> 2019-08-14 06:23:35 <1> <system>(6159) [Ruby] modules/Lan.rb:227 readIPv6:
> IPv6 is disabled
> 
> 2019-08-14 06:23:35 <3> <system>(6159) [Interpreter] modules/Routing.rb:273
> File not found /etc/sysconfig/network/ifroute-eth0
> 2019-08-14 06:23:35 <3> s<system>(6159) [Interpreter] modules/Routing.rb:273
> File not found /etc/sysconfig/network/ifroute-lo
> 
> (replace my hostname with <system>)
> 
> Looks like an issue....
> # ls -l /etc/sysconfig/network/ifroute-*
> 
> ls: cannot access '/etc/sysconfig/network/ifroute-*': No such file or
> directory
> # ls -l /etc/sysconfig/network/if*
> -rw------- 1 root root   195 Jul 30 12:17 /etc/sysconfig/network/ifcfg-eth0
> -rw------- 1 root root   147 Apr 11 05:42 /etc/sysconfig/network/ifcfg-lo
> -rw-r--r-- 1 root root 21738 Feb 24  2019
> /etc/sysconfig/network/ifcfg.template
> 
> 
> Is this the issue?

I don't think so. I have exactly the same in the Leap 15.1 in which I did the test.

I am going to add a NEEDINFO for Michal, and wait for his conclusion to see if there is something wrong in the YaST side.
Comment 9 Michal Filka 2019-09-03 10:05:47 UTC
(In reply to Richard Bos from comment #6)
> When I execute your "sysctl -a | grep disable_ipv6" command:
> 
> My output is:
> # sysctl -a | grep disable_ipv6
> net.ipv6.conf.all.disable_ipv6 = 1
> net.ipv6.conf.default.disable_ipv6 = 1
> net.ipv6.conf.eth0.disable_ipv6 = 0  <<<<<<

this should be a problem. It overwrites global setup (.all.disable_ipv6) by per interface setup (eth0 in this case). Question is where it comes from because yast do not touch this per interface variables.

Could you try a "hotfix": 
/usr/sbin/sysctl -w net.ipv6.conf.eth0.disable_ipv6=1

and check whether it survives reboot to see if it is configured by some other part of your system?

> net.ipv6.conf.lo.disable_ipv6 = 1
> 
> 
> I checked my settings again and "enable ipv6" is unchecked.
> (and IPv6 is thus present)
> 
> In the log        I find:
> 
> 2019-08-14 06:23:35 <3> <system> (6198) [ag_udev_persistent] OPEN_FAILED
> opening /etc/udev/rules.d/79-yast2-drivers.rules failed: No such file or
> directory
> 
> 2019-08-14 06:23:35 <1> <system>(6159) [Ruby] modules/LanItems.rb:1134
> Ops.get called on nil.
> 2019-08-14 06:23:35 <1> <system>(6159) [Ruby] modules/LanItems.rb:1133 Index
> 1 is out of array size
> 2019-08-14 06:23:35 <1> <system>(6159) [Ruby] modules/LanItems.rb:1131 Index
> 1 is out of array size
> 
> The code does not seems to be happy...

Usually not a problem. Just info - a bit useless bcs it can be caused by valid check like "if index is not in limit go away"

> 
> 
> It continues with:
> 2019-08-14 06:23:35 <1> <system>(6159) [Ruby] modules/Lan.rb:227 readIPv6:
> IPv6 is disabled
> 
> 2019-08-14 06:23:35 <3> <system>(6159) [Interpreter] modules/Routing.rb:273
> File not found /etc/sysconfig/network/ifroute-eth0
> 2019-08-14 06:23:35 <3> s<system>(6159) [Interpreter] modules/Routing.rb:273
> File not found /etc/sysconfig/network/ifroute-lo
> 
> (replace my hostname with <system>)
> 
> Looks like an issue....
> # ls -l /etc/sysconfig/network/ifroute-*
> 
> ls: cannot access '/etc/sysconfig/network/ifroute-*': No such file or
> directory
> # ls -l /etc/sysconfig/network/if*
> -rw------- 1 root root   195 Jul 30 12:17 /etc/sysconfig/network/ifcfg-eth0
> -rw------- 1 root root   147 Apr 11 05:42 /etc/sysconfig/network/ifcfg-lo
> -rw-r--r-- 1 root root 21738 Feb 24  2019
> /etc/sysconfig/network/ifcfg.template
> 
> 
> Is this the issue?

No. It just means that you don't use per interface route files. Again just info.
Comment 10 Michal Filka 2019-09-03 10:09:15 UTC
(In reply to Richard Bos from comment #7)
> BTW: the logfile used is: y2log-1.gz

It is a rotated logfile. Usually contains e.g. logs from installation or old logs which are not accurate anymore.

what we need is at least /var/log/YaST2/y2log or (better) result of save_y2logs command as pointed in Comment#3 - it gathers also some other logs and stores a pieces of configuration state which help us to debug the issue.
Comment 11 Richard Bos 2019-09-05 17:05:08 UTC
Sorry, I've been busy replacing a disk....

I now checked the status and look:
# sysctl -a | grep disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1


Lo and behold:
# ip a
   no IPv6

I did _not_ make changes....

Well check next reboot as well, and see what that gives.
Comment 12 David Diaz 2019-09-11 10:36:03 UTC
@Richard,

Any updates on this?
Comment 13 Richard Bos 2019-09-11 18:32:36 UTC
Multiple reboots, all of them without IPv6 (as configured).

I suspect that the disk repair solved the issue (sounds strange, but it seems so).
Comment 14 David Diaz 2019-09-11 19:10:06 UTC
(In reply to Richard Bos from comment #13)
> Multiple reboots, all of them without IPv6 (as configured).
> 
> I suspect that the disk repair solved the issue (sounds strange, but it
> seems so).

Indeed, it sounds quite strange.

At this point, I think we can do nothing more than close the report as INVALID.

Thank you so much for your collaboration, Richard.