Now we can have multiple Interfaces per port, and the old code results in an
intent using the same port for ingress and egress.
Change-Id: I9f9ad396a0c6e7d31d654896f31c59a34240f82f
* The (deployed) Interface addresses configuration file "addresses.json"
from the apps/config application is expected to be found in the
/opt/onos/config directory
* The (deployed) SDN-IP configuration file "sdnip.json" is expected
to be found in the /opt/onos/config directory
* All configuration files (i.e., addresses.json and sdnip.json) should
be stored in the tools/package/config directory before deployment
(i.e., before running onos-config)
* Removed the apps/config/src/main/resources/config.json sample configuration
file, because it was incorrect, and replaced it with "addresses.json"
file in the same directory
* Updated the text in files tools/package/config/README and
apps/sdnip/src/main/resources/config-examples/README
* Minor code cleanup in SdnIpConfigReader.java and NetworkConfigReader.java
Change-Id: I8af75e62a94e4fb701e2c6a09cde93cd8461e255
attributes.
Note: BGP Confedertions are not supported (yet).
Also, updated/simplified the MED comparison in the BGP Path Comparison
implementation.
Change-Id: Iabe01facffd2c6912f33f647841c1244d85282f3
* Added command options to show summary of the routes:
- "onos:routes -s" or "onos:routes --summary"
shows summary of the SDN-IP routes
- "onos:bgp-routes -s" or "onos:bgp-routes --summary"
shows summary of the BGP routes
* Implemented displaying JSON output for the "onos:routes" and
"onos:bgp-routes" commands (and the routes summary)
Also, added static methods BgpConstants.Update.AsPath.typeToString()
and BgpConstants.Update.Origin.typeToString() to return the
BGP AS_PATH type and BGP UPDATE ORIGIN type as a string.
Change-Id: I505c55a924721838bbbaf4ffccc30ffd61e90120
IpPrefix, because so far we haven't implemented IPv6.
Also, some of the BGP-related attributes (e.g., BGP Speaker ID)
are IPv4 by definition.
The following components are updated:
* BGP implementation
* Router component and relevant state (e.g., RouteEntry)
Other components (e.g., configuration) will continue to use
the more generic IpAddress and IpPrefix.
Change-Id: I1936ca9871fd5a9709cb4f2c2850d78ebc1472c4
- roleChanged(), isReachable()
Eventually consistent nature of Device store was
interfering with mastership control.
Change-Id: I9c0dd846a4e30863f922f6706c6cb62fd7c83f29
- For some of the methods, the IP Version needs to be specified by the
caller. This applies to the IpPrefix API as well.
- For now, everywhere IpAddress is used and the IP version has to be
explicitly specified by the caller, we assume/specify IPv4.
- Added unit test for class IpAddress: for both IPv4 and IPv6 addresses.
* Now IpPrefix uses IpAddress to represent the subnet address
* The IpPrefix subnet address is masked-out by the prefix length.
E.g., IpPrefix("1.2.3.4/24") is now stored as IpPrefix("1.2.3.0/24")
* Removed IpPrefix methods that are not used or don't apply anymore
* Replaced usage of IpPrefix with IpAddress where appropriate
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.
The current Router class does not check the Intent state.
So I did not add the state in this patch.
I will push another patch for testing the intent state.
Change-Id: Idb44dcace5f33a0144852a999445931bc2189448