blob: 36c8aedbf23f31829f1374762d9f008ec177b838 [file] [log] [blame]
alshabibb7b40632014-09-28 21:30:00 -07001package org.onlab.onos.net.proxyarp;
2
3import org.onlab.packet.Ethernet;
4import org.onlab.packet.IpPrefix;
5
6/**
7 * Service for processing arp requests on behalf of applications.
8 */
9public interface ProxyArpService {
10
11 /**
12 * Returns whether this particular ip address is known to the system.
13 *
14 * @param addr
15 * a ip address
16 * @return true if know, false otherwise
17 */
18 boolean known(IpPrefix addr);
19
20 /**
21 * Sends a reply for a given request. If the host is not known then the arp
22 * will be flooded at all edge ports.
23 *
alshabibb5522ff2014-09-29 19:20:00 -070024 * @param eth
alshabibb7b40632014-09-28 21:30:00 -070025 * an arp request
26 */
alshabibb5522ff2014-09-29 19:20:00 -070027 void reply(Ethernet eth);
28
29 /**
30 * Forwards an ARP request to its destination. Floods at the edge the ARP request if the
31 * destination is not known.
32 * @param eth an ethernet frame containing an ARP request.
33 */
34 void forward(Ethernet eth);
alshabibb7b40632014-09-28 21:30:00 -070035
36}