We've defined a PacketStore abstraction through which outbound packets are
sent. The packet store has a simple implementation (basically a no-op) and a
distributed implementation on top of the cluster messaging service.
Change-Id: Ib32753314fe518ef1fd67c858db744b004539938
- try to avoid unnecessary remote writes
- avoid reads from blocking if possible
- atomically read term info
Change-Id: I50badc718726261ccb14a6feefc578b420d28923
This is a prototype of the bandwidth reservation implementation.
There is no bandwidth discovery, it is all faked. The bandwidth is
specified by allocating a special Intent used for demonstration purposes.
This code also uses faked out interfaces in the Resource Manager, and will
need to be refactored when the real Resource Manager is in place.
Change-Id: I1f9a16b4144f5440bb529014a6a6f0f21d22839e
* Removed IpAddress.MAX_INET_MASK and use IpPrefix.MAX_INET_MASK_LENGTH
instead
* Renamed IpAddress.INET_LEN to INET_BYTE_LENGTH
* Added IpAddress.INET_BIT_LENGTH, INET6_BYTE_LENGTH, and INET6_BIT_LENGTH
* Removed methods that are semantically incorrect, or are not needed/used
- IpAddress.prefixLength()
- IpAddress.toPrefix()
- IpAddress.mask()
- IpAddress.netmask()
- IpAddress.network()
- IpAddress.host()
- IpAddress.isMasked()
- IpAddress.contains()
- IpPrefix constructor for version and bytes (but no netmask)
- IpPrefix.valueOf(int)
* Misc. other cleanup.
and cleanup related code:
- Host.ipAddresses()
- DefaultHost.ipAddresses()
- HostDescription.ipAddress()
- DefaultHostDescription.ipAddress()
- HostService.getHostsByIp()
- HostManager.getHostsByIp()
- HostStore.getHosts()
- GossipHostStore.getHosts()
- SimpleHostStore.getHosts()
- ProxyArpService.known()
- ProxyArpManager.known()
As a result of the above cleanup, the "hosts" CLI command outputs
the IP addresses as "1.2.3.4" instead of "1.2.3.4/32".
Also, the following REST calls might be affected as well with
the above format replacement:
- REST POST: config/topology
- REST GET: topology/graph
* 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.
- LLDPLinkProvider: handle DeviceUpdate event
- DeviceManager: publish Device events caused by Mastership change
- DeviceManager: Always try to markOffLine on deviceDisconnected
- GossipDeviceStore: Silently ignore failure to get Timestamp on port events
Change-Id: I51fbb3f1924007867512f20e62d6d53090c63640