#!/usr/bin/env python3
# Copyright 2019 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

from __future__ import print_function

import sys

import dbus
import flimflam

if len(sys.argv) < 2:
    print('Usage: %s [true|false]' % (sys.argv[0]))
    sys.exit(1)

do_arp_gw = sys.argv[1].lower()
if do_arp_gw not in ('true', 'false'):
    print("Argument must be 'true' or 'false'")
    sys.exit(1)

flim = flimflam.FlimFlam(dbus.SystemBus())
flim.SetArpGateway(do_arp_gw == 'true')
