258 Commits

Author SHA1 Message Date
Sho SHIMIZU
fe89d3ac3a Simplify the statement
Change-Id: Ie9b46c6c3f04322751109adc5896bb51c848a18a
2015-07-01 02:16:43 +00:00
Pingping Lin
8a524718cb paths should from bgp peer connect points for Internet-to-local traffic
Change-Id: I04c7f5b8efc9279ee3e15fb27435a2201cccb5f1
2015-06-25 20:32:46 +00:00
Brian O'Connor
afc2d7db88 Starting snapshot 1.3.0-SNAPSHOT
Change-Id: Idc4c114bda5268e534b9fc998215564d23d84c58
2015-06-05 23:31:25 -07:00
Brian O'Connor
a78abfcc39 Tagging 1.2.0
Change-Id: If1b4de17402bf8248c888de72891dc17a5bcd7ef
2015-06-05 22:40:03 -07:00
Brian O'Connor
3350390b1d Starting snapshot 1.2.0-SNAPSHOT
Change-Id: I96c63bb70f2cd27453f2da893d77f9e72966f780
2015-06-01 17:08:05 -07:00
Brian O'Connor
75aed4000e Tagging 1.2.0-rc2
Change-Id: I93f2bf38d29ddf788f7a81552695da80fc275c42
2015-06-01 16:58:14 -07:00
Jonathan Hart
38267826a1 Fix sdnip dependencies so sdnip can be specified as a boot application.
SDN-IP will bring the onos-app-config bundle for now, because we need to make
sure this reads the config before SDN-IP activates.
SDN-IP won't depend on proxyarp and it will be up to the user to ensure this
is loaded.

Change-Id: I5add6294e51ee7f41c943f7862055dc41c7629ac
2015-05-27 15:55:45 +00:00
Jonathan Hart
75c470a9f4 Fix for logic error in SDN-IP.
Change-Id: Idf1f8713a3d61972f5585dcf307db44a6677aa46
2015-05-22 17:55:27 +00:00
Brian O'Connor
30a412deb3 Starting snapshot 1.2.0-SNAPSHOT
Also, fixed onos-upload-bits script to upload rc's to nightly/

Change-Id: I9bb8fe685492e23c740796879f0b66c307e26e56
2015-05-21 18:08:06 -07:00
Brian O'Connor
608e03a1bb Tagging 1.2.0-rc1
Change-Id: I2791aacb0ab4eb0d3db92fef5e58e9c62747bf8c
2015-05-21 17:56:07 -07:00
Jonathan Hart
3cc2330018 Fix for NPE in SDNIP
Change-Id: I368db30e40b2081e92901e413f8c87e9db98e086
2015-05-14 23:24:32 +00:00
Sho SHIMIZU
3310a34163 Remove "public" to follow our convention
Change-Id: Ic5fa8744cbcb4c704780c8467ae0f31fce3327ce
2015-05-13 23:44:57 +00:00
Jonathan Hart
fee47ee935 bgprouter bundle should not be part of SDN-IP app.
Change-Id: I1aed1d664b8f828be9da0cac7911355cca3dd2ed
2015-05-12 01:03:50 +00:00
Sho SHIMIZU
fbc80e5348 Pull out inner-classes from Criteria to be independent classes
Make constructors of sub-types of Criterion package private for
limiting instantiation only from static factory methods in Criteria

Change-Id: I1fb1e9d003288a778a49e758549a92b66bf3cfdf
2015-04-29 00:44:59 +00:00
Thomas Vachuska
41e8c18f22 Simplified app packaging to use just project.version rather than short.version.
Change-Id: I58c30b663810de42890b75bbcef5c7dc5a4a87ba
2015-04-21 21:23:11 +00:00
Thomas Vachuska
586afd8e2b Removing need for boilerplate app.xml; Instead defining onos.app.name and onos.app.origin (optional) is sufficient to trigger generation of boilerplate app.xml and features.xml files.
Change-Id: Ied8f3f8bf8774fae85e11c79a733b34dd5868949
2015-04-20 14:36:02 +00:00
Thomas Vachuska
a7a0f560a2 Converting builtin applications to be delivered in a self-contained manner via OAR files.
Change-Id: I5b7c6939aacc263248868fac2e0f69124c5f3609
2015-04-16 14:04:35 -07:00
Ray Milkey
34c959066d ONOS-533 Fix copyrights
- Any files created in 2014 and modified in 2015 got a copyright of
  2014-2015
- Used canonical form of 2014-2015 to be inclusive of extra years.
  Some files had 2014,2015

Change-Id: If9a133618873e4000b8f10299bde7c870eb1fbd5
2015-04-15 17:41:07 +00:00
Pingping Lin
c9e16bfa1d add a virtual gateway for reactive routing
There is no physical gateway in SDN network.
  However a host needs a gateway when it tries to communicate with a remote host.
  So we designed a virtual gateway for SDN network.
  The virtual gateway can have multiple IP addresses.
  Each IP address is used as the default gateway address of an IP prefix.
  We only configure one MAC address to the virtual gateway.
  You can choose any MAC address from the BGP speakers as the virtual gateway MAC address.
  We configure this MAC address staticly in the sdnip.json configuration file.

Change-Id: I2a72bef797fc55d25bb5473e8fca624ad659e1d1
2015-04-15 16:31:14 +00:00
Pingping Lin
e28ae4c801 sdn-ip reactive routing
This module can handle 3 cases:
   (1) one host wants to talk to another host, both two hosts are in SDN network.
   (2) one host in SDN network wants to talk to another host in Internet.
   (3) one host from Internet wants to talk to another host in SDN network.
   In all cases, we use MultiPointToSinglePointIntent.

Change-Id: I80dd954bd608e52b45b993f3c27e67636a7105d9
2015-04-07 12:31:07 -07:00
Thomas Vachuska
0fa583c493 GUI -- Added applications view.
Fixed table.js column width computation.
Fixed app.xml files to leave out ONOS from description.

Change-Id: Icfe323e63c7965dd8c3a268421ea58065c5c8236
2015-03-30 23:46:18 -07:00
Ray Milkey
ebc5d22159 Refactor connectivity intent creation to use builders
- Each connectivity intent now has only one constructor
- Intent constructors are now private for leaf classes and
  protected for classes that can be derived from
- Each intent class has a Builder class that accumulates
  parameters for intent creation
- Each intent class has a public static builder() method
  to create a builder
- Each Builder class has a build() method to create the
  intent from the accumulated parameters
- Added keys to a few intent types that were missing them
- Tightened up usage of checkNotNull(), taking advantage of
  the return value to save some lines of code
- Modified callers to use the builders instead of directly
  calling the constructors

Change-Id: I713185d5ecbadbf51f87ef7f68fec41102106c78
2015-03-23 21:12:14 +00:00
Thomas Vachuska
ee4f9377c2 Adding more app.xml files.
Upgrading app.xml versions.
Cleaned-up features.xml.

Change-Id: I7c5a85480568ffe35281286aefc9aa4e1b3b2afd
2015-03-18 22:14:50 -07:00
Ray Milkey
3e3ec5f786 [Cardinal] Add builders for Intents and remove extra constructors.
Starting with PointToPoint intent to see how it looks

Change-Id: I5366a05d657ceaad18c03b95cd71f5d1107200e2
2015-03-18 22:17:54 +00:00
Brian O'Connor
6ea48a22fe Starting snapshot 1.2.0-SNAPSHOT
Change-Id: Iffa1055c22448849353ede6581c277f4d3de78d8
2015-03-17 20:07:20 -07:00
Brian O'Connor
91d9019b24 Tagging ONOS Blackbird release: 1.1.0
Change-Id: Iee1accb8f83e03a1c4b2250d36d48aefd6383c97
2015-03-17 19:45:58 -07:00
Pavlin Radoslavov
2aa1f32c84 Fixes related to SDN-IP intents:
* Use intent priority when installing multipoint-to-singlepoint intents:
   the loinger the routing prefix match, the higher the intent priority.
   This is needed to perform correctly the equivalent of longest prefix
   match in the switch.
 * Use intent priority for the point-to-point intents: the priority for
   this BGP-related control traffic is higher than the
   multipoint-to-singlepoint intents.

 * Use the appropriate Key when installing multipoint-to-singlepoint intents.
   The key is the network (destination routing) prefix address represented
   as a string.

Change-Id: Ic489a1e5f31adceb4c9d1dcea52293a2b3db0b79
2015-03-11 17:59:44 -07:00
Brian O'Connor
1545b1ef08 Starting snapshot 1.1.0-SNAPSHOT
Change-Id: I8caca4df60027426c18b51c1b35c313fe9ac1c10
2015-03-11 16:38:23 -07:00
Brian O'Connor
20fa3a45f9 Tagging 1.1.0-rc2
Change-Id: I1fa0feb1b790f79baa465fd82965433e109b34b2
2015-03-11 16:23:07 -07:00
Brian O'Connor
6b5281356b Adding emptyTreatment() and emptySelector()
Note: There was a change that adds a DROP action to
a traffic treatment if there are no other actions present.
To get a traffic treatment without the drop rule, use
emptyTreatment()

Change-Id: I1f23ed5e1fa7519eb94fcafa85facbad815d5e9c
2015-03-10 16:48:45 -07:00
Pavlin Radoslavov
87dd930f2e Use a cleaner mechanism to test whether an IP address or prefix
is IPv4 or IPv6.

Change-Id: Ia88f76be87a30573a50eeeedb78d98713ac1ae27
2015-03-10 13:53:24 -07:00
Brian O'Connor
266ac66643 Starting snapshot 1.1.0-SNAPSHOT
Change-Id: I2abf73c248c04f0559f97b313be034b48761695a
2015-03-01 07:36:09 +00:00
Brian O'Connor
352236e289 Tagging 1.1.0-rc1
Change-Id: I9c95f8309e1c98bc1a25eeaad1962b4d28257261
2015-03-01 07:36:08 +00:00
Saurav Das
c25c52285d Adding a dependency to sdnip's pom file so eclipse doesn't complain
Change-Id: Ic79fbc3ed6208472df43355f8c5a73f30511e438
2015-02-25 01:44:05 +00:00
Pavlin Radoslavov
a853709a6b Fix IPv6-related bug in SDN-IP.
- Use the correct API to set an IPv6 prefix in the matching condition

Change-Id: I7911a7e886024bff5442821816e4481570ec8172
2015-02-23 20:06:24 +00:00
Jonathan Hart
e6f8400f83 Cleaned up dependencies after routing code shuffle.
Change-Id: I1388749f77ef9b3b327df2ee745fdb7cec510708
2015-02-20 19:08:00 +00:00
Jonathan Hart
2da1e603a9 Renamed routing packages to foo & foo.impl pattern.
Plus added some package-info.java files.

Change-Id: I0b68a7f4cea7a5f089b37b1a1c016d1c3b7a8702
2015-02-18 19:10:19 -08:00
Thomas Vachuska
62ad95f3f1 Added ability to upload apps as both app.xml or app.zip.
Added a number of app.xml files for built-in apps.
Added ability to install & activate in one command.

Change-Id: I3fa5fa487ef76d9fe3da4d6dce8045d538cba423
2015-02-18 21:33:52 +00:00
Jonathan Hart
90a02c2539 Moved routing/bgp config into common routing bundle.
This allows the configuration to be used from multiple applications.

 * The class that reads the configuration file is now a service so that
   config can be consumed by components in other bundles.
 * Name of config reader classes has been generalized to RoutingConfigService
 * All config has been added to RoutingConfigService, instead of having
   two service interfaces like we did previously

Change-Id: Iaec9daf0f5b72abe2d6709fb75188d6d81947478
2015-02-18 18:52:35 +00:00
Jonathan Hart
cb726fc789 Fixed SDN-IP tests after ONOS-874 merge.
Change-Id: Ie14f64ecf7f9bc72120f837ef9cd2b8904cc4bd2
2015-02-17 11:01:33 -08:00
Brian O'Connor
532d91ccaf fixing import in IntentSyncTest
Change-Id: I7e7a87f9e012c96b1b64c02f6ec2fe1ec6c0215c
2015-02-13 14:23:56 -08:00
Jonathan Hart
b3b8a0aa7d Make SDN-IP submit route intents.
Change-Id: If0c7be8472fed46e48bfd22f9de4b15b8a8cf2ce
2015-02-13 14:16:21 -08:00
Ray Milkey
5ad3966707 Fix bug where the values of keys could change
Change-Id: I34993c413c3f928690701a055ec38c1e7029b473
2015-02-13 14:13:19 -08:00
Jonathan Hart
4fd4ebb9d0 Continue updating GossipIntentStore to new API.
Includes changes to ECMap to support generating timestamps based on values.

Change-Id: Ide55979aaa4f7757e67a6b3efed6e51d45ee318c
2015-02-13 14:12:30 -08:00
Ray Milkey
f9af43c2ea Refactoring of IntentId based APIs
- getIntent
- getIntentState
- getInstallableIntents

Change-Id: I6d2073dfa165e0e5adcef46fe5908b563b481a43
2015-02-13 14:10:55 -08:00
Sho SHIMIZU
4931ee5dc6 Delete unnecessary semicolon
Change-Id: I2eaa4d900342a665f6dc4731a298b30a9ec40696
2015-02-13 14:10:41 -08:00
Brian O'Connor
03406a4702 IntentStore interface changes
Change-Id: Ifa8728fb4c7edcc6d58a5e071f7252493ab2a578
2015-02-13 14:07:52 -08:00
Jonathan Hart
d24fafbc7c Move BGP listen port configuration to BgpSessionManager component
Change-Id: I445bff180740fededacaa59441fc53332cc3d482
2015-02-11 18:48:47 -08:00
Jonathan Hart
41349e9b46 Moved BGP code and Router code into their own bundle.
The main goal of this is to allow routing code to be used by multiple
applications.

Changes include:
 * Created an onos-app-routing bundle and moved BGP code and routing code
   into it.
 * Created an onos-app-routing-api bundle as a common API bundle between
   onos-app-routing and onos-app-sdnip, to prevent circular dependencies.
 * Moved API classes into onos-app-routing-api bundle.
 * Made Router and BgpSessionManager into OSGi components. This is not quite
   clean, because there is still a chain of start() method calls from SdnIp
   through to BgpSessionManager to preserve startup order. This should be
   revisted so components can be started using activate()
 * Created BgpService and RoutingService APIs to glue different components
   together.
 * Many unit test changes. A lot of the previous unit tests spanned the
   Router and IntentSynchronizer classes, but this is not possible any more
   since these classes are in different bundles. I had to rewrite some of
   these tests so that each unit test class only tests one real class. A
   nice side-effect is that the tests are now simpler because each test
   tests less functionality.
 * Removed SdnIp test seeing as it doesn't run automatically, was already
   broken and has been largely superseded by other unit tests and the nightly
   functional tests.

Change-Id: I70ecf5391aa353e99e7cdcf7ed38a530c87571bb
2015-02-11 18:20:57 -08:00
Jonathan Hart
552e31f991 Create a formal interface between the RIB and FIB.
* IntentSynchronizer implements a more generalized FibListener interface
 * Updates to the FIB are signalled with FibUpdate to any FibListeners
 * generateRouteIntent logic has been pushed down into the IntentSynchronizer

Change-Id: I6f0ccfd52ee4e16ce9974af5ee549d4ede6c2d0e
2015-02-11 05:43:24 +00:00