Jonathan Hart | 6261dcd | 2013-07-22 17:58:35 +1200 | [diff] [blame] | 1 | package net.onrc.onos.ofcontroller.proxyarp; |
| 2 | |
| 3 | import java.net.InetAddress; |
| 4 | |
Jonathan Hart | abad6a5 | 2013-09-30 18:17:21 +1300 | [diff] [blame] | 5 | import net.floodlightcontroller.util.MACAddress; |
Jonathan Hart | 6261dcd | 2013-07-22 17:58:35 +1200 | [diff] [blame] | 6 | |
| 7 | public interface IProxyArpService { |
Jonathan Hart | 6261dcd | 2013-07-22 17:58:35 +1200 | [diff] [blame] | 8 | /** |
Jonathan Hart | da4d0e1 | 2013-09-30 21:00:20 +1300 | [diff] [blame^] | 9 | * Returns the MAC address if there is a valid entry in the cache. |
Jonathan Hart | 6261dcd | 2013-07-22 17:58:35 +1200 | [diff] [blame] | 10 | * Otherwise returns null. |
| 11 | * @param ipAddress |
| 12 | * @return |
| 13 | */ |
Jonathan Hart | abad6a5 | 2013-09-30 18:17:21 +1300 | [diff] [blame] | 14 | public MACAddress getMacAddress(InetAddress ipAddress); |
Jonathan Hart | 6261dcd | 2013-07-22 17:58:35 +1200 | [diff] [blame] | 15 | |
| 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 Hart | 6261dcd | 2013-07-22 17:58:35 +1200 | [diff] [blame] | 19 | * @param ipAddress |
| 20 | * @param requester |
Jonathan Hart | 4dfc365 | 2013-08-02 20:22:36 +1200 | [diff] [blame] | 21 | * @param retry Whether to keep sending requests until the MAC is learnt |
Jonathan Hart | 6261dcd | 2013-07-22 17:58:35 +1200 | [diff] [blame] | 22 | */ |
Jonathan Hart | 4dfc365 | 2013-08-02 20:22:36 +1200 | [diff] [blame] | 23 | public void sendArpRequest(InetAddress ipAddress, IArpRequester requester, |
| 24 | boolean retry); |
Jonathan Hart | 6261dcd | 2013-07-22 17:58:35 +1200 | [diff] [blame] | 25 | } |