def METHOD_NAME():
    args = parse_args()
    if not os.path.exists(args.conf):
        print(("Can't find file %s" % args.conf))
        return
    with open(args.conf) as fp:
        data = json.load(fp)
    # generate ip_sets. every ip address will have it's own uniq mac address
    ip_sets = {}
    for iface, ip_dict in list(data.items()):
        vlan = None
        iface = str(iface)
        if iface.find('@') != -1:
            iface, vlan = iface.split('@')
            vlan_tag = format(int(vlan), 'x')
            vlan_tag = vlan_tag.zfill(4)
        if iface not in ip_sets:
            ip_sets[iface] = defaultdict(list)
        if args.extended:
            for ip, mac in list(ip_dict.items()):
                ip_sets[iface][str(ip)] = binascii.unhexlify(str(mac))
        else:
            for ip in ip_dict:
                ip_sets[iface][str(ip)] = scapy.get_if_hwaddr(iface)
        if vlan is not None:
            ip_sets[iface]['vlan'].append(binascii.unhexlify(vlan_tag))
    ARPResponder.ip_sets = ip_sets
    scapy.sniff(prn=ARPResponder.action, filter="arp or icmp6", iface=list(ip_sets.keys()), store=False)