def METHOD_NAME(self, interface):
    data = interface.recv()
    if len(data) > self.ARP_PKT_LEN:
        return
    remote_mac, remote_ip, request_ip, op_type, vlan_id = self.extract_arp_info(
        data)
    # Don't send ARP response if the ARP op code is not request
    if op_type != self.ARP_OP_REQUEST:
        return
    request_ip_str = socket.inet_ntoa(request_ip)
    if request_ip_str not in self.ip_sets[interface.name()]:
        return
    arp_reply = self.generate_arp_reply(self.ip_sets[interface.name(
    )][request_ip_str], remote_mac, request_ip, remote_ip, vlan_id)
    interface.send(arp_reply)
    return