2550 Commits

Author SHA1 Message Date
Pavlin Radoslavov
d36a74b11d Add explicit flow rules to receive control packets: ARP, LLDP, BDDP
This fixes ONOS-540

NOTES:
 * Currently, the flow rules are pushed by each module that needs to receive
   the corresponding control packets:
   - ARP: ProxyArpManager, HostLocationProvider
   - LLDP and BDDP: LLDPLinkProvider
 * Pushing the corresponding IPv6 rules for Neighbor Discovery is not done yet
 * In the future, we might want to consider an explicit service to
   subscribe for receiving particular control packets

Change-Id: I292ad11a2e48390624f381c278e55e5d0af93c6d
2015-01-09 22:03:35 +00:00
Sho SHIMIZU
c02c0b8546 WIP: Resolve conflict with Go language "go" command
Resolve ONOS-475

Change-Id: If0ffe6aea59b4286bb966f15d741526951fd9915
2015-01-09 21:48:51 +00:00
Jonathan Hart
4d887e8372 Moved onlab-rest bundle out of onos-api.
Having onlab-rest in onos-api creates a dependency issue because the
dependencies of onlab-rest are not included in onos-api. Usually people don't
see an issue because they also have another rest/web feature installed.

Fixes ONOS-505.

Change-Id: Ifd1526491eb526bb2d751d915fc97cceef5a64a9
(cherry picked from commit 449bd5bc62f5723f914efe8117f19190d1b9ff49)
2015-01-09 21:43:46 +00:00
Jonathan Hart
081e737a4e Classify hardware running OVS as an OVS switch.
Without this we use the default abstract switch, which doesn't push a
table-miss entry.

Fixes ONOS-558.

Cherry-picked from onos-1.0.

Change-Id: I296c7fff6e94575e72829fb4e1aa3d1e5b82852c
2015-01-09 21:27:11 +00:00
Simon Hunt
404e54c6ed GUI -- MapService: rework API and internal code for loading map. WIP.
Change-Id: I74458a3ef615d67a0fe9869926ef230990cd902f
2015-01-09 11:58:49 -08:00
Ayaka Koshibe
aec6296229 Initial cut of onos-group script for running a subset of commands
against multiple ONOS instances:

  - onos-install
  - onos-push-keys
  - onos-kill
  - onos-patch-vm
  - onos-uninstall

onos-group is simply a wrapper that does minimal sanity checks. New
commands are added by adding them to the GOPTS list in ogroup-opts.

Reference: ONOS-536

Change-Id: Ib3055491fec80e8759e87594e81a88285546deaf
2015-01-09 03:15:04 +00:00
Simon Hunt
1e8eff4d02 GUI -- MapService: changed to cache promises with attached meta data.
- unit tests for cached promises still WIP.

Change-Id: Ibe52cf3e83ed5753ccc12581b52fa1f640354e60
2015-01-08 17:19:02 -08:00
Simon Hunt
f044d8a708 GUI -- Sketched out MapService.
- implemented ID to URL adjustment, and object caching behaviors.

Change-Id: I5a30b59be01761d9a6475f7707db947dd2304dc5
2015-01-07 17:53:17 -08:00
Bri Prebilic Cole
09e464bc62 Starting GUI server-side code
Change-Id: Id3d5e198a2326f50ef2661f6971cf23271bf7644
2015-01-07 17:13:54 -08:00
Simon Hunt
cacce3442b GUI -- Implemented ZoomService, with unit tests.
- Added zoomer to topo.js; we are at least generating the events.
- Added GlyphService.clear()

Change-Id: I5400e52b58ee584866d8ffbb20d5bde70b336985
2015-01-07 16:13:05 -08:00
Simon Hunt
6cc536945e GUI -- Topo View: define SVG layer; inject (sample) key bindings and install glyph definitions.
Change-Id: I1c063b0484a9cedcf8e57a35cc51c3c4b35c9329
2015-01-07 11:36:44 -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
Simon Hunt
670e825628 GUI -- implemeted GlyphService.loadDefs().
Change-Id: I2d93164dd6d1968982d3034b8c7bc50041d9bad9
2015-01-06 18:31:30 -08:00
Simon Hunt
bc39f6d87d GUI -- implemeted GlyphService.register().
Change-Id: I769294b428d9eb5414b45d1099baee1ab3814528
2015-01-06 17:34:35 -08: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
Simon Hunt
6e4598029d GUI -- implementation and unit test for loading base set of glyphs into GlyphService.
Change-Id: I0c742ab6a58f607a6c3a812767dc26df82f74827
2015-01-06 15:05:54 -08:00
Sho SHIMIZU
8cd9fb8ad5 Make timeout and max attempts configurable
- Resolve ONOS-472
- Define instance variables for timeout and max attemps
- Add a constructor that initializes the added instance variables

Change-Id: Ia70421122cd6042b01850eabec9f249e7cea5e88
2015-01-06 22:30:42 +00:00
Simon Hunt
51fc40b05b GUI -- Sketching out GlyphService.
- Added areFunctions() to FnService.
- First unit test for GlyphService.
- Added note about debugging unit tests.

Change-Id: I377b6a1cf1845fb57e506e1a935970b49dbf0bbb
2015-01-06 13:56:33 -08:00
Ray Milkey
9a39eca2e7 ONOS-423 - Throw a specific exception when resources are exhausted
Create an exception to throw when no resources are available
Simple, Hazelcast and Distributed link resource stores throw ResourceAllocationException
Unit tests for successful and unsuccessful bandwidth and lambda allocations

Change-Id: If062d10d2233935dd59efabfa5f37a446e275a5b
2015-01-06 20:51:15 +00:00
Thomas Vachuska
f4df00560f ONOS-537 Provided maxLen setting to make sure packet data is sent with packet-in message. Also added support for TrafficTreatment.Builder.punt();
Change-Id: I9f5577cf83b4d25c79459e56492be747a245397c
2015-01-06 12:30:18 -08:00
Jonathan Hart
4fb5cdeb37 Register FlowRuleEvent.Type with Kryo.
Fixes ONOS-504.

Change-Id: Ia8a9b229c9eb212cf97ce3ed81c31febe84e3184
(cherry picked from commit df2e65297cd43bebbd938e37583f3109e616455d)
2015-01-06 19:54:52 +00:00
Simon Hunt
8ead3a2edc GUI -- Updated copyright year for GUI source files.
- updated the unit test README file.

Change-Id: I050a343851d2445b29b846384aca5bfa82e43690
2015-01-06 11:00:15 -08:00
Simon Hunt
7ac7be9799 GUI -- Added skeleton factories for SVG module.
Change-Id: Iba32faef86d95327fd70bc8fc57a716d543551db
2015-01-06 10:47:56 -08:00
Thomas Vachuska
649cb618e0 Fixed demo JSON topo file.
Change-Id: I741dca6d0f24a31c4b0adf63cc680678b4b00845
2015-01-06 17:50:27 +00:00
Charles M.C. Chan
36eb6e1154 Bugfix: Criteria.toString() does not convert unsigned variables properly.
For example, in the response of 'flows' command, the ethType of IPv6 (0x86dd) is shown as ff..ff86dd instead of 86dd
Note: VlanId/VlanPcp still remains in signed format in this commit since:
  * VLAN tag is actually 12 bits. There should be no problem even if it is printed as signed short.
  * VLAN PCP is actually 3 bits. There should be no problem even if it is printed as signed short.
  * -1 is used in many places to indicate untagged vlan

Change-Id: Ib68161d552a0011e6a6666970907cf9ca846f620
2015-01-06 17:38:13 +00:00
Kenji HIKICHI
237787cbaa ONOS-534: onos-install: add a new option to copy maven's setting file
* Added a option "-m <setting-file>" to the onos-install command
  to copy the <setting-file> to ~/.m2/settings.xml on remote node.

Change-Id: Ibad240004bae2d5f415bfaf0f23ee0f822c010d2
2015-01-06 19:59:30 +09:00
Simon Hunt
5d12dc2b8a GUI -- Added missing dependency to karma.conf.js
Change-Id: Id6cff0cae2847c387b1e20597ea112c7126f755f
2015-01-05 16:56:22 -08:00
Charles M.C. Chan
ea5aa47ef7 Implement NDP-related classes
* Resolve ONOS-511
* Refactor: Move NDP-related classes into org.onlab.packet.ndp package
* Bugfix: payload is not properly set in testSerialize

Change-Id: Idb2dbfbd0297152c0e26ac2d5d5f8dba62824660
2015-01-06 02:57:58 +08:00
Charles M.C. Chan
7fee36a5eb Trace IPv6 hosts
ONOS-511: Implement NeighborSolicitation

Change-Id: I9aaf35d499cfc7885c74f9c4bf281210ef9f3969

ONOS-507: Trace NeighborSolicitation/NeighborAdvertisement/IPv6 packets in HostLocationProvider
	* Complete Javadoc of IPv6, ICMP6, NeighborAdvertisement and NeighborSolicitation
		- The Javadoc for serialize() is removed since the one in its superclass just works fine.
	* Change 'diffServ' in IPv6 to 'trafficClass' to meet the field name in RFC.
		- The setter method, getter method and unit test are also updated accordingly.
	* Add IpAddress.isZero() to determine if this address is zero.
		- The unit test is also updated accordingly.
	* Fix misuse of IpAddress.valueOf(int) in HostLocationProvider

Change-Id: Id0d873aeb1bc61bf26d4964e7aab4bb06ccd0a38
2015-01-01 19:25:29 +00:00
Kunihiro Ishiguro
d37c9cadab ONOS-506: IPv6 forwarding option for ReactiveForwarder.
org.onosproject.fwd.ReactiveForwarding.cfg
------------------------------------------
ipv6Forwarding = true

will enable IPv6 forwarding in ReactiveForwarder.

ONOS-506: Updates for the comment.

* ReactiveForwarding.java
Line 133: Make the comment to concrete Javadoc.
Line 134: Method is changed to static.
Line 141: Catch ClassCastException instead of generic Exception.

* org.onosproject.fwd.ReactiveForwarding.cfg
Line 3: Fix typo ;-).
Line 7: Add comment: the option affects both IPv4 and IPv6.

Change-Id: Ie7fdc7fc26c7d36b9633bfc828dffe27015214f7
2015-01-01 03:13:47 +09: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
Charles M.C. Chan
93b7fb0e07 ONOS-508: Implement IPv6, ICMP6 and NeighborAdvertisement class
Create ICMP6 class, which is mostly like ICMP

Change-Id: I11d7abec4a8f1fd202e5dfb0a500f621773c2c3a

Create IPv6 class, which is mostly like IPv4

Change-Id: I7a301a0f94263df5d6d30f73050332ec7acfe611

Register handler class of IPv6 to Ethernet

Change-Id: Iccdef1680664520f9d66360a289809710982ce54

Fix FIXED_HEADER_LENGTH

Change-Id: Iff4fb22638416595f2865ff46b682a0579ba33d5

Fix payloadLength

Change-Id: I8dea4dd52f0bb5926fbff0d9e74fdd19404cabff

Add unittest for serialize

Change-Id: If194aa2530ce517a33b36b97b8478b0a4c463954

Add unittest for deserialize. Fix assertArrayEquals. Refine test structure.

Change-Id: I94f2a348b2be2f5907d8bac6b9029b37eb31456d

Payload length should be handled during serializing/deserializing procedure

Change-Id: Ib079bf939a01a38356c824ed972793293ed8ca1e

Add unittest for comparator

Change-Id: I937dd9330d7c23a81ecd8434ac0fcf7345cc5c00

Fix typo. Fix checkstyle error

Change-Id: I2fe1af81c65416b0fddaa0fb9ae206b87b889628

Add implementation and unittest for NeighborAdvertisement

Change-Id: I7610462a5712f9fee5be0416c08e1de302e0780d

Register handler class of NeighborAdvertisement to ICMP6

Change-Id: I3a7a9cf044cfdcd8908579942c159c2f0aad198d
2014-12-29 18:35:57 +08:00
Yuta HIGUCHI
412893888e Configuration to suppress LLDP discovery
Change-Id: I3b14df6682839f14694b69330a0943facd4f3a6f
2014-12-24 08:22:20 +00:00
Ayaka Koshibe
a99851345e vicell command for editing/applying cell configurations
Change-Id: I3e9731342ef015649978941ba984af4fc0af41d2
2014-12-22 02:28:17 +00:00
Jonathan Hart
ab17b27828 LinkCollectionIntentInstaller - reuse same code for install and uninstall
+ cosmetic changes

Change-Id: Ie8dbeab8b3b3fafcebc6e48306660533dd0af4e3
2014-12-19 23:54:05 +00:00
Ray Milkey
4f5de001a8 Implement REST APIs for flows:
- get all flows
- get all flows for a device
- get all flows for a device with a given ID

Change-Id: Ifb1541e4ae4a7e49f1347b34bef2fe788902368d
2014-12-19 23:50:40 +00:00
Yuta HIGUCHI
e59c7e3bfd GossipHostStore: allow location change + update
- Actively sync with peer on anti-entropy message
  to improve convergence speed
- Timestamp not only location
- Refresh timestamp on delta update

Might fix ONOS-436

Change-Id: I271f9af04b87d78124d055e79b93413deaf1fa3c
2014-12-19 21:46:01 +00:00
Simon Hunt
ef31fb2664 GUI -- Sketched out structure for multi-views; each with own controller, template html and css.
- routes currently hard-coded... some thought needed to handle views contributed at runtime.

Change-Id: Ied012744d74e46c5072143283364557f9485056c
2014-12-19 13:16:44 -08:00
Simon Hunt
7256d0842b GUI -- removed commented out tests.
Change-Id: I3b37263edefbf947846dd2f9b2d7cbd4295e0c0f
2014-12-18 21:43:28 -08:00
Yuta HIGUCHI
4f39bcd8b7 GUI -- implemented Theme Service.
- moved body class handling into Theme Service, (out of Key Service).

Change-Id: Ied0d22523fec36cadef8b9669194089585f73959
2014-12-18 21:31:00 -08:00
Simon Hunt
dc6362aaef GUI -- reworking code to eliminate unnecessary 'ONOS' global.
- re-package fn and keys factories into util module.

Change-Id: I3d9f50b9a91468140845e862aff3fdb518948774
2014-12-18 19:55:23 -08:00
Simon Hunt
7aeffa017c GUI -- refactored key service test to spy on $log service, instead of implementing our own mock.
Change-Id: I166972eed147ccf3d50d65454103922939b87e06
2014-12-18 14:58:26 -08:00
Simon Hunt
af32207ec4 GUI -- augmented Key Service unit tests to include masked key test, and gesture notes test.
Change-Id: I4797cbb5baec6f05835b3fbc77952e47c059c5d1
2014-12-18 13:23:40 -08:00
Yuta HIGUCHI
24d483d1c6 Cosmetic fixes to SMap
Change-Id: I2b45227c19ee2d6595d52dda35a139ed3a898ce8
2014-12-18 17:32:33 +00:00
Yuta HIGUCHI
1773d0ad14 Set dependency scope test to unit test libraries
Change-Id: I0d8e9897cc3a3693a76e7ebb1270a88cea9416cf
2014-12-18 17:31:01 +00:00
Charles M.C. Chan
dfbc6d81ac ONOS-487: Allow ONOS to be installed using different user/group
Change-Id: Ica926a2a6e0870e3aeab1e1585073196358c8184
2014-12-18 17:27:24 +00:00
Sho SHIMIZU
0908275d1c Refactor: Use Duration instead of primitive value
Change-Id: Id7de939fd8f1c74cf669207edf16378019b2acc3
2014-12-18 17:23:13 +00:00
Sho SHIMIZU
c647b1e5cf Null check at the head of the constructor of IntentOperation
Change-Id: Iaa25c6c7e49cf1c629687b0ba95b548fad4f7d71
2014-12-18 17:18:58 +00:00
Kunihiro Ishiguro
828245c5eb Store remote 4 octet AS path value.
Change-Id: Ifccc777c48392effb0ab86298115c9abb4fe5e48
2014-12-18 17:54:18 +09:00