You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
1.3 KiB
26 lines
1.3 KiB
From f717b4a3aa83c9124e62716f421b99e314d00233 Mon Sep 17 00:00:00 2001
|
|
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
|
Date: Fri, 12 Apr 2024 12:23:21 +0200
|
|
Subject: [PATCH] findif.sh: fix corner cases
|
|
|
|
---
|
|
heartbeat/findif.sh | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/heartbeat/findif.sh b/heartbeat/findif.sh
|
|
index 7c766e6e0..13484f827 100644
|
|
--- a/heartbeat/findif.sh
|
|
+++ b/heartbeat/findif.sh
|
|
@@ -215,9 +215,9 @@ findif()
|
|
fi
|
|
if [ -n "$nic" ] ; then
|
|
# NIC supports more than two.
|
|
- set -- $(ip -o -f $family route list match $match $scope | grep "dev $nic " | awk 'BEGIN{best=0} /\// { mask=$1; sub(".*/", "", mask); if( int(mask)>=best ) { best=int(mask); best_ln=$0; } } END{print best_ln}')
|
|
+ set -- $(ip -o -f $family route list match $match $scope | grep "dev $nic " | sed -e 's,^\([0-9.]\+\) ,\1/32 ,;s,^\([0-9a-f:]\+\) ,\1/128 ,' | sort -t/ -k2,2nr)
|
|
else
|
|
- set -- $(ip -o -f $family route list match $match $scope | awk 'BEGIN{best=0} /\// { mask=$1; sub(".*/", "", mask); if( int(mask)>=best ) { best=int(mask); best_ln=$0; } } END{print best_ln}')
|
|
+ set -- $(ip -o -f $family route list match $match $scope | sed -e 's,^\([0-9.]\+\) ,\1/32 ,;s,^\([0-9a-f:]\+\) ,\1/128 ,' | sort -t/ -k2,2nr)
|
|
fi
|
|
if [ $# = 0 ] ; then
|
|
case $OCF_RESKEY_ip in
|