#!/usr/bin/perl
#
# Copyright (c) 2019-2020, AT&T Intellectual Property. All rights reserved.
#
# SPDX-License-Identifier: GPL-2.0-only
#

use strict;
use warnings;
use File::Slurp qw(read_file);

use lib "/opt/vyatta/share/perl5/";
use Vyatta::Syslog qw(update_rsyslog_config $SOURCE_INTERFACE_FILE);

sub usage {
    print <<EOF;
Usage: <device> <inet|inet6> <address>
EOF
    exit 1;
}

my $dev   = shift;
my $proto = shift;
my $addr  = shift;

usage() unless defined($dev);
usage() unless defined($proto);
usage() unless defined($addr);

foreach my $line ( read_file( $SOURCE_INTERFACE_FILE, 'err_mode' => 'quiet' ) )
{
    chomp($line);
    my ( $sdev, $af, $saddr ) = split( ' ', $line, 3 );
    if (   $sdev eq $dev
        && $af eq $proto
        && defined($saddr)
        && $saddr eq $addr )
    {
        update_rsyslog_config();
        last;
    }
}

exit 0;
