#!/bin/sh /etc/rc.common
UCI_CONFIG="lb_pool"
config_load $UCI_CONFIG

check_and_reset_pool() {
    local reset_pool=0

    config_get mode $1 mode
    if   [ "$mode" = "loadbalance" ]; then
        config_get ifs $1 lbif
        for if in $ifs; do
            [ "$if" = "$INTERFACE" ] && {
                reset_pool=1
                break
            }
        done
    elif [ "$mode" = "failover" ]; then
        config_get pri $1 primary
        config_get bak $1 backup
        [ "$pri" = "$INTERFACE" -o "$bak" = "$INTERFACE" ] && reset_pool=1
    fi

    [ "$reset_pool" = "1" ] && /etc/init.d/lb_pool reset $1
}

config_foreach check_and_reset_pool
