Previously, when checking the winning BGP routes, we expect-and-wait until
the size of the table with the winning routes has certain size, and
then we verify whether it contains a particular value.
This is error-prone and time-sensitive. For example, if we are testing
whether a particular route from one BGP peer is replaced with the
same route from another BGP peer, the test might fail because the
table size doesn't change.
Modified the unit test to expect-and-wait until the expected route
is received.
Also, fixed some of the paragraph tags in some of the Javadocs.
Change-Id: Ia96dc7c412e78bbc9279dd935dec6919096adeb3
* Fix a bug in the storing, handling and verification of the AS numbers
with 4 octet AS capability is used.
* Add an unit test to test the decoding and parsing of supported
BGP Capabilities: Multiprotocol Extensions AFI/SAFI, and 4 octet AS.
* Minor refactoring of the BGP unit test framework.
Change-Id: I474b356bc00369c307ac0c5c214b065c1cc0c52c
Moved the local and remote BGP session info to a separate class BgpSessionInfo.
No functional changes.
Also, removed methods TestBgpPeerChannelHandler.prepareBgpKeepalive(),
prepareBgpNotification() and prepareBgpMessage() from the unit tests.
Instead, use the corresponding methods in the BGP implementation itself
to generate the BGP messages.
Change-Id: I7f4b6ad4f6995c242cd8a9848ea527b1fcac9c11
* Expose NetworkConfigReader as a service - NetworkConfigService
* Add reference within SdnIp to NetworkConfigService
This fixes bug ONOS-735
Change-Id: I85cdd0ce0a4f6293e8a5633bddd140a23ecddc10
SDN-IP can now support peering and routing between hosts that are connected
on VLANs.
Changes include:
* Updated NetworkConfigReader app to read (optional) VLAN configuration
* Updated VlanId to support the 'VLAN present' value - in a match this means
that a VLAN tag must be present, but it can contain any value.
* Updated SDN-IP to set destination VLAN tag values if appropriate
* Updated FlowModBuilder and FlowEntryBuilder to support 'VLAN present' value
* Slew of test updates.
Change-Id: Ief48cede5c1fd50e1efa851da5a97fb4a8edda29
[WARNING] /Users/rascov/onos/providers/lldp/src/main/java/org/onosproject/provider/lldp/impl/SuppressionRulesStore.java:88: warning: no description for @throws
[WARNING] /Users/rascov/onos/providers/lldp/src/main/java/org/onosproject/provider/lldp/impl/SuppressionRulesStore.java:146: warning: no description for @throws
[WARNING] /Users/rascov/onos/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpSession.java:706: warning: no @param for ctx
[WARNING] /Users/rascov/onos/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpSession.java:751: warning: no @param for ctx
Change-Id: Iae4d1826249e3612e1a16d1a9eeaebdc4c032f35
* The routing entries as received from BGP can be either IPv4 or IPv6
* The CLI prints the IPv4 and IPv6 routes
* The BGP peering is still over IPv4, so configuration-wise the IPv6
routes from the eBGP peers have to be configured to use the IPv4 peering.
* The integration/testing with the IPv6 Network Discovery Protocol is not
done yet.
* The integration/testing with IPv6 intents is not done yet.
Also:
* Moved nested class BgpSessionManager.BgpRouteSelector out of the
BgpSessionManager class.
* Code cleanup.
Change-Id: I9f2dbe4395a72d353bbf215a8a14b01b53c3423f
BGP UPDATE attributes: MP_REACH_NLRI and MP_UNREACH_NLRI (RFC 4760).
Note: currently, the IPv6 NLRI is decoded, but it not used.
This work is in the context of ONOS-422.
Change-Id: Ia61b94dedfe0b1a7d7f563e805a3086f56d4da03
4 Octet AS in AS_PATH is parsed.
Now BGP can establish 4 Octet AS Path enabled peering with neighbor.
Change-Id: Ibb72e8037554928584ccafe6a14b82ffaca7e2cd
BGP OPEN Multiprotocol Extensions Capabilities (RFC 4760).
The corresponding BGP UPDATE decoding is not done yet, hence for now
we don't include any Capabilities in the BGP OPEN message originated by us.
This work is in the context of ONOS-422.
Change-Id: I8e1c8838adc189aa32a8edf98be976d90fc4ad42
* Resolves ONOS-476
* Moved the BGP message-specific processing from class BgpSession
to per-message type classes: BgpKeepalive, BgpNotification,
BgpOpen, BgpUpdate
* Minor modifications in some of the methods or BGP-specific API
to accomodate the above change.
No functional changes.
Change-Id: I95df128fa31c60397a279aaca25a487b7991a6e1
unit test. This reduces the typical run time for the unit tests from
2-3 seconds to 0.6-0.7 seconds.
Change-Id: I7a31f837da5838c20d2b43de23de77d378e9f900
* Updated/cleanup the "routes" and "bgp-rotues" commands output formatting
* Fixed/updated the help description for the "routes" and "bgp-routes"
* Added optional argument "-n <nbr>" or "-neighbor <nbr>" argument
to the "bgp-routes" command to print the routes from a single BGP neighbor
Change-Id: I65afd00772bc8e097468ae2ed0dd3fd41bd27f25
Also, created a local cache of IPv4-to-MAC address mapping,
to avoid relatively costly hostService.getHostsByIp() calls
per added route.
Change-Id: I8abed378985708e883fd99e85c54b01f38756515
Also renamed SdnIpLeadershipService to HazelcastLeadershipService, and moved
it into the distributed core bundle.
This allows applications which depend on LeadershipService to be used with
the trivial core.
Change-Id: Ie71a946d95653a4d2209afd3af0e7f23b5a4f818