101 Commits

Author SHA1 Message Date
Kunihiro Ishiguro
6e2ee15aa2 ONOS-783 Update PeerConnectivityManager to handle IPv6.
Change-Id: I0c8558cec2f7fa5f772cc126c6b74e5d4531676b
2015-01-21 18:02:48 +00:00
Jonathan Hart
43ae2933cb Updated SDN-IP config to support 64-bit port numbers.
Fixes ONOS-776.

Change-Id: I0629a140835cd3277eb362c1909b5b806c6fcec0
2015-01-20 11:08:20 -08:00
Charles M.C. Chan
bc0e84dadf Fix javadoc warnings
[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
2015-01-13 23:59:06 +08:00
Pavlin Radoslavov
3a0a52e462 Added IPv6 routing support to SDN-IP, and integrated it with BGP:
* 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
2015-01-07 19:12:26 +00:00
Pavlin Radoslavov
2020eac8aa Reorder some of the import statements (onlab/onosproject) so they
are listed alphabetically.

No functional changes.

Change-Id: I38cd0b8a506675a8d054860d2934aebf276a7a6a
2015-01-06 17:26:10 -08:00
Pavlin Radoslavov
c7648ee53d Work toward IPv6 support in BGP: implement decoding of the
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
2015-01-07 01:02:20 +00:00
Kunihiro Ishiguro
923d9d8104 4 Octet AS Path Capability is sent to neighbor.
4 Octet AS in AS_PATH is parsed.
Now BGP can establish 4 Octet AS Path enabled peering with neighbor.

Change-Id: Ibb72e8037554928584ccafe6a14b82ffaca7e2cd
2014-12-30 05:01:32 +09:00
Kunihiro Ishiguro
828245c5eb Store remote 4 octet AS path value.
Change-Id: Ifccc777c48392effb0ab86298115c9abb4fe5e48
2014-12-18 17:54:18 +09:00
Pavlin Radoslavov
278cdde308 Work toward IPv6 support in BGP: implement decoding/encoding of the
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
2014-12-16 23:26:28 +00:00
Pavlin Radoslavov
80f3e18c61 Refactor the BGP code in the SDN-IP application:
* 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
2014-12-15 21:44:26 +00:00
Pavlin Radoslavov
0af11c1ecf * Add unit tests for the BGP route preference comparison mechanism
This addresses ONOS-134
* Refactor existing BGP unit tests

Change-Id: Ia0ad7954632ec6b856d1a8a972f1837179121abb
2014-12-11 18:33:52 +00:00
Pavlin Radoslavov
64c1ed1f72 Renamed bgpRoutes field in Router class to ribTable.
No functional changes.

Change-Id: I1b5de1b93dc1264adfcd7c4cad9c2a315c1b8992
2014-12-10 18:10:55 -08:00
Jonathan Hart
b834920a2a Renamed SDN-IP test so it will be picked up by Surefire
Change-Id: I58cd3827fe0922f699c4044ff51beaced889a429
2014-12-10 19:31:42 +00:00
Pavlin Radoslavov
55b5f51d4d Refined the methods waiting for BGP routes in the BgpSessionManagerTest
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
2014-12-08 10:01:11 -08:00
Brian O'Connor
7f2e9bf19a bumping version to 1.1.0-SNAPSHOT
Change-Id: I35f10fa7ffab12365ad852f5253bc1f395282f9b
2014-12-04 23:45:40 -08:00
Brian O'Connor
5b29ebd309 Bumping version to 1.0.0
Change-Id: I0cdd1f64a9292c91af27b86e89bd8251b2c298f3
2014-12-04 21:54:26 -08:00
alshabib
ab98466b10 adding license to ALL files
Change-Id: I9df3277760d79732317816fe5b2f1f482e9f5375
2014-12-05 05:05:32 +00:00
Jonathan Hart
e9ef4f3fd1 Changed TODOs to NOTEs
Change-Id: I17a0f5099bd6931c50189794596c742f6ddc5b5a
2014-12-05 01:58:41 +00:00
Jonathan Hart
7dd4a33de3 Remove SDN-IP TODOs
Change-Id: I59b510ba95d4f76600d23d79a81964c2ef290a56
2014-12-04 17:37:05 -08:00
Pavlin Radoslavov
dfde7ab392 Cleanup the SDN-IP CLI:
* 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
2014-12-04 14:06:39 -08:00
Jonathan Hart
de08912143 Minor refactoring
Change-Id: I57198890b5fd833ba0f3368197d074a5fdc1d3e1
2014-12-03 22:33:14 -08:00
Jonathan Hart
51372183ce Javadoc and code cleanup for SDN-IP
Change-Id: I4b2cd853cb2c91ace2c710b215a7b2dca9301c28
2014-12-04 06:21:50 +00:00
Jonathan Hart
9fd6bfc475 Made SDN-IP's BGP listen port configurable
Change-Id: I98bb6bb2d500087757b57bf0ed9f5c709d459aef
2014-12-04 00:28:54 +00:00
Pavlin Radoslavov
0a714720a0 Added missing BgpSession.exceptionCaught() method to handle
exceptions on the Netty channel.

Change-Id: I9b927abfb21f87d52575158cbecc193d6102f094
2014-12-03 21:50:59 +00:00
Jonathan Hart
ff071a2749 Fix for BGP sessions not timing out
Change-Id: I57975fefe6d54934cbbde95b6d22e03bea835289
2014-12-03 12:10:20 -08:00
Pavlin Radoslavov
d6755ba9d0 Removed leftover local fields that are not needed anymore.
Change-Id: Ib12abffadaadc64ed7b32108731ff27b625d55a9
2014-12-03 02:25:16 -08:00
Brian O'Connor
abafb50f58 Changing org.onlab.onos package to org.onosproject
Change-Id: Ic81421faa27acdcff045add47d9e0a715cd4f575
2014-12-02 22:26:20 -08:00
Brian O'Connor
03defe7939 Moving org/onlab/onos to org/onosproject
Change-Id: I742627fe0862cac78391cf70010f99dc26dce1e6
2014-12-02 22:22:39 -08:00
Pavlin Radoslavov
8049bb8bb0 Lowered the level of some of the SDN-IP log messages (per route)
from DEBUG to TRACE.

Change-Id: I97eefe7550952c3c38976fcf4aa1f12274190868
2014-12-02 13:58:35 -08:00
Pavlin Radoslavov
23c05699c2 SDN-IP unit test fix: Increased the timeout waiting for a message to be
received from 2s to 5s. Eventually, this should address some rare
test failures.

Change-Id: Ifbf024023580ac93f10e1b7fb1b1f5dd2fe361f9
2014-12-02 21:32:18 +00:00
Jonathan Hart
9965d77a8e Cleaned up some commented code, javadocs and names in SDN-IP.
No functional changes.

Change-Id: Ic4421428ec468049f1d93ac457c08103543d5140
2014-12-02 20:49:09 +00:00
Pavlin Radoslavov
248c2ae78a Updated SDN-IP to use the Intent framework batch-based intents.
Also, created a local cache of IPv4-to-MAC address mapping,
to avoid relatively costly hostService.getHostsByIp() calls
per added route.

Change-Id: I8abed378985708e883fd99e85c54b01f38756515
2014-12-02 09:51:25 -08:00
Madan Jampani
8d21c790ee LeadershipService API change: Using NodeId in place of ControllerNode.
Change-Id: I6f688506c3672977456fc6921b26e98be2239632
2014-12-02 04:55:15 +00:00
Pavlin Radoslavov
1c5e48b5c0 Removed bogus pom.xml.orig file that was merged by accident.
Change-Id: I15f548c6ee58500209dd4e876bb7a01c37ec6720
2014-12-01 02:48:25 +00:00
Jonathan Hart
949c28455e Added a trivial implementation of the LeadershipService.
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
2014-11-30 18:17:15 -08:00
Yuta HIGUCHI
c2bf3d8fb9 IntentManager: use IntentStore batch APIs
Change-Id: Ie60f3e53f48fa6acbcaf5cf6837bdef12b36a98d
2014-12-01 00:26:30 +00:00
Brian O'Connor
72a034c863 Initial implementation of distributed intent batch queue
Change-Id: I7ffed03651569ade1be1e8dca905bfaf369b7e03
2014-11-28 22:42:44 +00:00
Pavlin Radoslavov
deb8a1098d Fix for bug ONOS-330:
Add missing "null" checks for IntentService.getIntentState()

Change-Id: Idd574227636f6cdd3a0dbae4c753ada6157e04e1
2014-11-26 13:32:57 -08:00
Pavlin Radoslavov
caf6337c46 Updated some of the SDN-IP log messages inside the IntentSynchronizer.
Also, fixed a typo in file TestIntentServiceHelper.java

Change-Id: I0c0f7ad0f5e02f80465fb643184e20924fd49153
2014-11-26 11:59:11 -08:00
Yuta HIGUCHI
f845cc3740 Give a name to each ThreadPool
Change-Id: Iec2b044fca542672608fd67ff43680f0d34b9da2
2014-11-25 20:44:10 -08:00
Pavlin Radoslavov
c91eebe810 Added Hazelcast-based Leadership implementation that is needed/used by SDN-IP.
This is a drop-in replacement until the generic ONOS Leadership service
is robust enough.

Change-Id: I72a84331dd948f98707eb59844dab425aa9d5c08
2014-11-25 19:39:26 -08:00
Pavlin Radoslavov
20be3e6bdc Don't withdraw the intents during SDN-IP shutdown, because this creates
flux in the dataplane during switchover to another SDN-IP instance being
the new SDN-IP leader.

Change-Id: I93e271770001678c3438637d5a804d934cd83848
2014-11-25 18:52:08 -08:00
Pavlin Radoslavov
f1288b8217 Removed bogus debug message in SDN-IP.
Change-Id: I61c3c06256508772c3e78f4ce61d1483f56107ca
2014-11-24 22:09:24 -08:00
Pavlin Radoslavov
97e8a8bd55 Fix the SDN-IP unit tests after changing the Intent IDs to use
explicit ID assignment.

Change-Id: I50bc20188922193cfa47bf0ec324a69929744745
2014-11-25 06:05:29 +00:00
Brian O'Connor
520c052e36 Changing Intent Ids to use explicit id assignment
Change-Id: I5a4bff87842c37a869e7691b353529eaefc929db
2014-11-25 05:49:35 +00:00
Pavlin Radoslavov
93ae832fed Updated the debug log messages for SDN-IP IntentSynchronizer.
Change-Id: I74ababe18113489ad64a2ca4a63bc1c63211a3ee
2014-11-24 20:54:36 -08:00
Pavlin Radoslavov
dde22ae5f4 Updates related to SDN-IP submitting intent operations:
* Updated IntentSynchronizer.submitPeerIntents() to use intent batch
    operation

  * Refactored the SDN-IP unit tests:
    The verification for intent service operations is moved to a new class
    TestIntentServiceHeler

Change-Id: Id6766ebb4d6bf492e8f9787c2c2247ac38d42964
2014-11-24 13:33:04 -08:00
Pavlin Radoslavov
a7243cca5c Updates for SDN-IP:
* Use the new Leadership Service instead of Distributed Lock to
   elect the SDN-IP Leader
 * Reimplement the SDN-IP Intent Synchronizer. In the new implementation
   the Point-to-Point Peer intents are also synchronized by and pushed
   only by the Leader (same as the Multipoint-to-SinglePoint Route intents)
 * Minor cleanups

Change-Id: I8e142781211a1d0f2d362875bc28fd05d843cd4b
2014-11-23 15:17:45 -08:00
Madan Jampani
71582edbe7 1. DatabaseManager activate will attempt to listTables to ensure store is in good shape.
2. lock and tryLock can now throw InterruptedExceptions.

Change-Id: Ifa766ad441f677a4071b68d8f6caa564cf320869

Change-Id: I318ff762a96b261737831f6bd7c200b384c638e9

Change-Id: I0f509703520b3187931fa3669cd8213a91e85c96
2014-11-19 15:39:30 -08:00
Pavlin Radoslavov
8b75244c38 Added SDN-IP Leader election mechanism based on the Global Lock service.
NOTE: This is a short-term solution until the Leadership Service is
implemented.

Change-Id: Id1f21c06e67e08efb444ebec4e45eeca360e613d
2014-11-18 15:56:44 -08:00