summaryrefslogtreecommitdiff
path: root/meta-google
diff options
context:
space:
mode:
authorWilliam A. Kennington III <wak@google.com>2022-05-20 19:39:45 +0300
committerWilliam A. Kennington III <wak@google.com>2022-05-27 02:02:20 +0300
commitf4ce04c4ead9a4693261096a81b3de7867518238 (patch)
tree740e3f2b5aec464b472ac3875822d7267a10de2d /meta-google
parentd230e86a920ba1440e6299a60f0442ceb610d500 (diff)
downloadopenbmc-f4ce04c4ead9a4693261096a81b3de7867518238.tar.xz
meta-google: gbmc-ip-monitor: Fix optional metric attribute
This fixes parsing addresses that have a weight metric. Change-Id: Ibe93523caea0dccc77bec04e494f46c3db85bbf9 Signed-off-by: William A. Kennington III <wak@google.com>
Diffstat (limited to 'meta-google')
-rwxr-xr-xmeta-google/recipes-google/networking/files/gbmc-ip-monitor-test.sh2
-rwxr-xr-xmeta-google/recipes-google/networking/files/gbmc-ip-monitor.sh10
2 files changed, 7 insertions, 5 deletions
diff --git a/meta-google/recipes-google/networking/files/gbmc-ip-monitor-test.sh b/meta-google/recipes-google/networking/files/gbmc-ip-monitor-test.sh
index 8b5f3492fc..7c39f59f70 100755
--- a/meta-google/recipes-google/networking/files/gbmc-ip-monitor-test.sh
+++ b/meta-google/recipes-google/networking/files/gbmc-ip-monitor-test.sh
@@ -125,7 +125,7 @@ testParseInit() {
}
testParseAddrAdd() {
- expect_err 0 gbmc_ip_monitor_parse_line '[ADDR]2: eno2 inet6 fd01:ff2:5687:4:cf03:45f3:983a:96eb/128 scope global temporary dynamic'
+ expect_err 0 gbmc_ip_monitor_parse_line '[ADDR]2: eno2 inet6 fd01:ff2:5687:4:cf03:45f3:983a:96eb/128 metric 1024 scope global temporary dynamic'
expect_streq "$change" 'addr'
expect_streq "$action" 'add'
expect_streq "$intf" 'eno2'
diff --git a/meta-google/recipes-google/networking/files/gbmc-ip-monitor.sh b/meta-google/recipes-google/networking/files/gbmc-ip-monitor.sh
index 9da090f47e..90986e3068 100755
--- a/meta-google/recipes-google/networking/files/gbmc-ip-monitor.sh
+++ b/meta-google/recipes-google/networking/files/gbmc-ip-monitor.sh
@@ -66,9 +66,11 @@ gbmc_ip_monitor_parse_line() {
pfx_re='^\[ADDR\](Deleted )?[0-9]+:[[:space:]]*'
intf_re='([^ ]+)[[:space:]]+'
fam_re='([^ ]+)[[:space:]]+'
- addr_re='([^/]+)/[0-9]+[[:space:]]+(brd[[:space:]]+[^ ]+[[:space:]]+)?'
+ addr_re='([^/]+)/[0-9]+[[:space:]]+'
+ metric_re='(metric[[:space:]]+[^ ]+[[:space:]]+)?'
+ brd_re='(brd[[:space:]]+[^ ]+[[:space:]]+)?'
scope_re='scope[[:space:]]+([^ ]+)[[:space:]]*(.*)'
- combined_re="${pfx_re}${intf_re}${fam_re}${addr_re}${scope_re}"
+ combined_re="${pfx_re}${intf_re}${fam_re}${addr_re}${metric_re}${brd_re}${scope_re}"
if ! [[ "$line" =~ ${combined_re} ]]; then
echo "Failed to parse addr: $line" >&2
return 1
@@ -79,8 +81,8 @@ gbmc_ip_monitor_parse_line() {
intf="${BASH_REMATCH[2]}"
fam="${BASH_REMATCH[3]}"
ip="${BASH_REMATCH[4]}"
- scope="${BASH_REMATCH[6]}"
- flags="${BASH_REMATCH[7]}"
+ scope="${BASH_REMATCH[7]}"
+ flags="${BASH_REMATCH[8]}"
elif [[ "$line" == '[ROUTE]'* ]]; then
line="${line#[ROUTE]}"
change=route