blob: 2c5dd72d47f85f80544f2d749a20da9a5843c6d1 [file] [log] [blame]
Jonathan Hart6261dcd2013-07-22 17:58:35 +12001package net.onrc.onos.ofcontroller.proxyarp;
2
3import java.net.InetAddress;
4
Jonathan Hartabad6a52013-09-30 18:17:21 +13005import net.floodlightcontroller.util.MACAddress;
Jonathan Hart6261dcd2013-07-22 17:58:35 +12006
7public interface IProxyArpService {
Jonathan Hart6261dcd2013-07-22 17:58:35 +12008 /**
Jonathan Hartda4d0e12013-09-30 21:00:20 +13009 * Returns the MAC address if there is a valid entry in the cache.
Jonathan Hart6261dcd2013-07-22 17:58:35 +120010 * Otherwise returns null.
11 * @param ipAddress
12 * @return
13 */
Jonathan Hartabad6a52013-09-30 18:17:21 +130014 public MACAddress getMacAddress(InetAddress ipAddress);
Jonathan Hart6261dcd2013-07-22 17:58:35 +120015
16 /**
17 * Tell the IProxyArpService to send an ARP request for the IP address.
18 * The request will be broadcast out all edge ports in the network.
Jonathan Hart6261dcd2013-07-22 17:58:35 +120019 * @param ipAddress
20 * @param requester
Jonathan Hart4dfc3652013-08-02 20:22:36 +120021 * @param retry Whether to keep sending requests until the MAC is learnt
Jonathan Hart6261dcd2013-07-22 17:58:35 +120022 */
Jonathan Hart4dfc3652013-08-02 20:22:36 +120023 public void sendArpRequest(InetAddress ipAddress, IArpRequester requester,
24 boolean retry);
Jonathan Hart6261dcd2013-07-22 17:58:35 +120025}