tree 37460ad3581160807effbe6fc6ea6ea9750484d4
parent bf89c74cf854f71a19e2d965d0f081a222e2ba88
author Pavlin Radoslavov <pavlin@onlab.us> 1414449199 -0700
committer Pavlin Radoslavov <pavlin@onlab.us> 1414449199 -0700

Work toward common IP address classes.

 * Updated classes PortAddresses (in core/api) and Interface (in sdnip)
   to use class InterfaceIpAddress instead of IpPrefix
 * Updated corresponding unit tests and relevant code
 * Minor refactoring inside ProxyArpManager to simplify some of the
   logic and usage related to PortAddresses. Also, renamed
   method findOutsidePortInSubnet() to findPortInSubnet() and updated
   its implementation to reflect better its usage.
