From: Charles Rose Date: Mon, 23 Aug 2021 14:14:16 +0000 (-0500) Subject: fix(nvmf): validate_ip_conn X-Git-Tag: 056~108 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=655c65e6ced00e7a80c41e96c5f6fe108da07839;p=thirdparty%2Fdracut.git fix(nvmf): validate_ip_conn Fix how ifname for a given local_address is found. Fix logic to detect presence of ifname and route. Signed-off-by: Charles Rose --- diff --git a/modules.d/95nvmf/parse-nvmf-boot-connections.sh b/modules.d/95nvmf/parse-nvmf-boot-connections.sh index 0822bec91..ae80c1329 100755 --- a/modules.d/95nvmf/parse-nvmf-boot-connections.sh +++ b/modules.d/95nvmf/parse-nvmf-boot-connections.sh @@ -40,15 +40,15 @@ validate_ip_conn() { return 1 fi - ifname=$(ip -o route get to "$local_address" | sed -n 's/.*dev \([^ ]*\).*/\1/p') + ifname=$(ip -o route get from "$local_address" to "$traddr" | sed -n 's/.*dev \([^ ]*\).*/\1/p') - if ip l show "$ifname" > /dev/null 2>&1; then + if ! ip l show "$ifname" > /dev/null 2>&1; then warn "invalid network interface $ifname" return 1 fi # confirm there's a route to destination - if ip route get "$traddr" > /dev/null 2>&1; then + if ! ip route get "$traddr" > /dev/null 2>&1; then warn "no route to $traddr" return 1 fi