#!/bin/bash
source "$(dirname "${BASH_SOURCE[0]}")"/ncsid_lib.sh

function HandleDHCP6() {
    local op="$1"

    if [ "$op" = "bound" ]; then
        echo "INTF: $interface" >&2
        echo "IP: $ipv6/128" >&2

        local disc
        if ! disc="$(DiscoverRouter6 "$interface" 5 1000)"; then
            echo "Failed to discover router" >&2
            return 1
        fi
        local vars
        vars="$(echo "$disc" | JSONToVars)" || return
        eval "$vars" || return
        echo "GW: $router_ip" >&2
        echo "GW_MAC: $router_mac" >&2

        SuppressTerm
        local service='xyz.openbmc_project.Network'
        local rc=0
        SetStatic "$service" "$interface" && \
            UpdateIP "$service" "$interface" "$ipv6" '128' && \
            UpdateGateway "$service" "$interface" "$router_ip" && \
            UpdateNeighbor "$service" "$interface" "$router_ip" "$router_mac" || \
            rc=$?
        UnsuppressTerm
        touch /run/dhcp6.done
        return $rc
    fi
}

function Main() {
    set -o nounset
    set -o errexit
    set -o pipefail

    InitTerm
    HandleDHCP6 "$@"
}

return 0 2>/dev/null
Main "$@"
