2809 Commits

Author SHA1 Message Date
Ray Milkey
8717be20e9 Fix for ONOS-607 - controller port displayed incorrectly in CLI
CONTROLLER ports were displayed as 18446744073709551613
for output instructions.

Change-Id: Id62f7ebe9e140a0a2c3c2387fbabfb3305f4273d
2015-01-12 14:16:27 -08:00
Ray Milkey
d03eda01c0 Unit tests for Instruction and Ethernet codecs
Added tests for codecs for Ethernet and Instruction classes
Also fixed some bugs uncovered by the tests

Change-Id: I29f82d169e81b3fca417f88fab992148bf36dc71
2015-01-12 18:00:10 +00:00
Charles M.C. Chan
fe42181ff5 ONOS-537 Provided maxLen setting to make sure packet data is sent with packet-in message. (OF1.3)
Apply Thomas Vachuska's solution of ONOS-537 (#2177) to FlowModBuilderVer13.
This solves the exception mentioned in the comment of ONOS-540.
Tested with OpenvSwitch 2.3.0 in Mininet 2.2.0.

Change-Id: I1f9d27d1b978ae01d16d63d6377046e4e2f3cd00
2015-01-12 18:20:51 +08:00
alshabib
612863442a null device provider implementation along with directory structure
for the other device providers

initial null provider directory structure

Change-Id: Ib7a766a854ba1863564ce2dc950f597a41a4e545

better with files

Change-Id: I041ea7bb718748e5f72ccaf06836c322b4e411d6

no binaries needed

Change-Id: I0bc978dd5bf6d20968bd1a28c6165b9f49ba585b

start nulldeviceprovider

Change-Id: If75bced900c185ca58a9302130c4d4a3cc18f12d

null device provider trivial implementation

supports hardcoded number of devices and ports, this will ultimately be extented to cli/rest configuration.

Change-Id: Iaeffc5526526b90fb1ecbcc0bd8b88103bdb921a
2015-01-12 03:54:25 +00:00
Charles M.C. Chan
5c0b476e73 Refactor: Avoid using ternary operator. Remove unnecessary casting.
* Apply suggestion in #2192 to previous implemented classes

Change-Id: I271d64202dd43968825600cd9afc49eb400371bf
2015-01-10 17:06:31 +00:00
Charles M.C. Chan
94f37374fa ONOS-512: Implement IPv6 Extension Headers
* Create IExtensionHeader interface
    - setNextHeader, getNextHeader interface for all extension header classes
        - Except EncapSecurityPayload, in which the nextHeader field is encrypted

* Create BaseOptions class
    - Super class of HopByHopOptions and DestinationOptions, since these two are very similar

* Implement following classes with unit test
    - HopByHopOptions
    - DestinationOptions
    - Fragment
    - Routing
    - Authentication
    - EncapSecurityPayload

Change-Id: If65894eccf20ac90f04bc2b0cb42aac6dd5a9674
2015-01-10 17:03:26 +00:00
Bri Prebilic Cole
7c92a3d003 GUI -- Created initial device view
Change-Id: Ie9b2a4e743d7a8070c3dfe736ad5a953547bd2f9
2015-01-09 16:50:03 -08:00
Simon Hunt
86388b15b2 GUI -- Created NavService and implemented simple navigation (click on the bird!)
Change-Id: I2bda5a3a1b279167194a84564408760eebcb59fd
2015-01-09 14:23:34 -08:00
Ray Milkey
c95bb9d27e ONOS-574 - Complete REST APIs for flows
- codecs for all objects referenced by flows
- codecs for HostToHost and PointToPoint intents
- standardized on context.codec() rather than direct calls to new codec()

Change-Id: I94fcb6e31a9161132c6efc2793b9c46fa3cc4570
2015-01-09 22:07:42 +00:00
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