Bug 1135647

Summary: Missing ipv6 assignment with upgrade leap 15.0 to 15.1?
Product: [openSUSE] openSUSE Distribution Reporter: andreas bittner <abittner>
Component: NetworkAssignee: wicked maintainers <wicked-maintainers>
Status: RESOLVED INVALID QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: abittner, alynx.zhou, anton.smorodskyi, bwiedemann, mt, wicked-maintainers
Version: Leap 15.1   
Target Milestone: ---   
Hardware: x86-64   
OS: Other   
See Also: http://bugzilla.opensuse.org/show_bug.cgi?id=1122194
https://bugzilla.opensuse.org/show_bug.cgi?id=1148309
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description andreas bittner 2019-05-20 14:25:41 UTC
I have some simple system, installed last year, for the first time, started with a clean 15.0 back then.

Some consumer german xdsl isp. The actual router/cpe has ipv6 assignments and usually supplies connected machines with routable ipv6 as well.

The upgraded (zypper dup) opensuse leap 15.1 system doesnt have an assigned global ipv6 any more.

The network interface card was set to dhcp4 only, but as to my knowledge, this wouldnt hinder the ipv6 autoconfiguration and assignment.

What went wrong here or what am I doing wrong?

Yast2 shows ipv6 globally enabled, and I see fe80:: addresses and ::1 on lo.
Comment 1 Alynx Zhou 2019-07-01 03:01:09 UTC
Are you using NetworkManager? Could you please tell me where you see your network interfaces? So I can get more info about where it can be assigned.
Comment 2 Bernhard Wiedemann 2019-07-16 13:51:58 UTC
you could also try tcpdump -epni eth0
(or wlan0)

to see if IPv6 router solicitation messages come over the wire.

watching journalctl -f during ifdown $INTERFACE ; ifup $INTERFACE
could also give hints.

Indeed, dhcp4 mode still allows for IPv6 stateless autoconfiguration.
Comment 4 Marius Tomaschewski 2019-08-14 14:41:23 UTC
Install radvd package and start radvdump for a while. Do you see any
advertisement from your router which contains:

	AdvManagedFlag on;
or
	AdvOtherConfigFlag on;

flags? When they're off, the router does not want to provide dhcpv6;
on AdvOtherConfigFlag on but AdvManagedFlag off, it provides only dns,
ntp, ... but no IPv6 address assignment via DHCPv6.

There may be still a prefix .../64 { AdvAutonomous on; }, which enables
slaac (autoconf). This is enabled/disabled using the "autoconf = 1"
(and accept_ra) sysctl in the kernel, see "sysctl -a net.ipv6.conf" and
at least "sysctl net.ipv6.conf".

Except of this, see comment 3.
Comment 5 andreas bittner 2019-08-16 15:23:13 UTC
I just did as you suggestes, installed radvd package, on two systems actually, the one affected and mentioned in this bug, the other similar/same opensuse leap 15.1 (also upgraded via zypper dup same way from 15.0)

the one is perfectly fine having public ipv6 assigned
the other system, affected and mentioned here, does not get the ipv6 assigned.

both systems are on the same ipv4/ipv6 dualstack incumbend xdsl isp provider in germany, at different locations though, but both using the very same xdsl product.


both radvdump show advertisements the same way on both, the affected and the unaffected system.


Every once in a while, the list debug output, about a prefix, an rdnss, a route ::/0 and another route ......::/56


The same at both places.

Also the sysctl stuff, grepping for that "net.ipv6.conf" lists autoconf = 1 everywhere

net.ipv6.conf.all.autoconf = 1
net.ipv6.conf.default.autoconf = 1
net.ipv6.conf.eth0.autoconf = 1
net.ipv6.conf.eth1.autoconf = 1
net.ipv6.conf.lo.autoconf = 1


Still no public ipv6 assignment visible via "ip -c add" and no ipv6 stack usable on the public routed internet

Where can I find out more why the ipv6 doesnt get used and applied?
Comment 6 andreas bittner 2019-08-18 17:26:33 UTC
latest incident, some yet another test-only system with coming a long time from previous LEAPs. Already being on leap 15.1 for many months now.

today, right before this previous reboot, came the kernel update to

Linux linux-ang0.site 4.12.14-lp151.28.13-default #1 SMP Wed Aug 7 07:20:16 UTC 2019 (0c09ad2) x86_64 x86_64 x86_64 GNU/Linux


After rebooting into this kernel, the whole system gets public ipv6 assigned on its eth0, but can not make any use of it, neither ping6 nor traceroute6 going anywhere outside of this box.

no ping replies to ipv6 hosts outside I know that usually reply, nor firefox ipv6 check via

<https://ipv6-test.com/>
<https://test-ipv6.com/>

connectivity on ipv6 is not existant nonworking these pages show.

ip -c add

shows public ipv6 assignment.

what now?

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether e0:cb:4e:ba:5c:32 brd ff:ff:ff:ff:ff:ff
    inet 192.168.178.27/24 brd 192.168.178.255 scope global noprefixroute dynamic eth0
       valid_lft 863446sec preferred_lft 863446sec
    inet6 2003:d8:bc8:cf00:491e:961c:213b:c946/128 scope global noprefixroute dynamic 
       valid_lft 6659sec preferred_lft 3059sec
    inet6 2003:d8:bf3:9000:ec65:43f9:6681:345a/64 scope global temporary dynamic 
       valid_lft 6717sec preferred_lft 1317sec
    inet6 2003:d8:bf3:9000:93f8:24a2:a23d:b8e5/64 scope global mngtmpaddr noprefixroute dynamic 
       valid_lft 6717sec preferred_lft 1317sec
    inet6 fe80::491e:961c:213b:c946/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever


ip route show
default via 192.168.178.1 dev eth0 proto dhcp 
default via 192.168.178.1 dev eth0 proto dhcp metric 20100 
192.168.178.0/24 dev eth0 proto kernel scope link src 192.168.178.27 metric 100

ip -6 route show
2003:d8:bc8:cf00:491e:961c:213b:c946 dev eth0 proto kernel metric 100 pref medium
2003:d8:bf3:9000::/64 dev eth0 proto ra metric 100 pref medium
2003:d8:bf3:9000::/56 via fe80::be05:43ff:fee6:cd1 dev eth0 proto ra metric 100 pref medium
fe80::/64 dev eth0 proto kernel metric 100 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
default via fe80::be05:43ff:fee6:cd1 dev eth0 proto ra metric 20100 pref medium
Comment 7 andreas bittner 2019-08-18 17:33:31 UTC
radvdump output on this system right now (after waiting a few minutes):



#
# radvd configuration generated by radvdump 2.17
# based on Router Advertisement from fe80::be05:43ff:fee6:cd1
# received by interface eth0
#

interface eth0
{
        AdvSendAdvert on;
        # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
        AdvManagedFlag on;
        AdvOtherConfigFlag on;
        AdvReachableTime 0;
        AdvRetransTimer 0;
        AdvCurHopLimit 255;
        AdvDefaultLifetime 1800;
        AdvHomeAgentFlag off;
        AdvDefaultPreference medium;
        AdvLinkMTU 1492;
        AdvSourceLLAddress on;

        prefix 2003:d8:bc8:cf00::/64
        {
                AdvValidLifetime 0;
                AdvPreferredLifetime 0;
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr off;
        }; # End of prefix definition


        prefix 2003:d8:bf3:9000::/64
        {
                AdvValidLifetime 7200;
                AdvPreferredLifetime 1800;
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr off;
        }; # End of prefix definition


        RDNSS fd00::be05:43ff:fee6:cd1
        {
                AdvRDNSSLifetime 1200;
        }; # End of RDNSS definition


        route ::/0
        {
                AdvRoutePreference medium;
                AdvRouteLifetime 1800;
        }; # End of route definition


        route 2003:d8:bf3:9000::/56
        {
                AdvRoutePreference medium;
                AdvRouteLifetime 1800;
        }; # End of route definition

}; # End of interface definition
Comment 8 andreas bittner 2019-08-18 17:35:44 UTC
sudo sysctl -a net.ipv6.conf | grep -i "net.ip"



net.ipv4.cipso_cache_bucket_size = 10
net.ipv4.cipso_cache_enable = 1
net.ipv4.cipso_rbm_optfmt = 0
net.ipv4.cipso_rbm_strictvalid = 1
net.ipv4.conf.all.accept_local = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.arp_accept = 0
net.ipv4.conf.all.arp_announce = 0
net.ipv4.conf.all.arp_filter = 0
net.ipv4.conf.all.arp_ignore = 0
net.ipv4.conf.all.arp_notify = 0
net.ipv4.conf.all.bootp_relay = 0
net.ipv4.conf.all.disable_policy = 0
net.ipv4.conf.all.disable_xfrm = 0
net.ipv4.conf.all.drop_gratuitous_arp = 0
net.ipv4.conf.all.drop_unicast_in_l2_multicast = 0
net.ipv4.conf.all.force_igmp_version = 0
net.ipv4.conf.all.forwarding = 1
net.ipv4.conf.all.igmpv2_unsolicited_report_interval = 10000
net.ipv4.conf.all.igmpv3_unsolicited_report_interval = 1000
net.ipv4.conf.all.ignore_routes_with_linkdown = 0
net.ipv4.conf.all.log_martians = 0
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.all.medium_id = 0
net.ipv4.conf.all.promote_secondaries = 1
net.ipv4.conf.all.proxy_arp = 0
net.ipv4.conf.all.proxy_arp_pvlan = 0
net.ipv4.conf.all.route_localnet = 0
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.secure_redirects = 1
net.ipv4.conf.all.send_redirects = 1
net.ipv4.conf.all.shared_media = 1
net.ipv4.conf.all.src_valid_mark = 0
net.ipv4.conf.all.tag = 0
net.ipv4.conf.default.accept_local = 0
net.ipv4.conf.default.accept_redirects = 1
net.ipv4.conf.default.accept_source_route = 1
net.ipv4.conf.default.arp_accept = 0
net.ipv4.conf.default.arp_announce = 0
net.ipv4.conf.default.arp_filter = 0
net.ipv4.conf.default.arp_ignore = 0
net.ipv4.conf.default.arp_notify = 0
net.ipv4.conf.default.bootp_relay = 0
net.ipv4.conf.default.disable_policy = 0
net.ipv4.conf.default.disable_xfrm = 0
net.ipv4.conf.default.drop_gratuitous_arp = 0
net.ipv4.conf.default.drop_unicast_in_l2_multicast = 0
net.ipv4.conf.default.force_igmp_version = 0
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.default.igmpv2_unsolicited_report_interval = 10000
net.ipv4.conf.default.igmpv3_unsolicited_report_interval = 1000
net.ipv4.conf.default.ignore_routes_with_linkdown = 0
net.ipv4.conf.default.log_martians = 0
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.default.medium_id = 0
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.default.proxy_arp_pvlan = 0
net.ipv4.conf.default.route_localnet = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.secure_redirects = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.default.shared_media = 1
net.ipv4.conf.default.src_valid_mark = 0
net.ipv4.conf.default.tag = 0
net.ipv4.conf.eth0.accept_local = 0
net.ipv4.conf.eth0.accept_redirects = 1
net.ipv4.conf.eth0.accept_source_route = 1
net.ipv4.conf.eth0.arp_accept = 0
net.ipv4.conf.eth0.arp_announce = 0
net.ipv4.conf.eth0.arp_filter = 0
net.ipv4.conf.eth0.arp_ignore = 0
net.ipv4.conf.eth0.arp_notify = 0
net.ipv4.conf.eth0.bootp_relay = 0
net.ipv4.conf.eth0.disable_policy = 0
net.ipv4.conf.eth0.disable_xfrm = 0
net.ipv4.conf.eth0.drop_gratuitous_arp = 0
net.ipv4.conf.eth0.drop_unicast_in_l2_multicast = 0
net.ipv4.conf.eth0.force_igmp_version = 0
net.ipv4.conf.eth0.forwarding = 1
net.ipv4.conf.eth0.igmpv2_unsolicited_report_interval = 10000
net.ipv4.conf.eth0.igmpv3_unsolicited_report_interval = 1000
net.ipv4.conf.eth0.ignore_routes_with_linkdown = 0
net.ipv4.conf.eth0.log_martians = 0
net.ipv4.conf.eth0.mc_forwarding = 0
net.ipv4.conf.eth0.medium_id = 0
net.ipv4.conf.eth0.promote_secondaries = 1
net.ipv4.conf.eth0.proxy_arp = 0
net.ipv4.conf.eth0.proxy_arp_pvlan = 0
net.ipv4.conf.eth0.route_localnet = 0
net.ipv4.conf.eth0.rp_filter = 2
net.ipv4.conf.eth0.secure_redirects = 1
net.ipv4.conf.eth0.send_redirects = 1
net.ipv4.conf.eth0.shared_media = 1
net.ipv4.conf.eth0.src_valid_mark = 0
net.ipv4.conf.eth0.tag = 0
net.ipv4.conf.lo.accept_local = 0
net.ipv4.conf.lo.accept_redirects = 1
net.ipv4.conf.lo.accept_source_route = 1
net.ipv4.conf.lo.arp_accept = 0
net.ipv4.conf.lo.arp_announce = 0
net.ipv4.conf.lo.arp_filter = 0
net.ipv4.conf.lo.arp_ignore = 0
net.ipv4.conf.lo.arp_notify = 0
net.ipv4.conf.lo.bootp_relay = 0
net.ipv4.conf.lo.disable_policy = 1
net.ipv4.conf.lo.disable_xfrm = 1
net.ipv4.conf.lo.drop_gratuitous_arp = 0
net.ipv4.conf.lo.drop_unicast_in_l2_multicast = 0
net.ipv4.conf.lo.force_igmp_version = 0
net.ipv4.conf.lo.forwarding = 1
net.ipv4.conf.lo.igmpv2_unsolicited_report_interval = 10000
net.ipv4.conf.lo.igmpv3_unsolicited_report_interval = 1000
net.ipv4.conf.lo.ignore_routes_with_linkdown = 0
net.ipv4.conf.lo.log_martians = 0
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.lo.medium_id = 0
net.ipv4.conf.lo.promote_secondaries = 0
net.ipv4.conf.lo.proxy_arp = 0
net.ipv4.conf.lo.proxy_arp_pvlan = 0
net.ipv4.conf.lo.route_localnet = 0
net.ipv4.conf.lo.rp_filter = 0
net.ipv4.conf.lo.secure_redirects = 1
net.ipv4.conf.lo.send_redirects = 1
net.ipv4.conf.lo.shared_media = 1
net.ipv4.conf.lo.src_valid_mark = 0
net.ipv4.conf.lo.tag = 0
net.ipv4.fib_multipath_hash_policy = 0
net.ipv4.fib_multipath_use_neigh = 0
net.ipv4.fwmark_reflect = 0
net.ipv4.icmp_echo_ignore_all = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_errors_use_inbound_ifaddr = 0
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.icmp_msgs_burst = 50
net.ipv4.icmp_msgs_per_sec = 1000
net.ipv4.icmp_ratelimit = 1000
net.ipv4.icmp_ratemask = 6168
net.ipv4.igmp_link_local_mcast_reports = 1
net.ipv4.igmp_max_memberships = 20
net.ipv4.igmp_max_msf = 10
net.ipv4.igmp_qrv = 2
net.ipv4.inet_peer_maxttl = 600
net.ipv4.inet_peer_minttl = 120
net.ipv4.inet_peer_threshold = 65664
net.ipv4.ip_default_ttl = 64
net.ipv4.ip_dynaddr = 0
net.ipv4.ip_early_demux = 1
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_use_pmtu = 0
net.ipv4.ip_local_port_range = 32768    60999
net.ipv4.ip_local_reserved_ports = 
net.ipv4.ip_no_pmtu_disc = 0
net.ipv4.ip_nonlocal_bind = 0
net.ipv4.ip_unprivileged_port_start = 1024
net.ipv4.ipfrag_high_thresh = 4194304
net.ipv4.ipfrag_low_thresh = 3145728
net.ipv4.ipfrag_max_dist = 64
net.ipv4.ipfrag_secret_interval = 0
net.ipv4.ipfrag_time = 30
net.ipv4.neigh.default.anycast_delay = 100
net.ipv4.neigh.default.app_solicit = 0
net.ipv4.neigh.default.base_reachable_time_ms = 30000
net.ipv4.neigh.default.delay_first_probe_time = 5
net.ipv4.neigh.default.gc_interval = 30
net.ipv4.neigh.default.gc_stale_time = 60
net.ipv4.neigh.default.gc_thresh1 = 128
net.ipv4.neigh.default.gc_thresh2 = 512
net.ipv4.neigh.default.gc_thresh3 = 1024
net.ipv4.neigh.default.locktime = 100
net.ipv4.neigh.default.mcast_resolicit = 0
net.ipv4.neigh.default.mcast_solicit = 3
net.ipv4.neigh.default.proxy_delay = 80
net.ipv4.neigh.default.proxy_qlen = 64
net.ipv4.neigh.default.retrans_time_ms = 1000
net.ipv4.neigh.default.ucast_solicit = 3
net.ipv4.neigh.default.unres_qlen = 31
net.ipv4.neigh.default.unres_qlen_bytes = 65536
net.ipv4.neigh.eth0.anycast_delay = 100
net.ipv4.neigh.eth0.app_solicit = 0
net.ipv4.neigh.eth0.base_reachable_time_ms = 30000
net.ipv4.neigh.eth0.delay_first_probe_time = 5
net.ipv4.neigh.eth0.gc_stale_time = 60
net.ipv4.neigh.eth0.locktime = 100
net.ipv4.neigh.eth0.mcast_resolicit = 0
net.ipv4.neigh.eth0.mcast_solicit = 3
net.ipv4.neigh.eth0.proxy_delay = 80
net.ipv4.neigh.eth0.proxy_qlen = 64
net.ipv4.neigh.eth0.retrans_time_ms = 1000
net.ipv4.neigh.eth0.ucast_solicit = 3
net.ipv4.neigh.eth0.unres_qlen = 31
net.ipv4.neigh.eth0.unres_qlen_bytes = 65536
net.ipv4.neigh.lo.anycast_delay = 100
net.ipv4.neigh.lo.app_solicit = 0
net.ipv4.neigh.lo.base_reachable_time_ms = 30000
net.ipv4.neigh.lo.delay_first_probe_time = 5
net.ipv4.neigh.lo.gc_stale_time = 60
net.ipv4.neigh.lo.locktime = 100
net.ipv4.neigh.lo.mcast_resolicit = 0
net.ipv4.neigh.lo.mcast_solicit = 3
net.ipv4.neigh.lo.proxy_delay = 80
net.ipv4.neigh.lo.proxy_qlen = 64
net.ipv4.neigh.lo.retrans_time_ms = 1000
net.ipv4.neigh.lo.ucast_solicit = 3
net.ipv4.neigh.lo.unres_qlen = 31
net.ipv4.neigh.lo.unres_qlen_bytes = 65536
net.ipv4.ping_group_range = 1   0
net.ipv4.route.error_burst = 1250
net.ipv4.route.error_cost = 250
net.ipv4.route.gc_elasticity = 8
net.ipv4.route.gc_interval = 60
net.ipv4.route.gc_min_interval = 0
net.ipv4.route.gc_min_interval_ms = 500
net.ipv4.route.gc_thresh = -1
net.ipv4.route.gc_timeout = 300
net.ipv4.route.max_size = 2147483647
net.ipv4.route.min_adv_mss = 256
net.ipv4.route.min_pmtu = 552
net.ipv4.route.mtu_expires = 600
net.ipv4.route.redirect_load = 5
net.ipv4.route.redirect_number = 9
net.ipv4.route.redirect_silence = 5120
net.ipv4.tcp_abort_on_overflow = 0
net.ipv4.tcp_adv_win_scale = 1
net.ipv4.tcp_allowed_congestion_control = cubic reno
net.ipv4.tcp_app_win = 31
net.ipv4.tcp_autocorking = 1
net.ipv4.tcp_available_congestion_control = cubic reno
net.ipv4.tcp_available_ulp = 
net.ipv4.tcp_base_mss = 1024
net.ipv4.tcp_challenge_ack_limit = 1000
net.ipv4.tcp_congestion_control = cubic
net.ipv4.tcp_dsack = 1
net.ipv4.tcp_early_demux = 1
net.ipv4.tcp_early_retrans = 3
net.ipv4.tcp_ecn = 2
net.ipv4.tcp_ecn_fallback = 1
net.ipv4.tcp_fack = 0
net.ipv4.tcp_fastopen = 1
net.ipv4.tcp_fastopen_blackhole_timeout_sec = 3600
net.ipv4.tcp_fastopen_key = 00000000-00000000-00000000-00000000
net.ipv4.tcp_fin_timeout = 60
net.ipv4.tcp_frto = 2
net.ipv4.tcp_fwmark_accept = 0
net.ipv4.tcp_invalid_ratelimit = 500
net.ipv4.tcp_keepalive_intvl = 75
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_time = 7200
net.ipv4.tcp_l3mdev_accept = 0
net.ipv4.tcp_limit_output_bytes = 262144
net.ipv4.tcp_low_latency = 0
net.ipv4.tcp_max_orphans = 32768
net.ipv4.tcp_max_reordering = 300
net.ipv4.tcp_max_syn_backlog = 256
net.ipv4.tcp_max_tw_buckets = 32768
net.ipv4.tcp_mem = 93456        124609  186912
net.ipv4.tcp_min_rtt_wlen = 300
net.ipv4.tcp_min_snd_mss = 48
net.ipv4.tcp_min_tso_segs = 2
net.ipv4.tcp_moderate_rcvbuf = 1
net.ipv4.tcp_mtu_probing = 0
net.ipv4.tcp_no_metrics_save = 0
net.ipv4.tcp_notsent_lowat = 4294967295
net.ipv4.tcp_orphan_retries = 0
net.ipv4.tcp_pacing_ca_ratio = 120
net.ipv4.tcp_pacing_ss_ratio = 200
net.ipv4.tcp_probe_interval = 600
net.ipv4.tcp_probe_threshold = 8
net.ipv4.tcp_recovery = 1
net.ipv4.tcp_reordering = 3
net.ipv4.tcp_retrans_collapse = 1
net.ipv4.tcp_retries1 = 3
net.ipv4.tcp_retries2 = 15
net.ipv4.tcp_rfc1337 = 0
net.ipv4.tcp_rmem = 4096        87380   6291456
net.ipv4.tcp_sack = 1
net.ipv4.tcp_slow_start_after_idle = 1
net.ipv4.tcp_stdurg = 0
net.ipv4.tcp_syn_retries = 6
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_thin_linear_timeouts = 0
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_tso_win_divisor = 3
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_wmem = 4096        16384   4194304
net.ipv4.tcp_workaround_signed_windows = 0
net.ipv4.udp_early_demux = 1
net.ipv4.udp_l3mdev_accept = 0
net.ipv4.udp_mem = 186912       249218  373824
net.ipv4.udp_rmem_min = 4096
net.ipv4.udp_wmem_min = 4096
net.ipv4.xfrm4_gc_thresh = 2147483647
net.ipv6.anycast_src_echo_reply = 0
net.ipv6.auto_flowlabels = 1
net.ipv6.bindv6only = 0
net.ipv6.calipso_cache_bucket_size = 10
net.ipv6.calipso_cache_enable = 1
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 = 0
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 = 1
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
net.ipv6.conf.default.accept_dad = 1
net.ipv6.conf.default.accept_ra = 1
net.ipv6.conf.default.accept_ra_defrtr = 1
net.ipv6.conf.default.accept_ra_from_local = 0
net.ipv6.conf.default.accept_ra_min_hop_limit = 1
net.ipv6.conf.default.accept_ra_mtu = 1
net.ipv6.conf.default.accept_ra_pinfo = 1
net.ipv6.conf.default.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.default.accept_ra_rt_info_min_plen = 0
net.ipv6.conf.default.accept_ra_rtr_pref = 1
net.ipv6.conf.default.accept_redirects = 1
net.ipv6.conf.default.accept_source_route = 0
net.ipv6.conf.default.addr_gen_mode = 0
net.ipv6.conf.default.autoconf = 1
net.ipv6.conf.default.dad_transmits = 1
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.default.disable_policy = 0
net.ipv6.conf.default.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.default.drop_unsolicited_na = 0
net.ipv6.conf.default.enhanced_dad = 1
net.ipv6.conf.default.force_mld_version = 0
net.ipv6.conf.default.force_tllao = 0
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.default.hop_limit = 64
net.ipv6.conf.default.ignore_routes_with_linkdown = 0
net.ipv6.conf.default.keep_addr_on_down = 0
net.ipv6.conf.default.max_addresses = 16
net.ipv6.conf.default.max_desync_factor = 600
net.ipv6.conf.default.mc_forwarding = 0
net.ipv6.conf.default.mldv1_unsolicited_report_interval = 10000
net.ipv6.conf.default.mldv2_unsolicited_report_interval = 1000
net.ipv6.conf.default.mtu = 1280
net.ipv6.conf.default.ndisc_notify = 0
net.ipv6.conf.default.proxy_ndp = 0
net.ipv6.conf.default.regen_max_retry = 3
net.ipv6.conf.default.router_probe_interval = 60
net.ipv6.conf.default.router_solicitation_delay = 1
net.ipv6.conf.default.router_solicitation_interval = 4
net.ipv6.conf.default.router_solicitation_max_interval = 3600
net.ipv6.conf.default.router_solicitations = -1
net.ipv6.conf.default.seg6_enabled = 0
net.ipv6.conf.default.seg6_require_hmac = 0
net.ipv6.conf.default.suppress_frag_ndisc = 1
net.ipv6.conf.default.temp_prefered_lft = 86400
net.ipv6.conf.default.temp_valid_lft = 604800
net.ipv6.conf.default.use_oif_addrs_only = 0
net.ipv6.conf.default.use_tempaddr = 1
net.ipv6.conf.eth0.accept_dad = 1
net.ipv6.conf.eth0.accept_ra = 1
net.ipv6.conf.eth0.accept_ra_defrtr = 0
net.ipv6.conf.eth0.accept_ra_from_local = 0
net.ipv6.conf.eth0.accept_ra_min_hop_limit = 1
net.ipv6.conf.eth0.accept_ra_mtu = 1
net.ipv6.conf.eth0.accept_ra_pinfo = 0
net.ipv6.conf.eth0.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.eth0.accept_ra_rt_info_min_plen = 0
net.ipv6.conf.eth0.accept_ra_rtr_pref = 0
net.ipv6.conf.eth0.accept_redirects = 1
net.ipv6.conf.eth0.accept_source_route = 0
net.ipv6.conf.eth0.addr_gen_mode = 1
net.ipv6.conf.eth0.autoconf = 1
net.ipv6.conf.eth0.dad_transmits = 1
net.ipv6.conf.eth0.disable_ipv6 = 0
net.ipv6.conf.eth0.disable_policy = 0
net.ipv6.conf.eth0.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.eth0.drop_unsolicited_na = 0
net.ipv6.conf.eth0.enhanced_dad = 1
net.ipv6.conf.eth0.force_mld_version = 0
net.ipv6.conf.eth0.force_tllao = 0
net.ipv6.conf.eth0.forwarding = 1
net.ipv6.conf.eth0.hop_limit = 255
net.ipv6.conf.eth0.ignore_routes_with_linkdown = 0
net.ipv6.conf.eth0.keep_addr_on_down = 0
net.ipv6.conf.eth0.max_addresses = 16
net.ipv6.conf.eth0.max_desync_factor = 600
net.ipv6.conf.eth0.mc_forwarding = 0
net.ipv6.conf.eth0.mldv1_unsolicited_report_interval = 10000
net.ipv6.conf.eth0.mldv2_unsolicited_report_interval = 1000
net.ipv6.conf.eth0.mtu = 1492
net.ipv6.conf.eth0.ndisc_notify = 0
net.ipv6.conf.eth0.proxy_ndp = 0
net.ipv6.conf.eth0.regen_max_retry = 3
net.ipv6.conf.eth0.router_probe_interval = 60
net.ipv6.conf.eth0.router_solicitation_delay = 1
net.ipv6.conf.eth0.router_solicitation_interval = 4
net.ipv6.conf.eth0.router_solicitation_max_interval = 3600
net.ipv6.conf.eth0.router_solicitations = -1
net.ipv6.conf.eth0.seg6_enabled = 0
net.ipv6.conf.eth0.seg6_require_hmac = 0
net.ipv6.conf.eth0.suppress_frag_ndisc = 1
net.ipv6.conf.eth0.temp_prefered_lft = 86400
net.ipv6.conf.eth0.temp_valid_lft = 604800
net.ipv6.conf.eth0.use_oif_addrs_only = 0
net.ipv6.conf.eth0.use_tempaddr = 1
net.ipv6.conf.lo.accept_dad = -1
net.ipv6.conf.lo.accept_ra = 1
net.ipv6.conf.lo.accept_ra_defrtr = 1
net.ipv6.conf.lo.accept_ra_from_local = 0
net.ipv6.conf.lo.accept_ra_min_hop_limit = 1
net.ipv6.conf.lo.accept_ra_mtu = 1
net.ipv6.conf.lo.accept_ra_pinfo = 1
net.ipv6.conf.lo.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.lo.accept_ra_rt_info_min_plen = 0
net.ipv6.conf.lo.accept_ra_rtr_pref = 1
net.ipv6.conf.lo.accept_redirects = 1
net.ipv6.conf.lo.accept_source_route = 0
net.ipv6.conf.lo.addr_gen_mode = 0
net.ipv6.conf.lo.autoconf = 1
net.ipv6.conf.lo.dad_transmits = 1
net.ipv6.conf.lo.disable_ipv6 = 0
net.ipv6.conf.lo.disable_policy = 0
net.ipv6.conf.lo.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.lo.drop_unsolicited_na = 0
net.ipv6.conf.lo.enhanced_dad = 1
net.ipv6.conf.lo.force_mld_version = 0
net.ipv6.conf.lo.force_tllao = 0
net.ipv6.conf.lo.forwarding = 1
net.ipv6.conf.lo.hop_limit = 64
net.ipv6.conf.lo.ignore_routes_with_linkdown = 0
net.ipv6.conf.lo.keep_addr_on_down = 0
net.ipv6.conf.lo.max_addresses = 16
net.ipv6.conf.lo.max_desync_factor = 600
net.ipv6.conf.lo.mc_forwarding = 0
net.ipv6.conf.lo.mldv1_unsolicited_report_interval = 10000
net.ipv6.conf.lo.mldv2_unsolicited_report_interval = 1000
net.ipv6.conf.lo.mtu = 65536
net.ipv6.conf.lo.ndisc_notify = 0
net.ipv6.conf.lo.proxy_ndp = 0
net.ipv6.conf.lo.regen_max_retry = 3
net.ipv6.conf.lo.router_probe_interval = 60
net.ipv6.conf.lo.router_solicitation_delay = 1
net.ipv6.conf.lo.router_solicitation_interval = 4
net.ipv6.conf.lo.router_solicitation_max_interval = 3600
net.ipv6.conf.lo.router_solicitations = -1
net.ipv6.conf.lo.seg6_enabled = 0
net.ipv6.conf.lo.seg6_require_hmac = 0
net.ipv6.conf.lo.suppress_frag_ndisc = 1
net.ipv6.conf.lo.temp_prefered_lft = 86400
net.ipv6.conf.lo.temp_valid_lft = 604800
net.ipv6.conf.lo.use_oif_addrs_only = 0
net.ipv6.conf.lo.use_tempaddr = -1
net.ipv6.flowlabel_consistency = 1
net.ipv6.flowlabel_state_ranges = 0
net.ipv6.fwmark_reflect = 0
net.ipv6.icmp.ratelimit = 1000
net.ipv6.idgen_delay = 1
net.ipv6.idgen_retries = 3
net.ipv6.ip6frag_high_thresh = 4194304
net.ipv6.ip6frag_low_thresh = 3145728
net.ipv6.ip6frag_secret_interval = 0
net.ipv6.ip6frag_time = 60
net.ipv6.ip_nonlocal_bind = 0
net.ipv6.mld_max_msf = 64
net.ipv6.mld_qrv = 2
net.ipv6.neigh.default.anycast_delay = 100
net.ipv6.neigh.default.app_solicit = 0
net.ipv6.neigh.default.base_reachable_time_ms = 30000
net.ipv6.neigh.default.delay_first_probe_time = 5
net.ipv6.neigh.default.gc_interval = 30
net.ipv6.neigh.default.gc_stale_time = 60
net.ipv6.neigh.default.gc_thresh1 = 128
net.ipv6.neigh.default.gc_thresh2 = 512
net.ipv6.neigh.default.gc_thresh3 = 1024
net.ipv6.neigh.default.locktime = 0
net.ipv6.neigh.default.mcast_resolicit = 0
net.ipv6.neigh.default.mcast_solicit = 3
net.ipv6.neigh.default.proxy_delay = 80
net.ipv6.neigh.default.proxy_qlen = 64
net.ipv6.neigh.default.retrans_time_ms = 1000
net.ipv6.neigh.default.ucast_solicit = 3
net.ipv6.neigh.default.unres_qlen = 31
net.ipv6.neigh.default.unres_qlen_bytes = 65536
net.ipv6.neigh.eth0.anycast_delay = 100
net.ipv6.neigh.eth0.app_solicit = 0
net.ipv6.neigh.eth0.base_reachable_time_ms = 30000
net.ipv6.neigh.eth0.delay_first_probe_time = 5
net.ipv6.neigh.eth0.gc_stale_time = 60
net.ipv6.neigh.eth0.locktime = 0
net.ipv6.neigh.eth0.mcast_resolicit = 0
net.ipv6.neigh.eth0.mcast_solicit = 3
net.ipv6.neigh.eth0.proxy_delay = 80
net.ipv6.neigh.eth0.proxy_qlen = 64
net.ipv6.neigh.eth0.retrans_time_ms = 1000
net.ipv6.neigh.eth0.ucast_solicit = 3
net.ipv6.neigh.eth0.unres_qlen = 31
net.ipv6.neigh.eth0.unres_qlen_bytes = 65536
net.ipv6.neigh.lo.anycast_delay = 100
net.ipv6.neigh.lo.app_solicit = 0
net.ipv6.neigh.lo.base_reachable_time_ms = 30000
net.ipv6.neigh.lo.delay_first_probe_time = 5
net.ipv6.neigh.lo.gc_stale_time = 60
net.ipv6.neigh.lo.locktime = 0
net.ipv6.neigh.lo.mcast_resolicit = 0
net.ipv6.neigh.lo.mcast_solicit = 3
net.ipv6.neigh.lo.proxy_delay = 80
net.ipv6.neigh.lo.proxy_qlen = 64
net.ipv6.neigh.lo.retrans_time_ms = 1000
net.ipv6.neigh.lo.ucast_solicit = 3
net.ipv6.neigh.lo.unres_qlen = 31
net.ipv6.neigh.lo.unres_qlen_bytes = 65536
net.ipv6.route.gc_elasticity = 9
net.ipv6.route.gc_interval = 30
net.ipv6.route.gc_min_interval = 0
net.ipv6.route.gc_min_interval_ms = 500
net.ipv6.route.gc_thresh = 1024
net.ipv6.route.gc_timeout = 60
net.ipv6.route.max_size = 4096
net.ipv6.route.min_adv_mss = 1220
net.ipv6.route.mtu_expires = 600
net.ipv6.xfrm6_gc_thresh = 2147483647
Comment 9 andreas bittner 2019-08-18 17:37:31 UTC
BOOTPROTO='dhcp4'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR=''
MTU=''
NAME='RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller'
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
PREFIXLEN='16'
ZONE=external
ifcfg-eth0 lines 1-11/11 (END)

--------



some stuff from dmesg -e


[  +0.135215] ip6_tables: (C) 2000-2006 Netfilter Core Team
[  +0.652830] Ebtables v2.0 registered
[  +0.473274] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[  +0.134149] r8169 0000:02:00.0 eth0: link down
[  +0.000007] r8169 0000:02:00.0 eth0: link down
[  +0.000127] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[  +0.242874] nf_conntrack version 0.5.0 (65536 buckets, 262144 max)
[  +0.465259] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[  +0.101830] Netfilter messages via NETLINK v0.30.
[  +0.027791] ip_set: protocol 6
[  +1.615423] r8169 0000:02:00.0 eth0: link up
[  +0.000016] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  +1.392130] NET: Registered protocol family 17
[Aug18 19:17] fuse init (API version 7.26)
[Aug18 19:34] nr_pdflush_threads exported in /proc is scheduled for removal
Comment 10 andreas bittner 2019-08-18 17:37:56 UTC
ip neigh
192.168.178.1 dev eth0 lladdr bc:05:43:e6:0c:d1 REACHABLE
fe80::be05:43ff:fee6:cd1 dev eth0 lladdr bc:05:43:e6:0c:d1 router REACHABLE
Comment 11 andreas bittner 2019-08-18 17:44:05 UTC
I have just cross checked on a windows system within the same lan, dualstack windows, ipv4 and public ipv6 assigned.

that windows box can successfully ping (and replies back) all of the following whereas this opensuse machine can not receive any replies via ping6:



(ping6, ping -6 tried both, traceroute6 as well)


opensuse.org.
download.opensuse.org.
google.com.
www.google.com.
blog.fefe.de.
www.fefe.de.


odd thing though is, it can and does ping the local router/gateway:

ping fritz.box.
PING fritz.box.(fritz.box (2003:d8:bf3:9000:be05:43ff:fee6:cd1)) 56 data bytes
64 bytes from fritz.box (2003:d8:bf3:9000:be05:43ff:fee6:cd1): icmp_seq=1 ttl=64 time=0.554 ms

from the opensuse 15.1 box.
Comment 12 andreas bittner 2019-08-18 18:04:42 UTC
ping -6 google.com.
PING google.com.(fra15s18-in-x0e.1e100.net (2a00:1450:4001:81d::200e)) 56 data bytes
^C
--- google.com. ping statistics ---
18 packets transmitted, 0 received, 100% packet loss, time 17403ms



ping -6 ipv6.google.com.
PING ipv6.google.com.(fra15s28-in-x0e.1e100.net (2a00:1450:4001:80b::200e)) 56 data bytes
^C
--- ipv6.google.com. ping statistics ---
40 packets transmitted, 0 received, 100% packet loss, time 39931ms
Comment 13 Marius Tomaschewski 2019-08-19 10:53:46 UTC
Comment 6 shows, you're not using wicked. The setup were made by NetworkManager.

See also output of:
 systemctl status network.service wicked*.service NetworkManager.service

Make sure, that you don't run both NetworkManager + wicked* services at the
same time. Thus please take a look at "systemctl show -p Id network.service".

When you want wicked, issue:

 systemctl disable NetworkManager ; systemctl enable -f wicked ; reboot

and when you want NetworkManager, issue:

 systemctl disable wicked wickedd ; systemctl enable -f NetworkManager ; reboot

Note:
A "systemctl stop NetworkManager" does _not_ stop NetworkManager.
A "systemctl stop wickedd" is needed to stop wicked.
Comment 14 Marius Tomaschewski 2019-08-19 10:55:28 UTC
Please provide the output of:

 systemctl status network.service wicked*.service NetworkManager.service

after ensuring with the commands above that the desired service, wicked
_or_ NetworkManager are running alone.
Comment 15 andreas bittner 2019-08-20 10:32:30 UTC
systemctl status network.service wicked*.service NetworkManager.service


● wicked.service - wicked managed network interfaces
   Loaded: loaded (/usr/lib/systemd/system/wicked.service; enabled; vendor preset: disabled)
   Active: active (exited) since Sun 2019-08-18 19:16:33 CEST; 1 day 17h ago
 Main PID: 1064 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/wicked.service

Aug 18 19:16:21 linux-ang0 systemd[1]: Starting wicked managed network interfaces...
Aug 18 19:16:33 linux-ang0.site wicked[1064]: lo              up
Aug 18 19:16:33 linux-ang0.site wicked[1064]: eth0            up
Aug 18 19:16:33 linux-ang0.site systemd[1]: Started wicked managed network interfaces.

● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/NetworkManager.service.d
           └─NetworkManager-ovs.conf
   Active: active (running) since Sun 2019-08-18 19:16:22 CEST; 1 day 17h ago
     Docs: man:NetworkManager(8)
 Main PID: 1063 (NetworkManager)
    Tasks: 5 (limit: 4915)
   CGroup: /system.slice/NetworkManager.service
           ├─1063 /usr/sbin/NetworkManager --no-daemon
           ├─1347 /sbin/dhclient -d -q -sf /usr/lib/nm-dhcp-helper -pf /var/run/dhclient-eth0.pid -lf /var/lib/NetworkManager/dhclient-4a1cc6c5-83a1-32db-b0a7-bfe233b707b1-eth0.lease -cf /var/lib/NetworkManager/dhclient-eth0.conf>
           └─1981 /sbin/dhclient -d -q -6 -N -sf /usr/lib/nm-dhcp-helper -pf /var/run/dhclient6-eth0.pid -lf /var/lib/NetworkManager/dhclient6-4a1cc6c5-83a1-32db-b0a7-bfe233b707b1-eth0.lease -cf /var/lib/NetworkManager/dhclient6->

Aug 18 19:46:52 linux-ang0.site NetworkManager[1063]: <info>  [1566150412.2091] connectivity: (eth0) timed out
Aug 18 19:51:52 linux-ang0.site NetworkManager[1063]: <info>  [1566150712.2082] connectivity: (eth0) timed out
Aug 18 19:56:52 linux-ang0.site NetworkManager[1063]: <info>  [1566151012.2040] connectivity: (eth0) timed out
Aug 18 20:01:52 linux-ang0.site NetworkManager[1063]: <info>  [1566151312.2179] connectivity: (eth0) timed out
Aug 18 20:06:52 linux-ang0.site NetworkManager[1063]: <info>  [1566151612.2177] connectivity: (eth0) timed out
Aug 18 20:11:52 linux-ang0.site NetworkManager[1063]: <info>  [1566151912.2124] connectivity: (eth0) timed out
Aug 18 20:16:52 linux-ang0.site NetworkManager[1063]: <info>  [1566152212.1972] connectivity: (eth0) timed out
Aug 18 20:21:22 linux-ang0.site NetworkManager[1063]: <info>  [1566152482.2253] manager: NetworkManager state is now CONNECTED_GLOBAL
Aug 19 05:46:46 linux-ang0.site NetworkManager[1063]: <info>  [1566186406.3319] policy: set 'Wired connection 1' (eth0) as default for IPv6 routing and DNS
Aug 20 05:45:28 linux-ang0.site NetworkManager[1063]: <info>  [1566272728.3226] policy: set 'Wired connection 1' (eth0) as default for IPv6 routing and DNS

● wickedd-dhcp4.service - wicked DHCPv4 supplicant service
   Loaded: loaded (/usr/lib/systemd/system/wickedd-dhcp4.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-08-18 19:16:18 CEST; 1 day 17h ago
 Main PID: 1007 (wickedd-dhcp4)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/wickedd-dhcp4.service
           └─1007 /usr/lib/wicked/bin/wickedd-dhcp4 --systemd --foreground

Aug 18 19:16:15 linux-ang0 systemd[1]: Starting wicked DHCPv4 supplicant service...
Aug 18 19:16:18 linux-ang0 systemd[1]: Started wicked DHCPv4 supplicant service.
Aug 18 19:16:26 linux-ang0 wickedd-dhcp4[1007]: eth0: Request to acquire DHCPv4 lease with UUID ea87595d-d820-0c00-1a04-000003000000
Aug 18 19:16:27 linux-ang0.site wickedd-dhcp4[1007]: eth0: Committed DHCPv4 lease with address 192.168.178.27 (lease time 864000 sec, renew in 432000 sec, rebind in 756000 sec)

● wickedd-dhcp6.service - wicked DHCPv6 supplicant service
   Loaded: loaded (/usr/lib/systemd/system/wickedd-dhcp6.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-08-18 19:16:18 CEST; 1 day 17h ago
 Main PID: 1008 (wickedd-dhcp6)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/wickedd-dhcp6.service
           └─1008 /usr/lib/wicked/bin/wickedd-dhcp6 --systemd --foreground

Aug 18 19:16:15 linux-ang0 systemd[1]: Starting wicked DHCPv6 supplicant service...
Aug 18 19:16:18 linux-ang0 systemd[1]: Started wicked DHCPv6 supplicant service.

● wickedd-nanny.service - wicked network nanny service
   Loaded: loaded (/usr/lib/systemd/system/wickedd-nanny.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-08-18 19:16:19 CEST; 1 day 17h ago
 Main PID: 1054 (wickedd-nanny)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/wickedd-nanny.service
           └─1054 /usr/sbin/wickedd-nanny --systemd --foreground

Aug 18 19:16:18 linux-ang0 systemd[1]: Starting wicked network nanny service...
Aug 18 19:16:19 linux-ang0 systemd[1]: Started wicked network nanny service.

● wickedd.service - wicked network management service daemon
   Loaded: loaded (/usr/lib/systemd/system/wickedd.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-08-18 19:16:18 CEST; 1 day 17h ago
 Main PID: 1050 (wickedd)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/wickedd.service
           └─1050 /usr/sbin/wickedd --systemd --foreground

Aug 18 19:16:18 linux-ang0 systemd[1]: Starting wicked network management service daemon...
Aug 18 19:16:18 linux-ang0 systemd[1]: Started wicked network management service daemon.
Aug 18 19:16:27 linux-ang0.site wickedd[1050]: ni_process_reap: process 1356 has not exited yet; now doing a blocking waitpid()

● wicked.service - wicked managed network interfaces
   Loaded: loaded (/usr/lib/systemd/system/wicked.service; enabled; vendor preset: disabled)
   Active: active (exited) since Sun 2019-08-18 19:16:33 CEST; 1 day 17h ago
 Main PID: 1064 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/wicked.service

Aug 18 19:16:21 linux-ang0 systemd[1]: Starting wicked managed network interfaces...
Aug 18 19:16:33 linux-ang0.site wicked[1064]: lo              up
Aug 18 19:16:33 linux-ang0.site wicked[1064]: eth0            up
Aug 18 19:16:33 linux-ang0.site systemd[1]: Started wicked managed network interfaces.

● wickedd-auto4.service - wicked AutoIPv4 supplicant service
   Loaded: loaded (/usr/lib/systemd/system/wickedd-auto4.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-08-18 19:16:18 CEST; 1 day 17h ago
 Main PID: 1005 (wickedd-auto4)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/wickedd-auto4.service
           └─1005 /usr/lib/wicked/bin/wickedd-auto4 --systemd --foreground

Aug 18 19:16:15 linux-ang0 systemd[1]: Starting wicked AutoIPv4 supplicant service...
Aug 18 19:16:18 linux-ang0 systemd[1]: Started wicked AutoIPv4 supplicant service.
Comment 16 andreas bittner 2019-08-20 10:33:38 UTC
Just to make clear: I dont mess or modify system settings of opensuse installs at all actually.

So I mostly take whatever a default install gives me in these terms. Maybe I select KDE Desktop but thats all.

I never actively selected for or against networkmanager or wicked or whatever those components I think.
Comment 17 andreas bittner 2019-08-20 10:34:52 UTC
in the systems current (buggy?) state:

systemctl show -p Id network.service
Id=wicked.service
Comment 18 andreas bittner 2019-08-20 10:38:48 UTC
So the question here is: how is this possible that some weeks ago, this test system had no problems at all with dualstack ipv4/ipv6, but is now having a faulty ipv6 state of some sort.

Also: what is default for leap these days? What do I go for? wicked? networkmanager? I never needed to really think about this kind of stuff.

But this issue with this very system is still something different from the other system I started this bugreport with, which doesnt even get a public ipv6 assigned to begin with. Too much confusion for me without really knowing where or how to dig deeper.

The actual (first) affected system that doesnt get the ipv6 assigned at all, is also remote for me, so I cant just mess or crash the whole machine, resulting for me in long distance travel and so on.

Thanks.
Comment 19 Marius Tomaschewski 2019-08-20 17:01:38 UTC
(In reply to andreas bittner from comment #17)
> in the systems current (buggy?) state:
> 
> systemctl show -p Id network.service
> Id=wicked.service
     ^^^^^^^^^^^^^^

Yes.

wicked.service is currently selected as the network.service, but somehow also NetworkManager has been enabled + started as visible in comment 15:

>    Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: disabled)

It is possible that some Desktop applet configured this. Wicked does not
provide a desktop applet / desktop integration yet. A desktop applet may
request root privileges and enable NetworkManager with some click...

When both are running, they're trying to make the same thing (dhcp6) but
differently and conflict with each other. Both can request dhcp6 [it is
using multicasts from fe80:* to ff:* addresses], but only one will get
*all* answers, the another no response.

Beside this, while wicked is using the auto-configuration provided by
the kernel, NetworkManager is *AFAIK* disabling it and using a library
instead.

Further, the machine is currently configured as *router* with:

net.ipv4.conf.all.forwarding = 1

net.ipv6.conf.all.forwarding = 1

Did you tried to configure e.g. VPN?

IPv6 auto-configuration of Routers is _disabled_ by default acc. to RFCs.
To enable it on a router e.g. to get the ipv6 default route applied again,
you need to explicitly enable it using:

net.ipv6.conf.eth0.accept_ra = 2

instead of 1 (1 is for hosts which have forwarding = 0), see also:

https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt

(In reply to andreas bittner from comment #18)
> Also: what is default for leap these days? What do I go for? wicked?
> networkmanager? I never needed to really think about this kind of stuff.

It depends on the installation pattern. Desktop/Laptop pattern can request
to use NetworkManager and yast2 may switch over then.

A while ago, there were some bug in an application that were adding an RPM
dependency to NetworkManager -- seems it were this bug:
 http://bugzilla.opensuse.org/show_bug.cgi?id=1122194

I've observed on ARM (Raspberry PI), that some images are broken and enable
to start both or improperly enable/disable one of them ... except this was
some dependency like above again...?
Comment 20 Marius Tomaschewski 2019-08-20 17:10:08 UTC
Anton,

do we have a testcase in e.g. "install all packages" openQA testsuite,
which explicitly tests that after installation only the one of them
where network.service link points to is enabled and/or started and
never both of them?
In hope that this sorts out at least submissions where some RPM that
leap ships triggers as it like the 3rd party RPMs from in bug 1122194.
Comment 21 Anton Smorodskyi 2019-08-21 13:58:34 UTC
Hi Marius, 

no we don't have anywhere in tests logic which make sure that only one of NetworkManager/wicked is up and running. We currently only checking that expected service is running.  

after reviewing a bug and further discussion I can suggest such scenario : 

1. systemctl status network.service - to get the one which treated by system as proper one 
2. systemctl status wickedd.service wicked.service  or systemctl status NetworkManager to check the one which suppose to be disabled is actually disabled.

Only thing which is not clear for me in which scenarios exactly we need to insert this check. For now on I will just extend scenario which checking that appropriate network service is running with this negative check that other one is not running. This mean that mostly this check will happen just after "normal" installation which less likely allow us to catch something. 

This bug has high probability to be related to upgrade. Unfortunately for Leap upgrade not covered at all. Second mentioned bug #1122194 I find irrelevant for testing because it describes issue which happened due to 3d party rpm ( TeamViewer ). Do you have any other flow which we can cover in regard to this bug ?
Comment 22 Marius Tomaschewski 2019-08-22 09:17:39 UTC
(In reply to Anton Smorodskyi from comment #21)
> Hi Marius, 
> 
> no we don't have anywhere in tests logic which make sure that only one of
> NetworkManager/wicked is up and running. We currently only checking that
> expected service is running.  
> 
> after reviewing a bug and further discussion I can suggest such scenario : 
> 
> 1. systemctl status network.service - to get the one which treated by system
> as proper one 
> 2. systemctl status wickedd.service wicked.service  or systemctl status
> NetworkManager to check the one which suppose to be disabled is actually
> disabled.

Not only that it is disabled, but even more important, that it is not started.

> Only thing which is not clear for me in which scenarios exactly we need to
> insert this check. For now on I will just extend scenario which checking
> that appropriate network service is running with this negative check that
> other one is not running. This mean that mostly this check will happen just
> after "normal" installation which less likely allow us to catch something. 
> 
> This bug has high probability to be related to upgrade. Unfortunately for
> Leap upgrade not covered at all. Second mentioned bug #1122194 I find
> irrelevant for testing because it describes issue which happened due to 3d
> party rpm ( TeamViewer ). Do you have any other flow which we can cover in
> regard to this bug ?

Yes, we can't ensure this for third party RPMs as we don't install any,
but prevent to add dependencies triggering a start in the RPMs we ship.
I've already seen some ARM / Raspberry PI images where both wicked + NM
were running + enabled.

Also, there were bugs, that e.g. dhclient were still running after the
switch from NetworkManager to wicked in YaST2, because a "systemctl stop
NetworkManager.service" does not stop them due to the KillMode=process
used by NetworkManager (to avoid it breaks remote-fs mounts on shutdown),
e.g. https://bugzilla.suse.com/show_bug.cgi?id=895447.
Comment 23 andreas bittner 2019-08-28 09:02:07 UTC
slight update on this system where ipv6 was assigned but wouldnt ping outside of the box:

the uptime of this test machine is now 9 days, and I only now had time to come back to it, and it now pings ipv6 addresses with ping6 replies.

Odd thing.

The system was only idling, locked screen. Firefox was not started. When I now fired up firefox again and tested at:

<https://ipv6-test.com/>
and
<https://test-ipv6.com/>

both pages and results show working ipv6 within firefox.

I can only revisit that other machine from the beginning of this bug report where no ipv6 was assigned in the first place, at some later point hopefully the next few days.
Comment 24 andreas bittner 2019-08-28 09:06:23 UTC
this pinging-again machine is just a test box, it is an ipv4 router because of some simple nat translation and probably some previous debugging of various kind of bugs for opensuse, with multiple wired ethernet ports. But it is only wired/connected and using one single ethernet interface.

Sometimes I use this machine for different things or add in more networking cards etc.

I just checked, there is actually only a single onboard ethernet interface on this machine right now.

That ipv4 forwarding/NAT stuff is probably leftovers from previous opensuse/leap editions this machine went through.

I dont recall having problems with ipv4/ipv6 before with this machine and my basic ways to use opensuse.

I have a kde desktop running on this machine and there is the yast online update automatic thingy every now and then in the tray area next to the clock, that installs updates/patches automatically every now and then on some kind of schedule. Pretty basic. Maybe that has got something to do with network manager or similar?
Comment 25 Marius Tomaschewski 2019-09-02 09:24:10 UTC
The forwarding in the kernel is configured via sysctl's (man sysctl.conf).

A machine with "net.ipv6.conf.all.forwarding = 1" is a router and a router
does not perform autoconfig of the default route or addresses, except it
is explicitly requested using "net.ipv6.conf.all.accept_ra = 2".

Note: The "net.ipv*.conf.default.*" settings are templates -- any time when
an interface appears in the kernel (is created or detected), the kernel will apply the settings from "net.ipv*.conf.default.*" to ...".$INTERFACE.*".

Wicked never configures sysctl or another config files, but is using them
only. Neither LEAP 15.0 nor 15.1 nor .. are enabling forwarding by default
AFAIK, thus the bug is INVALID from our (=wicked,kernel) perspective.

In your case, the configuration enables forwarding/router mode and then
the kernel (it is not wicked that makes SLAAC) will not autoconfigre ipv6
as advised/configured.

That is, whenever you've (re)configured something (using NetworkManager,
manually, ... KDE, foo or bar) you may need to cleanup / revert some left-
overs from the previous use case. In this case the /etc/sysctl.* files;
remove them or adjust the config to either set "...forwarding = 0" or "...accept_ra = 2".
There may be some bug in the configuration tools which tweaked this setting,
but maybe you just forgot to revert changes in them? I've no idea, sorry!

We will try to catch the network.service enablement conflicts in YaST
(which makes the switch between NetworkManager & wicked), ... as good
as possible in separate issues, e.g. bug 1148309.

But the main reason for this bug / behavior is the enabled forwarding,
thus a (mis-)configuration issue. You can disable forwarding in YaST:

  Network Settings
  ┌Global Options──Overview──Hostname/DNS──Routing────────────────┐ 
  │     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒-▒▒▒▒▒▒▒▒▒▒↓     │ 
  │     Default IPv6 Gateway                     Device           │ 
  │     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒-▒▒▒▒▒▒▒▒▒▒↓     │ 
  │                                                               │ 
  │     ┌Routing Table──────────────────────────────────────┐     │ 
  │     │┌─────────────────────────────────────────────────┐│     │ 
  │     ││Destination│Gateway│Netmask│Device│Options       ││     │ 
  │     ││                                                 ││     │ 
  │     ││                                                 ││     │ 
  │     │└─────────────────────────────────────────────────┘│     │ 
  │     │                [Add][Edit][Delete]                │     │ 
  │     └───────────────────────────────────────────────────┘     │ 
  │                                                               │ 
  │     [ ] Enable IPv4 Forwarding                                │ 
  │     [ ] Enable IPv6 Forwarding                                │ 
  └───────────────────────────────────────────────────────────────┘ 
 [Help]                                [Cancel]             [ OK ]
Comment 26 andreas bittner 2019-09-02 12:07:20 UTC
Just make it it clear, I am not completely stupid ;) I am NOT using/setting forwarding for IPV6 of course.

I just checked, on the machine, that doesnt get public ipv6 assigned (since the upgade to leap 15.1).

yast2 network routing settings, shows those two checkboxes.
this machine DOES act as an ipv4 NAT router, but is only acting as an ipv6 normal client/participant in an dual stacked ipv4/ipv6 network from an xdsl provider.

I did have working proper ipv4 nated network on the second interface of this machine and properly working ipv6 to/from this machine and to the global ipv6 unicast internet.

Since the upgrade to leap 15.1 this machine doesnt have public ipv6 unicast addresses assigned any more.


currently it has:

ip -c add
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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 40:61:86:00:bd:01 brd ff:ff:ff:ff:ff:ff
    inet 192.168.15.254/24 brd 192.168.15.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::4261:86ff:fe00:bd01/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 60:a4:4c:44:4f:10 brd ff:ff:ff:ff:ff:ff
    inet 192.168.178.21/24 brd 192.168.178.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::62a4:4cff:fe44:4f10/64 scope link
       valid_lft forever preferred_lft forever




ip route show
default via 192.168.178.1 dev eth1 proto dhcp
192.168.15.0/24 dev eth0 proto kernel scope link src 192.168.15.254
192.168.178.0/24 dev eth1 proto kernel scope link src 192.168.178.21


 ip -6 route show
fe80::/64 dev eth1 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium



yast global options have the ipv6 enable ckeckbox activated.

what now?
Comment 27 andreas bittner 2019-09-02 12:10:22 UTC
and I do NEED ipv4 forwarding (NAT translation) to from its secondary networking interface, and I (currently) only need ipv6 functionality on its main ethernet interface where it is connected to the outside network.

this worked perfectly fine in the past opensuse leap and before versions. I was able to happily nat/ipv4 route to/from multiple ethernet interfaces regardless of ipv6 functionality.

these two stacks and protocols didnt interfere with another. seemingly there is something seriously wrong here that an ipv4 routing/nating functionality would hinder or completely disable ipv6 simple public unicast ipv6 assignment by RA via the provider/upstream router etc.

why?
Comment 28 andreas bittner 2019-09-02 12:15:55 UTC
I noticed this bug from July 2019:

https://bugzilla.opensuse.org/show_bug.cgi?id=1138365

named
 Bug 1138365 - No ipv6 address when masquerade enable 


maybe a hinto into the same direction?
Comment 29 andreas bittner 2019-09-02 12:23:18 UTC
just rebooted the machine (with the lacking public ipv6 assignment) and checking those sysctl files.


this machine has these two lines:

net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 0
/etc/sysctl.conf lines 1-24/24 (END)


and nothing in /etc/sysctl.d/ directory.