diff options
Diffstat (limited to 'meta-google')
-rwxr-xr-x | meta-google/recipes-google/networking/files/gbmc-ip-monitor-test.sh | 2 | ||||
-rwxr-xr-x | meta-google/recipes-google/networking/files/gbmc-ip-monitor.sh | 10 |
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 |