You are not logged in.
After updating the (~2-month backlog of) packages on an Arch Linux VPS, I can no longer get netcfg to bring up eth0 with an IPv6 gateway. However, if I bring up eth0 manually, it works...
[root@inception ~]# ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 16436 metric 1
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@inception ~]# lsmod
Module Size Used by
evdev 9370 0
pcspkr 1819 0
ext4 374587 1
crc16 1359 1 ext4
jbd2 71543 1 ext4
mbcache 5977 1 ext4
xen_netfront 17247 0
xen_blkfront 12625 2
xenbus_probe_frontend 3239 2 xen_blkfront,xen_netfront
[root@inception ~]# rc.d start net-profiles
:: eth0 up [BUSY] RTNETLIN
K answers: No route to host
> Adding gateway 2a00:7b80:3008::1 failed
[FAIL]
> No profile started.
[root@inception ~]# ifconfig eth0 up
[root@inception ~]# rc.d start net-profiles
:: eth0 up [DONE]
[root@inception ~]# cat /etc/network.d/eth0
CONNECTION='ethernet'
DESCRIPTION='Ethernet 0'
INTERFACE='eth0'
IP='static'
ADDR='xx.xx.xxx.xxx'
GATEWAY='77.95.224.1'
IP6='static'
ADDR6=('xxxx:xxxx:xxxx:x::xxxx:xxxx' 'xxxx:xxxx:xxxx:x::xxxx:xxxx' 'xxxx:xxxx:xxxx:x::xxx
x:xxxx' 'xxxx:xxxx:xxxx:x::xxx:xxxx' 'xxxx:xxxx:xxxx:x::xxxx:xxxx')
GATEWAY6='2a00:7b80:3008::1'
DNS=('8.8.8.8' '8.8.4.4' '2001:4860:4860::8888' '2001:4860:4860::8844')
[root@inception ~]# uname -a
Linux inception 3.0.38-1-lts #1 SMP PREEMPT Fri Jul 20 09:22:28 CEST 2012 x86_64 GNU/Linu
x
I don't know if I borked something during the package upgrades -- there were those couple announced ones that required minor manual intervention. Any ideas?
Last edited by MindlessXD (2013-01-26 16:44:42)
Offline
I have a pretty similar setup (lts kernel, kvm vps, net-profiles for static ipv6), and I'm having the same issue. Before, I had to load the ipv6 module at boot time for it to work, but this doesn't seem to be the case anymore. And you're right, manually bring up the interface and restarting net-profiles works. I take that back; despite it saying done, it actually didn't do anything.
Last edited by anonova (2012-07-28 06:38:30)
Offline
Well, I've narrowed it down to having something to do with the new netcfg package. I downgraded 2.8.8-1 => 2.8.5-3 => 2.8.5-1 until I hit 2.8.3-1, which didn't fail at adding the ipv6 gateway. I don't have netcfg 2.8.4-1 cached, so I didn't try that version. MindlessXD, can you try downgrading netcfg to confirm this regression?
Also, just for reference, adding the ipv6 module is not necessary anymore. It's built into the kernel now.
Offline
And you're right, manually bring up the interface and restarting net-profiles works. I take that back; despite it saying done, it actually didn't do anything.
Strange; that makes it work for me.
Well, I've narrowed it down to having something to do with the new netcfg package. I downgraded 2.8.8-1 => 2.8.5-3 => 2.8.5-1 until I hit 2.8.3-1, which didn't fail at adding the ipv6 gateway. I don't have netcfg 2.8.4-1 cached, so I didn't try that version. MindlessXD, can you try downgrading netcfg to confirm this regression?
Rolling back to 2.8.3-1 did indeed fix the issue.
Offline
Thanks for the bisection. It kind of suggests that https://projects.archlinux.org/netcfg.g … /?id=5ac72 is the culprit, although I don't yet see why.
Could you post the output of
NETCFG_DEBUG="yes" netcfg eth0
Offline
(I've changed the IP addresses.)
# cat /etc/network.d/eth0
INTERFACE="eth0"
DESCRIPTION="static IP for eth0"
CONNECTION="ethernet"
IP="static"
ADDR="204.51.26.215"
GATEWAY="204.51.26.1"
IP6="static"
ADDR6=(2402:4400:2:16c1::1/64)
GATEWAY6="2402:4400:2::2"
# netcfg -v
netcfg v2.8.3
# NETCFG_DEBUG="yes" netcfg eth0
DEBUG: Loading profile eth0
DEBUG: Configuring interface eth0
:: eth0 up DEBUG: status reported to profile_up as:
DEBUG: Loading profile eth0
DEBUG: Configuring interface eth0
DEBUG: ethernet_up ifup
DEBUG: ethernet_up ip addr add 204.51.26.215/24 brd + dev eth0
DEBUG: ethernet_up ip route add default via 204.51.26.1 dev eth0
DEBUG: ethernet_up ip -6 addr add 2402:4400:2:16c1::1/64 dev eth0
DEBUG: ethernet_up ip -6 route replace default via 2402:4400:2::2 dev eth0
DEBUG: ethernet_up ip -6 addr show dev eth0 tentative
DEBUG: ethernet_up hostname galloway
[done]
# netcfg -v
netcfg v2.8.8
# NETCFG_DEBUG="yes" netcfg eth0
DEBUG: Loading profile eth0
DEBUG: Configuring interface eth0
:: eth0 up DEBUG: status reported to profile_up as:
DEBUG: Loading profile eth0
DEBUG: Configuring interface eth0
DEBUG: ethernet_up bring_interface up eth0
DEBUG: ethernet_up ip addr add 204.51.26.215/24 brd + dev eth0
DEBUG: ethernet_up ip route add default via 204.51.26.1 dev eth0
DEBUG: ethernet_up ip -6 addr add 2402:4400:2:16c1::1/64 dev eth0
DEBUG: ethernet_up ip -6 route replace default via 2402:4400:2::2 dev eth0
RTNETLINK answers: No route to host
Adding gateway 2402:4400:2::2 failed
DEBUG: profile_up connect failed
[fail]
Offline
Hmm, that doesn't really clarify anything. Could you try adding "sleep 3" on line 32 of /usr/lib/network/connections/ethernet and see if it helps?
Offline
jouke, yep, that did it! I tried both 1 and 2 seconds as well, but they're too short. 3 seems to work consistently.
Offline
Okay, that's something . Now if only I could see why this is the case ...
Offline
Could it be that CARRIER_TIMEOUT needs to be longer? If the card is taking a few extra seconds to set up that could be the issue?
There was a recent issue that was solved by setting a longer CARRIER_TIMEOUT that had a similar behaviour. The issue was that dhcpcd was taking about 20 seconds to return.
"...one cannot be angry when one looks at a penguin." - John Ruskin
"Life in general is a bit shit, and so too is the internet. And that's all there is." - scepticisle
Offline
That's unlikely. Waiting for a carrier is done before going through dhcp and the timeout is dynamic.
Please replace /usr/lib/network/connections/ethernet with https://gist.github.com/3226171 and report back. If it works, it was a remainder of FS#28887.
Offline
No go on the new ethernet file. Again, adding sleep on line 31 makes it work.
# curl -o ethernet.new https://raw.github.com/gist/3226171/41e5baa829d431b55c6b6037c88de9f10af5ba20/ethernet
# rc.d stop net-profiles
# cd /usr/lib/network/connections
# cp ~/ethernet.new ethernet
# chown root:root ethernet
# chmod +x ethernet
# NETCFG_DEBUG="yes" netcfg eth0
DEBUG: Loading profile eth0
DEBUG: Configuring interface eth0
:: eth0 up DEBUG: status reported to profile_up as:
DEBUG: Loading profile eth0
DEBUG: Configuring interface eth0
DEBUG: ethernet_up bring_interface up eth0
DEBUG: ethernet_up ip addr add 204.51.26.215/24 brd + dev eth0
DEBUG: ethernet_up ip route add default via 204.51.26.1 dev eth0
DEBUG: ethernet_up ip -6 addr add 2402:4400:2:16c1::1/64 dev eth0
DEBUG: ethernet_up ip -6 addr show dev eth0 tentative
DEBUG: ethernet_up ip -6 route replace default via 2402:4400:2::2 dev eth0
RTNETLINK answers: No route to host
Adding gateway 2402:4400:2::2 failed
DEBUG: profile_up connect failed
[fail]
Offline
The only thing I can think of now, is that the route that is missing is found through NDP. Is there a way to wait for NDP route advertisements? It could be that I'm entirely wrong, but this is the only thing I can think (limited IPv6 knowledge) of that could explain the situation.
Offline
I finally fixed my issue by adding
ROUTES6=('2a00:7b80:3008::1 dev eth0')
to /etc/network.d/eth0
Offline