[Error Msg] LKP: HOSTNAME vm-2p8g.2288hv5-2s44p-384g--b5-1573861, MAC , IP , kernel 5.9.0-5-riscv64 1, serial console /dev/ttyS0
[Root Cause] [ 93.815004] + network_ok [ 93.874456] ++ cat /sys/class/net/eth0//operstate [ 93.879278] + '[' up = up ']' [ 93.882356] + return 0 [ 93.941910] + export_ip_mac [ 94.018548] + has_cmd ip [ 94.022832] + command -v ip [ 94.029742] ++ awk '{print $5; exit}' [ 94.036137] ++ ip route get 1.2.3.4 [ 94.045622] ++ /usr/bin/mawk '{print $5; exit}' [ 94.056504] RTNETLINK answers: Network is unreachable [ 94.061418] + export PUB_NIC= [ 94.064587] + PUB_NIC=
[Why] even network interfaces ready, but routing not, get ip by routing failed, so add a check export_ip_mac to ensure network is ok.
[how] before: network interfaces "up"|"1" -> network is ok after: network interfaces "up"|"1" && export_ip_mac ok -> network is ok
Signed-off-by: Liu Yinsi liuyinsi@163.com --- lib/bootstrap.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/bootstrap.sh b/lib/bootstrap.sh index b04ea3dd4..2969544a6 100755 --- a/lib/bootstrap.sh +++ b/lib/bootstrap.sh @@ -91,8 +91,8 @@ network_ok() for i in /sys/class/net/*/ do [ "${i#*/lo/}" != "$i" ] && continue - [ "$(cat $i/operstate)" = 'up' ] && return 0 - [ "$(cat $i/carrier 2>/dev/null)" = '1' ] && return 0 + [ "$(cat $i/operstate)" = 'up' ] && export_ip_mac && return 0 + [ "$(cat $i/carrier 2>/dev/null)" = '1' ] && export_ip_mac && return 0 done
is_clearlinux && { @@ -296,6 +296,8 @@ export_ip_mac() export PUB_IP=$(ifconfig $PUB_NIC | awk '/inet / {print $2}') fi
+ [ -n "$PUB_NIC" ] || return 1 + export PUB_MAC=$(cat /sys/class/net/$PUB_NIC/address) [ -n "$SCHED_HOST" ] && PUB_MAC=$(echo "$PUB_MAC" | tr : -) } @@ -746,7 +748,6 @@ boot_init()
setup_network run_ntpdate - export_ip_mac
announce_bootup
On Thu, Jan 14, 2021 at 12:17:05PM +0800, Liu Yinsi wrote:
[Error Msg] LKP: HOSTNAME vm-2p8g.2288hv5-2s44p-384g--b5-1573861, MAC , IP , kernel 5.9.0-5-riscv64 1, serial console /dev/ttyS0
[Root Cause] [ 93.815004] + network_ok [ 93.874456] ++ cat /sys/class/net/eth0//operstate [ 93.879278] + '[' up = up ']' [ 93.882356] + return 0 [ 93.941910] + export_ip_mac [ 94.018548] + has_cmd ip [ 94.022832] + command -v ip [ 94.029742] ++ awk '{print $5; exit}' [ 94.036137] ++ ip route get 1.2.3.4 [ 94.045622] ++ /usr/bin/mawk '{print $5; exit}' [ 94.056504] RTNETLINK answers: Network is unreachable [ 94.061418] + export PUB_NIC= [ 94.064587] + PUB_NIC=
[Why] even network interfaces ready, but routing not, get ip by routing failed, so add a check export_ip_mac to ensure network is ok.
Why export_ip_mac can ensure network is ok?
Thanks, Xueliang
[how] before: network interfaces "up"|"1" -> network is ok after: network interfaces "up"|"1" && export_ip_mac ok -> network is ok
Signed-off-by: Liu Yinsi liuyinsi@163.com
lib/bootstrap.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/bootstrap.sh b/lib/bootstrap.sh index b04ea3dd4..2969544a6 100755 --- a/lib/bootstrap.sh +++ b/lib/bootstrap.sh @@ -91,8 +91,8 @@ network_ok() for i in /sys/class/net/*/ do [ "${i#*/lo/}" != "$i" ] && continue
[ "$(cat $i/operstate)" = 'up' ] && return 0
[ "$(cat $i/carrier 2>/dev/null)" = '1' ] && return 0
[ "$(cat $i/operstate)" = 'up' ] && export_ip_mac && return 0
[ "$(cat $i/carrier 2>/dev/null)" = '1' ] && export_ip_mac && return 0
done
is_clearlinux && {
@@ -296,6 +296,8 @@ export_ip_mac() export PUB_IP=$(ifconfig $PUB_NIC | awk '/inet / {print $2}') fi
- [ -n "$PUB_NIC" ] || return 1
- export PUB_MAC=$(cat /sys/class/net/$PUB_NIC/address) [ -n "$SCHED_HOST" ] && PUB_MAC=$(echo "$PUB_MAC" | tr : -)
} @@ -746,7 +748,6 @@ boot_init()
setup_network run_ntpdate
export_ip_mac
announce_bootup
-- 2.23.0
On Thu, Jan 14, 2021 at 02:59:40PM +0800, Cao Xueliang wrote:
On Thu, Jan 14, 2021 at 12:17:05PM +0800, Liu Yinsi wrote:
[Error Msg] LKP: HOSTNAME vm-2p8g.2288hv5-2s44p-384g--b5-1573861, MAC , IP , kernel 5.9.0-5-riscv64 1, serial console /dev/ttyS0
[Root Cause] [ 93.815004] + network_ok [ 93.874456] ++ cat /sys/class/net/eth0//operstate [ 93.879278] + '[' up = up ']' [ 93.882356] + return 0 [ 93.941910] + export_ip_mac [ 94.018548] + has_cmd ip [ 94.022832] + command -v ip [ 94.029742] ++ awk '{print $5; exit}' [ 94.036137] ++ ip route get 1.2.3.4 [ 94.045622] ++ /usr/bin/mawk '{print $5; exit}' [ 94.056504] RTNETLINK answers: Network is unreachable [ 94.061418] + export PUB_NIC= [ 94.064587] + PUB_NIC=
[Why] even network interfaces ready, but routing not, get ip by routing failed, so add a check export_ip_mac to ensure network is ok.
Why export_ip_mac can ensure network is ok?
PUB_NIC is not null, routing is ready, get ip by routing successed, so network is ok
Thanks, Yinsi
Thanks, Xueliang
[how] before: network interfaces "up"|"1" -> network is ok after: network interfaces "up"|"1" && export_ip_mac ok -> network is ok
Signed-off-by: Liu Yinsi liuyinsi@163.com
lib/bootstrap.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/bootstrap.sh b/lib/bootstrap.sh index b04ea3dd4..2969544a6 100755 --- a/lib/bootstrap.sh +++ b/lib/bootstrap.sh @@ -91,8 +91,8 @@ network_ok() for i in /sys/class/net/*/ do [ "${i#*/lo/}" != "$i" ] && continue
[ "$(cat $i/operstate)" = 'up' ] && return 0
[ "$(cat $i/carrier 2>/dev/null)" = '1' ] && return 0
[ "$(cat $i/operstate)" = 'up' ] && export_ip_mac && return 0
[ "$(cat $i/carrier 2>/dev/null)" = '1' ] && export_ip_mac && return 0
done
is_clearlinux && {
@@ -296,6 +296,8 @@ export_ip_mac() export PUB_IP=$(ifconfig $PUB_NIC | awk '/inet / {print $2}') fi
- [ -n "$PUB_NIC" ] || return 1
- export PUB_MAC=$(cat /sys/class/net/$PUB_NIC/address) [ -n "$SCHED_HOST" ] && PUB_MAC=$(echo "$PUB_MAC" | tr : -)
} @@ -746,7 +748,6 @@ boot_init()
setup_network run_ntpdate
export_ip_mac
announce_bootup
-- 2.23.0
diff --git a/lib/bootstrap.sh b/lib/bootstrap.sh index b04ea3dd4..2969544a6 100755 --- a/lib/bootstrap.sh +++ b/lib/bootstrap.sh @@ -91,8 +91,8 @@ network_ok() for i in /sys/class/net/*/ do [ "${i#*/lo/}" != "$i" ] && continue
[ "$(cat $i/operstate)" = 'up' ] && return 0
[ "$(cat $i/carrier 2>/dev/null)" = '1' ] && return 0
[ "$(cat $i/operstate)" = 'up' ] && export_ip_mac && return 0
[ "$(cat $i/carrier 2>/dev/null)" = '1' ] && export_ip_mac && return 0
done
is_clearlinux && {
@@ -296,6 +296,8 @@ export_ip_mac() export PUB_IP=$(ifconfig $PUB_NIC | awk '/inet / {print $2}') fi
- [ -n "$PUB_NIC" ] || return 1
add pub_ip check? [ -n "$PUB_IP" ] || return 1
-------- Thanks Yu Chuan
- export PUB_MAC=$(cat /sys/class/net/$PUB_NIC/address) [ -n "$SCHED_HOST" ] && PUB_MAC=$(echo "$PUB_MAC" | tr : -)
} @@ -746,7 +748,6 @@ boot_init()
setup_network run_ntpdate
export_ip_mac
announce_bootup
-- 2.23.0
On Thu, Jan 14, 2021 at 03:02:31PM +0800, Yu Chuan wrote:
diff --git a/lib/bootstrap.sh b/lib/bootstrap.sh index b04ea3dd4..2969544a6 100755 --- a/lib/bootstrap.sh +++ b/lib/bootstrap.sh @@ -91,8 +91,8 @@ network_ok() for i in /sys/class/net/*/ do [ "${i#*/lo/}" != "$i" ] && continue
[ "$(cat $i/operstate)" = 'up' ] && return 0
[ "$(cat $i/carrier 2>/dev/null)" = '1' ] && return 0
[ "$(cat $i/operstate)" = 'up' ] && export_ip_mac && return 0
[ "$(cat $i/carrier 2>/dev/null)" = '1' ] && export_ip_mac && return 0
done
is_clearlinux && {
@@ -296,6 +296,8 @@ export_ip_mac() export PUB_IP=$(ifconfig $PUB_NIC | awk '/inet / {print $2}') fi
- [ -n "$PUB_NIC" ] || return 1
add pub_ip check? [ -n "$PUB_IP" ] || return 1
unnecessary
Thanks, Yinsi
Thanks Yu Chuan
- export PUB_MAC=$(cat /sys/class/net/$PUB_NIC/address) [ -n "$SCHED_HOST" ] && PUB_MAC=$(echo "$PUB_MAC" | tr : -)
} @@ -746,7 +748,6 @@ boot_init()
setup_network run_ntpdate
export_ip_mac
announce_bootup
-- 2.23.0
On Thu, Jan 14, 2021 at 12:17:05PM +0800, Liu Yinsi wrote:
[Error Msg] LKP: HOSTNAME vm-2p8g.2288hv5-2s44p-384g--b5-1573861, MAC , IP , kernel 5.9.0-5-riscv64 1, serial console /dev/ttyS0
[Root Cause] [ 93.815004] + network_ok [ 93.874456] ++ cat /sys/class/net/eth0//operstate [ 93.879278] + '[' up = up ']' [ 93.882356] + return 0 [ 93.941910] + export_ip_mac [ 94.018548] + has_cmd ip [ 94.022832] + command -v ip [ 94.029742] ++ awk '{print $5; exit}' [ 94.036137] ++ ip route get 1.2.3.4 [ 94.045622] ++ /usr/bin/mawk '{print $5; exit}' [ 94.056504] RTNETLINK answers: Network is unreachable [ 94.061418] + export PUB_NIC= [ 94.064587] + PUB_NIC=
[Why] even network interfaces ready, but routing not, get ip by routing failed, so add a check export_ip_mac to ensure network is ok.
[how] before: network interfaces "up"|"1" -> network is ok after: network interfaces "up"|"1" && export_ip_mac ok -> network is ok
in "Why", get ip by routing failed, how about optimize it.
Can help me test the file /proc/net/route, where the kernel records the routing information. root@dewan01:~# cat /proc/net/route Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT eth0 00000000 0100A8C0 0003 0 0 100 00000000 0 0 0
Signed-off-by: Liu Yinsi liuyinsi@163.com
lib/bootstrap.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/bootstrap.sh b/lib/bootstrap.sh index b04ea3dd4..2969544a6 100755 --- a/lib/bootstrap.sh +++ b/lib/bootstrap.sh @@ -91,8 +91,8 @@ network_ok() for i in /sys/class/net/*/ do [ "${i#*/lo/}" != "$i" ] && continue
[ "$(cat $i/operstate)" = 'up' ] && return 0
[ "$(cat $i/carrier 2>/dev/null)" = '1' ] && return 0
[ "$(cat $i/operstate)" = 'up' ] && export_ip_mac && return 0
[ "$(cat $i/carrier 2>/dev/null)" = '1' ] && export_ip_mac && return 0
done
is_clearlinux && {
@@ -296,6 +296,8 @@ export_ip_mac() export PUB_IP=$(ifconfig $PUB_NIC | awk '/inet / {print $2}') fi
- [ -n "$PUB_NIC" ] || return 1
- export PUB_MAC=$(cat /sys/class/net/$PUB_NIC/address) [ -n "$SCHED_HOST" ] && PUB_MAC=$(echo "$PUB_MAC" | tr : -)
} @@ -746,7 +748,6 @@ boot_init()
setup_network run_ntpdate
export_ip_mac
announce_bootup
-- 2.23.0
On Thu, Jan 14, 2021 at 06:25:12PM +0800, Zhang Dewan wrote:
On Thu, Jan 14, 2021 at 12:17:05PM +0800, Liu Yinsi wrote:
[Error Msg] LKP: HOSTNAME vm-2p8g.2288hv5-2s44p-384g--b5-1573861, MAC , IP , kernel 5.9.0-5-riscv64 1, serial console /dev/ttyS0
[Root Cause] [ 93.815004] + network_ok [ 93.874456] ++ cat /sys/class/net/eth0//operstate [ 93.879278] + '[' up = up ']' [ 93.882356] + return 0 [ 93.941910] + export_ip_mac [ 94.018548] + has_cmd ip [ 94.022832] + command -v ip [ 94.029742] ++ awk '{print $5; exit}' [ 94.036137] ++ ip route get 1.2.3.4 [ 94.045622] ++ /usr/bin/mawk '{print $5; exit}' [ 94.056504] RTNETLINK answers: Network is unreachable [ 94.061418] + export PUB_NIC= [ 94.064587] + PUB_NIC=
[Why] even network interfaces ready, but routing not, get ip by routing failed, so add a check export_ip_mac to ensure network is ok.
[how] before: network interfaces "up"|"1" -> network is ok after: network interfaces "up"|"1" && export_ip_mac ok -> network is ok
in "Why", get ip by routing failed, how about optimize it.
Can help me test the file /proc/net/route, where the kernel records the routing information. root@dewan01:~# cat /proc/net/route Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT eth0 00000000 0100A8C0 0003 0 0 100 00000000 0 0 0
while: do if [ -f /proc/net/route ];then PUB_NIC=$(ip route get ...) ... break else sleep 1 fi done
Thanks, Dewan
Signed-off-by: Liu Yinsi liuyinsi@163.com
lib/bootstrap.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/bootstrap.sh b/lib/bootstrap.sh index b04ea3dd4..2969544a6 100755 --- a/lib/bootstrap.sh +++ b/lib/bootstrap.sh @@ -91,8 +91,8 @@ network_ok() for i in /sys/class/net/*/ do [ "${i#*/lo/}" != "$i" ] && continue
[ "$(cat $i/operstate)" = 'up' ] && return 0
[ "$(cat $i/carrier 2>/dev/null)" = '1' ] && return 0
[ "$(cat $i/operstate)" = 'up' ] && export_ip_mac && return 0
[ "$(cat $i/carrier 2>/dev/null)" = '1' ] && export_ip_mac && return 0
done
is_clearlinux && {
@@ -296,6 +296,8 @@ export_ip_mac() export PUB_IP=$(ifconfig $PUB_NIC | awk '/inet / {print $2}') fi
- [ -n "$PUB_NIC" ] || return 1
- export PUB_MAC=$(cat /sys/class/net/$PUB_NIC/address) [ -n "$SCHED_HOST" ] && PUB_MAC=$(echo "$PUB_MAC" | tr : -)
} @@ -746,7 +748,6 @@ boot_init()
setup_network run_ntpdate
export_ip_mac
announce_bootup
-- 2.23.0
while: do if [ -f /proc/net/route ];then PUB_NIC=$(ip route get ...) ... break else sleep 1 fi done
unnecessary.
Thanks, Yinsi
Thanks, Dewan
Signed-off-by: Liu Yinsi liuyinsi@163.com
lib/bootstrap.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/bootstrap.sh b/lib/bootstrap.sh index b04ea3dd4..2969544a6 100755 --- a/lib/bootstrap.sh +++ b/lib/bootstrap.sh @@ -91,8 +91,8 @@ network_ok() for i in /sys/class/net/*/ do [ "${i#*/lo/}" != "$i" ] && continue
[ "$(cat $i/operstate)" = 'up' ] && return 0
[ "$(cat $i/carrier 2>/dev/null)" = '1' ] && return 0
[ "$(cat $i/operstate)" = 'up' ] && export_ip_mac && return 0
[ "$(cat $i/carrier 2>/dev/null)" = '1' ] && export_ip_mac && return 0
done
is_clearlinux && {
@@ -296,6 +296,8 @@ export_ip_mac() export PUB_IP=$(ifconfig $PUB_NIC | awk '/inet / {print $2}') fi
- [ -n "$PUB_NIC" ] || return 1
- export PUB_MAC=$(cat /sys/class/net/$PUB_NIC/address) [ -n "$SCHED_HOST" ] && PUB_MAC=$(echo "$PUB_MAC" | tr : -)
} @@ -746,7 +748,6 @@ boot_init()
setup_network run_ntpdate
export_ip_mac
announce_bootup
-- 2.23.0
even network interfaces ready, but routing not, get ip by routing failed, so add a check export_ip_mac to ensure network is ok.
[how] before: network interfaces "up"|"1" -> network is ok after: network interfaces "up"|"1" && export_ip_mac ok -> network is ok
in "Why", get ip by routing failed, how about optimize it.
Can help me test the file /proc/net/route, where the kernel records the routing information. root@dewan01:~# cat /proc/net/route Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT eth0 00000000 0100A8C0 0003 0 0 100 00000000 0 0 0
debian,centos,archlinux have no file /proc/net/route, and in export_ip_mac, already inclues this way, use export_ip_mac more universal.
export_ip_mac() { ... export PUB_NIC=$(ip route get 1.2.3.4 | awk '{print $5; exit}') ... export PUB_NIC=$(route -n | awk '/[UG][UG]/ {print $8}') ... export PUB_NIC=$(awk 'NR > 1 && $3 != "00000000" { print $1; exit }' /proc/net/route) ... }
Signed-off-by: Liu Yinsi liuyinsi@163.com
lib/bootstrap.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/bootstrap.sh b/lib/bootstrap.sh index b04ea3dd4..2969544a6 100755 --- a/lib/bootstrap.sh +++ b/lib/bootstrap.sh @@ -91,8 +91,8 @@ network_ok() for i in /sys/class/net/*/ do [ "${i#*/lo/}" != "$i" ] && continue
[ "$(cat $i/operstate)" = 'up' ] && return 0
[ "$(cat $i/carrier 2>/dev/null)" = '1' ] && return 0
[ "$(cat $i/operstate)" = 'up' ] && export_ip_mac && return 0
[ "$(cat $i/carrier 2>/dev/null)" = '1' ] && export_ip_mac && return 0
done
is_clearlinux && {
@@ -296,6 +296,8 @@ export_ip_mac() export PUB_IP=$(ifconfig $PUB_NIC | awk '/inet / {print $2}') fi
- [ -n "$PUB_NIC" ] || return 1
- export PUB_MAC=$(cat /sys/class/net/$PUB_NIC/address) [ -n "$SCHED_HOST" ] && PUB_MAC=$(echo "$PUB_MAC" | tr : -)
} @@ -746,7 +748,6 @@ boot_init()
setup_network run_ntpdate
export_ip_mac
announce_bootup
-- 2.23.0