143 Commits

Author SHA1 Message Date
Charles Chan
2199c30c6e CORD-348 Fabric multicast support - error handling
Automatically failover to backup spine if
- ingress - transit link down
- transit - egress link down
- transit device down

Can recover from fatal error with human involved
- ingress switch down
- egress switch down
- all links to spine down

Scan through McastRouteStore when
- SR activate
- link up

Also include following features
- Use flow objective context in McastHandler
- Update Mcast VLAN config sample

Change-Id: I75007d9efd7646e7c4e57fa6d3fc6943543153cf
2016-05-03 19:09:52 +00:00
Saurav Das
59232cf8f8 Changes include:
bug fix for host IP and MAC flows not being generated sometimes in multi-controller scenarios
      bug fix for filtering objectives not being sent sometimes when ports become available later
      npe fixes in ofdpa driver for cases where selectors or treatments may not be available
      new cli command to manually trigger routing and rule population
      portstats option on cli to display only those ports with non-zero stats
      group cli command tab completion displays choices in lower case (similar to flows)
      segment routing cli commands now start with sr-

Change-Id: Idcd641882d180acbd304e5560ed3483b5a943f96
2016-05-03 00:52:58 +00:00
Charles Chan
216e3c856b Refactoring SegmentRouting, OFDPA driver and Group Store
- Replace SRNextObjectiveContext with DefaultObjectiveContext
- Move several log messages to lower log level

Change-Id: Ice2fb598b8e4502cb4acee1a95235551ec7c8db7
2016-04-26 16:57:23 +00:00
Charles Chan
d299036a4d Segment Routing refactoring
- Change name: McastEventHandler -> McastHandler
- Separate HostHandler from SRManager
- Move storekeys to a dedicated package
- Replace SRObjevtiveContext and BridgeTableObjectiveContext with DefaultObjectiveContext

Change-Id: Iab25529487004759105e5ba60c1d2a3852ac45e6
2016-04-23 22:25:26 +00:00
Charles Chan
d55e84de33 CORD-348 multicast support in SegmentRouting and vRouter
In this submission:
* Setup/teardown multicast route according to SinkAdded/SinkRemoved event
    - ingressVlan and egressVlan is configurable through network config
* Change behavior of OFDPA VLAN assignment
    - Always use the VLAN in metadata if present
* Bugfix of writing immutable object

NOT in this submission (coming soon):
* Error handling (e.g. link/device failure recovery)

Change-Id: I9be11af04eb2d6456b865c7e59e96cc02370f846
2016-04-18 20:06:57 +00:00
Jian Li
3d09f4f46d Fix buck build for segmentrouting application
Change-Id: I32f64c93fc1f3f5a1db444b8039dfe8b98dc2859
2016-04-13 15:43:22 -07:00
Jonathan Hart
c19f7c191e Register API in segment routing Kryo serializers.
Also use a different builder instance for each map.

Change-Id: Id594ea708d7bc2cfa06d514f50273dd0f8cb45f6
2016-04-12 15:39:44 -07:00
Charles Chan
2c8231c924 Fix application name and description in BUCK file
Change-Id: I26aa0cd81629f0b94df47dae1f74244096cf5e25
2016-04-12 18:11:57 +00:00
Ray Milkey
820d633b9f Start refactoring of app BUCK files
- Brian added maven coordinates to the maven JAR short path
- refactored segment routing and ganglia metrics apps

Change-Id: I7b8110e07a474d256d4821c1a9d083c9c8c11e2e
2016-04-11 20:26:29 +00:00
Charles Chan
5d58e8d2d4 Remove redundant dependency in SegmentRouting
Change-Id: I7e68f26247455b7ebacbd46b7b597be04d25207f
2016-04-11 15:51:56 +00:00
Ray Milkey
24439fe26d app buck refactor for apps: aaa, acl, bgprouter
Change-Id: Iaa970e3a937cc1df0aff29cc45f4c08c2d79cd13
2016-04-09 02:55:18 -07:00
Brian O'Connor
7cbbbb7009 Adding Copyright notice to files that are missing it
Change-Id: Ic08aad8906dbd4dd062e7adcec7465475cf2bdda
2016-04-09 09:51:27 +00:00
Brian O'Connor
5ab426f9ff Updating copyrights
New format: 'Copyright .year-present Open Networking Laboratory'

Change-Id: I1a9e58b355b775e75245ad875a2d7a4df3f03098
2016-04-09 01:20:21 -07:00
Ray Milkey
7c25182db9 Fix buck tests
Change-Id: I3d681e6e5c1d3e98c87ccb3d20a619b216ae6133
2016-04-06 19:04:52 -07:00
Ray Milkey
d4334dbdc1 Javadoc warning fixes
Change-Id: I30b3398b849da5d528f2bce58004d190ca17ad50
2016-04-06 17:37:12 +00:00
Brian O'Connor
85f28d0a0a Updating test sources in several BUCK files
Change-Id: I17b83cb978f7b8fc1d31a1e96bec59a077dbdfbb
2016-04-06 16:57:45 +00:00
Brian O'Connor
a450bd000b Simplifying Import-Package line in maven-bundle-plugin for REST bundles
Change-Id: Ic29e3f205e18b7b63e33a8c65cbb30a8b56d2e74
2016-04-04 21:33:36 +00:00
Saurav Das
7a1ffca581 Fixing a couple of NPEs
Change-Id: I19b5a2787b26e67e05640f6c64a13b58f2dc089a
2016-03-29 22:14:41 +00:00
Ray Milkey
f80bbb22c2 Initial BUCK build
Change-Id: I64e8a979301989062f4545a4841b06c15a372049
2016-03-29 21:39:14 +00:00
Saurav Das
80980c7382 CORD-45 CORD-394
Bugfix in group store - group delete state updated correctly.
SR app no longer deletes buckets in existing groups - workaround for OFDPA bug.
Instead it invalidates the entire group, thereby forcing new group creation.
Also incorporating Charles' changes to remove state from group and flow stores,
and the SR app when device goes offline.

Change-Id: I162d3fb6bf709a8f02b01b8d57e131c2bac9b46b
2016-03-28 20:21:35 +00:00
Jian Li
9d61649f0f [ONOS-4042] Bump up Jersey from 1.19 to 2.22.2
- Fix unit test errors of web/api
- Fix default page redirection problem
- Fix compilation errors of web/gui
- Fix configuration of aaa, acl, cordfabric, cord-gui, dhcp, mfwd,
  olt, openstack, segmentrouting, vtn, virtualbng, xos-integration
- Fix unit test errors of cpman, vtn, acl, faultmanagement
- Fix compilation errors of openstack, virtualbng, xos-integration,
  REST SB controller
- Rearrange features.xml to resolve bundle dependencies
- Remove all of stale Jersey 1.x libraries
- Rearrange web.xml to point new Jersey 2.x servlet

Change-Id: Ic17f461ede0aa36fa8d470546d8069152dc1d134
2016-03-24 18:54:28 +00:00
Brian O'Connor
955c316b54 Starting snapshot 1.6.0-SNAPSHOT 2016-03-10 15:27:19 -08:00
Brian O'Connor
55b4d80176 Tagging 1.5.0 (Falcon) 2016-03-10 15:24:41 -08:00
Madan Jampani
23696428f8 Starting snapshot 1.5.0-SNAPSHOT 2016-03-09 14:02:04 -08:00
Madan Jampani
b7a5420285 Tagging 1.5.0-rc3 2016-03-09 13:47:32 -08:00
Jian Li
fd46e1d293 Refine application title and category in app.xml and pom.xml
- Remove ONOS keyword from application title
- Capitalize each keyword in application title
- Make it consistent to use App, Provider and Driver in
  application title
- Add right category name for each application
- Add missing application title and category
- Make application category comment more descriptive

Change-Id: Ib886b4a4293c38bd546a4107b20569f1bd7031a7
2016-03-08 18:41:50 +00:00
Simon Hunt
afae2f71fc Apps-- added onos.app.title property to applications.
Change-Id: Id845390ee0bee5b871c0ce9f47b2ce98fbcf26b9
2016-03-07 19:30:59 +00:00
Charles Chan
2196a92c5f Bugfix and improvement of SR config loading
Change-Id: If17af7ff1fbd3cb712e59cce930ef11146bdbf2e
2016-03-07 17:32:07 +00:00
Thomas Vachuska
5d8994ffce Starting snapshot 1.5.0-SNAPSHOT 2016-03-03 17:13:26 -08:00
Thomas Vachuska
40d5255ca9 Tagging 1.5.0-rc2 2016-03-03 17:08:36 -08:00
Charles Chan
3e783d0b7b Fix NPE in SegmentRoutingManager
NetworkConfigEventHandler must be initialized before adding NetworkConfigEventListener

Change-Id: I8eb40c8b7345b915e613a678df8e8c103980ee21
2016-02-27 07:12:39 +00:00
Charles Chan
a35b02c148 Extract test json to separate files
Change-Id: Ica815b7c5ff0a77f411e621bbb6cfc8b78fcd012
2016-02-23 07:55:03 +00:00
Charles Chan
d9681e7d54 Improve SegmentRoutingAppConfig
- Separate host and subnet suppression
- Use port instead of interface to specify which SR should ignore

Change-Id: Ie6491950cddf0860924565f081504b4f4d788179
2016-02-23 03:52:22 +00:00
Charles Chan
d0fd5dc1bd CORD-546 Push L3 unicast rules for bgp peers when they are learned
- Change L3 unicast group id/key generation to include src MAC
- Note: Only flows are removed when a peer is gone
  since the group may still be referenced by routes announced by peer.
  It does no harm even if the group is not referenced.
- Note: We assume that peer does not move or update IP

Also fix several SR/VR integration issues, including
- Do not push broadcast group for /32

Change-Id: Ifb03601f5341f8b7717ea1fbccbc569b07f66476
2016-02-19 23:36:19 +00:00
Jonathan Hart
00cdddaa60 Send PIM Join/Prune messages based on events from the McastService.
Also change Interface to return a list of addresses rather than a set
to allow applications to rely on the order of configuration

Change-Id: Ie7f62fee507639325ee0a77b8db4088dae34597e
2016-02-19 18:53:12 +00:00
Charles Chan
116188d056 Cleanup interface constant
Change-Id: Ief110d6db88889e5c01c43b5d410330114c65ad9
2016-02-18 22:53:51 +00:00
Charles Chan
b54e8ba3e9 Fix javadoc error
Change-Id: Ica9ef8f921aa7b8ce891e17a6839bfec6f444068
2016-02-18 18:45:36 +00:00
Charles Chan
f2565a9cbc CORD-508 SegmentRouting / vRouter integration
- Added excludePorts config to SegmentRouting
    SR does not push VLAN filtering rule to excluded ports
    SR ignores hosts learned from excluded ports
- Use separate default route config
    Don't need to config 0/0 on the interface anymore

Change-Id: Iea75d60c2d5f5368e79652b1bf192a6ced49030d
2016-02-18 17:32:30 +00:00
Charles Chan
5270ed0088 CORD-512 Support vSG <-> vRouter default route
- Support multiple subnets per port. getIpPort() will only return the first non-/32 and non-/0 subnet
    /32 is used as vSG subnet
    /0 is used as default gateway
- Support multiple L3 unicast group on a single port
    Change the way to generate the group ID and group key
- Special case for 0.0.0.0 host. Push a /0 to IP table instead of /32
- Implement vRouterConfig
    Put VR MAC to TMAC table of all leaves when config added
        When processEthDst see PortNumber.ANY in key, match ETH_DST only
- For OFDPA, wipe existing instruction before sending to controller
    So packet that misses L3 unicast table won't be sent to controller twice
- For SpringOpenTTP, pop VLAN before sending to controller
- Move several constant definitions to SegmentRoutingService
- Add minimum priority for IP rules such that /0 won't collide with zero priority default rules
- Update the config sample
    Use VLAN=-1 for hosts
    Add example for default route

Change-Id: Id751697ce36a7e5c13b3859350ff21b585c38525
2016-02-18 17:30:19 +00:00
Charles Chan
17d38f4c59 Remove OFDPA /32 -> ECMP workaround
OFDPA software build 12.1.1+accton1.7-1 fixes this issue.
This workaround is no longer required.

Change-Id: I9952d8739cf0f72d671bbc217dabc09edf8820cc
2016-02-05 22:37:57 +00:00
Saurav Das
49831644a9 Two fixes: 1) cpqd emulation of ofdpa pops off internal vlan before sending to controller
2) Arp handler does not need to send flowmod to switch as hostmanager listener is doing that

Change-Id: I5460aa36bcb3cfce3bc1887e304a63b2221495b9
2016-02-05 13:18:01 -08:00
Charles Chan
14967c2731 CORD-389 Fix for Accton 6712 deployment
Related to this topic:
- Disable the meter collector since right now it is not supported
- Implement extension VLAN ID selector/treatment for OFDPA
    Since it requires two special flow entries to match untagged packets
        0x1ffe/no mask (filtering rule, need to go first)
        0x0000/0x1fff setvid 0x0ffe (assignment rule, need to go second)
- Not able to point /32 IP address to ECMP group. Use /31 instead.

In addition:
- Implement serializer for ExtensionCriterion

Change-Id: I621b3ad14014d7e6945c014cdae4f7cd2939288e
2016-01-27 06:39:45 +00:00
Ray Milkey
2693bdab3e Add a builder for DefaultLink to hide multiplying constructors
Change-Id: Iaf073d07989c398a8f44541ffdb8dd93e5715162
2016-01-26 21:33:28 +00:00
Brian Stanke
7cfd4433cb ONOS-3704 - Cleaning up Maven build warning messages and cleaning up some versions of thirdparty libraries.
Change-Id: Id578e10713d41b6c02e92cb2c6e17a4da0787b52
2016-01-26 21:04:36 +00:00
Charles Chan
e849c19398 CORD-349 Support VLAN cross-connect traffic
Change related to this topic:
- Support VLAN cross-connect traffic
    Utilize ports subjectClass to achieve. For non-xConnect port, set interface VLAN to -1
- Remove VLAN checking since we have multiple VLANs per port
- Hash the L2 interface group key generation to include VLAN as well
- Update the network-cfg.json sample

Other refactoring changes:
- Read next objective stores from srManager directly
- Use constant for flow priority
- CORD-267 Javadoc fix

Change-Id: I4ca8c2d9c8b3633a4a0101c5070d19343f7e5b90
2016-01-21 00:04:49 +00:00
Jian Li
c35415ddcd [ONOS-3634] Enhance app to have a category, icon, URL and readme
This commmit enhances application to have category, icon, URL and
readme. The web GUI and CLI will be implemented in separate commits

Change-Id: Ib02716d7118cc617b24f196f2213ea1fe99a34be
2016-01-20 00:30:35 +00:00
Flavio Castro
6816f25a94 Added debug info to ArpHandler and priorities to RoutingPopulator
Change-Id: I079c5d50b12602ef620dbc6c5812d4508fa0b58d
2016-01-15 19:17:14 +00:00
Charles Chan
188ebf53fc Segment Routing bug fix and enhancement
Bugfix:
- Add MPLS BOS matching
- Fix NPE caused by race between filter objective and broadcast next objective

Enhancement:
- Move group handler out from OFDPA pipeline
- Move ARP request from rule populator to packet request

Change-Id: I0ba40e10f7cb7f97277df86725fbd2546a62e890
2016-01-11 12:11:58 -08:00
Brian O'Connor
880dc20ddb Starting snapshot 1.5.0-SNAPSHOT
Change-Id: If9ce4ca5f5f6d089e9f088e710367f4e2ca1c9b6
2015-12-16 22:53:14 -08:00
Brian O'Connor
5a2856fd01 Tagging 1.4.0 (Emu release)
Change-Id: I55e4dbcecbfac86cccae27aa99a813910bd5557a
2015-12-16 22:47:51 -08:00