From: Bart Van Assche Date: Fri, 13 Dec 2019 14:32:29 +0000 (-0500) Subject: common/multipath-over-rdma: Fix expand_ipv6_addr() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=c6898763dcbf34b090b0c4c8a4ae84d233f6db2a;p=users%2Fsagi%2Fblktests.git common/multipath-over-rdma: Fix expand_ipv6_addr() For IPv6 address ::1, instead of returning 0:0000:0000:0000:0000:0000:0000:0000:0001, return 0000:0000:0000:0000:0000:0000:0000:0001. Signed-off-by: Bart Van Assche --- diff --git a/common/multipath-over-rdma b/common/multipath-over-rdma index 545a81e..15f296e 100644 --- a/common/multipath-over-rdma +++ b/common/multipath-over-rdma @@ -61,7 +61,7 @@ get_ipv4_addr() { # Convert e.g. ::1 into 0000:0000:0000:0000:0000:0000:0000:0001. expand_ipv6_addr() { - awk -F : 'BEGIN{left=1} { for(i=1;i<=NF;i++) { a=substr("0000", 1+length($i)) $i; if ($i == "") left=0; else if (left) pre = pre ":" a; else suf = suf ":" a }; mid=substr(":0000:0000:0000:0000:0000:0000:0000:0000", (pre!="")+length(pre)+length(suf)); print substr(pre,2) mid suf}' + awk -F : '{ left=1; for(i=1;i<=NF;i++) { a=substr("0000", 1+length($i)) $i; if ($i == "") left=0; else if (left) pre = pre ":" a; else suf = suf ":" a }; mid=substr("0000:0000:0000:0000:0000:0000:0000:0000", (pre=="")+length(pre)+length(suf)); print substr(pre,2) mid suf}' } get_ipv6_addr() {