497 Commits

Author SHA1 Message Date
ONOS Jenkins User
4e5f2d67ac Starting snapshot 1.14.0-SNAPSHOT 2018-08-13 23:16:37 +00:00
ONOS Jenkins User
cff0bd8922 Tagging 1.14.0-rc1 2018-08-13 23:15:43 +00:00
Charles Chan
69b7ae6414 [ONOS-7759] Explicitly pop VLAN when a transport VLAN is not required on a spine
Change-Id: I656fcdc0077557bd9d843b3fe29fb003efafc03d
2018-08-13 17:03:47 +00:00
Ray Milkey
4867af2f9c Revert "Tagging 1.14.0-b1"
This reverts commit 78ce40093ac008fd6d169ab83d2d5961f91f6e31.

Change-Id: I8482f550c30f75d65333f6be9c9115a930abc56f
2018-08-10 16:53:10 -07:00
Carmelo Cascone
4164436785 More p4runtime-related bazel build files
Change-Id: Icdd02a06d7905e4cd0a6c61d282fd522c7b75fe7
2018-08-10 18:42:44 +00:00
Ray Milkey
78ce40093a Tagging 1.14.0-b1 2018-08-10 11:16:44 -07:00
Charles Chan
168111e81c Move device event handling to another thread in XconnectManager
Change-Id: I72f4f4e5d285fa928bb682714369019fc0be38fa
2018-08-08 04:56:25 +00:00
Charles Chan
b67dfdd75d Clarify log messages
Change-Id: I82e10496d1ff48143ed7391ea2ca6d92f501a4f4
2018-07-25 21:52:22 +00:00
Charles Chan
57465d34c0 Implement component config to enable double tagged host programming
Change-Id: I4b2c113e5ddcfe23f825fb15d053cc2ee48ee9e1
2018-07-25 21:52:22 +00:00
Charles Chan
f82d155bd6 Verify unchanged host location when host is moved
When a dual homed host moves from [1A/1, 1B/1] to [1A/2, 1B/1], it is very likely that 1B side moves as well.
A verify probe should be sent on 1B/1 to see if the host is still there.

Change-Id: Ib40dcb51e0980a642e308ee3b883dc19551317df
2018-07-25 21:52:22 +00:00
Charles Chan
05b06bc68e RouteHandler misbehaved when next hop moves from single location to dual location
sr-device-subnet was not properly maintained and the subnet was not populated
Also implement the unit test for this scenario

Change-Id: I1507ce2457588992ff8aae216339b6bd80c67acd
2018-07-25 21:52:22 +00:00
Charles Chan
f45552d34a Block pseudo wire VLAN translation
- Dune doesn't support VLAN translation in table 10. Need to revisit this with egress table
- Remove redundant setVlan action
- Implement partial unit test for PwaasUtil

Change-Id: Iabed388f6c68d8ddfc64a3302e6084c2e2aeeb44
2018-07-25 21:52:22 +00:00
Charles Chan
871d918699 Fix serialization execption
Change-Id: I59d6d45dfdd71cfd6689a4baf0ad13ce18f72055
2018-07-24 17:11:31 +00:00
Thomas Vachuska
67484d9008 Added RBAC for REST APIs.
- admin role required for POST, PUT, DELETE & PATCH
- viewer role required for all other requests
- cleaned up all web.xml files for consistency and correctness

Change-Id: I33bad5cec0fb0f4285eed84173025b0a107b5aec
2018-07-17 12:10:00 -07:00
Thomas Vachuska
970b964b41 Adding more Bazel BUILD files
- added defs for CLI and REST

Change-Id: I6ce2c5aac5fcdd265561d6aa2abba66f5556ff3a
2018-07-11 15:01:42 +00:00
Charles Chan
eded688740 Set R-bit in neighbor advertisement if replying as a router
Change-Id: Ic51140cf7ab88064df0bc87fb4d1fbc976ce7bc7
2018-07-06 11:19:50 -07:00
Charles Chan
4d63939c80 Delete prefix from sr-device-subnet when the next hop host is removed
Change-Id: I440897a531b69dd7bbe771eff69728bbff9a2513
2018-06-25 18:28:25 +00:00
Thomas Vachuska
ca0b5dfb38 Cleaning up application categories.
Change-Id: Id3c937323123b6089cedf7b31cd01151f6aca8e1
2018-06-23 04:18:30 +00:00
Charles Chan
c7b3c451c7 Implement CLI and REST API for Xconnect
Deprecate the old way of configuring Xconnect via network config

Change-Id: I5b9ac7852517c25805bcbfc0e7b3bec3a52eed9f
2018-06-21 00:20:25 +00:00
Charles Chan
f76de30781 Improve Xconnect to support BSOD use case
- Push ACL flow to ignore xconnect VLAN
- Add pair port to the L2FG internally
- Remove the ETH_TYPE restriction in OFDPA processVersatile
- Remove the NOACTION warning in OFDPA processVersatile
- Do not push bridging flow for hosts that have wrong VLAN tag

Known issue:
- flooding issue on the pair port
- tagged host will be learnt before xconnect config is pushed (will be ignored by SR)

Change-Id: I30e4f46e54daa0f7bd349419df100523dceb2c4c
2018-06-21 00:20:25 +00:00
Charles Chan
f2f8ef043b Fix ConcurrentModificationException
Change-Id: Ie4c3a56312156ded1cbc2fd8a0e4da822ff57205
2018-06-21 00:20:25 +00:00
Saurav Das
137f27f0e7 Bugfix in routing logic to avoid null groups; Improvement in group handling.
Two main changes for the bug-fix:
    - avoid doing a full-reroute in the event of link failure as this will leave behind stale state in stores
      if event has been preceded by mastership change leading to the nuking of the ecmpSpg for one of the
      link's devices; instead do a rehash
    - when full-reroute is attempted, do it only once, with a complete nuke of the next-obj store

Improvement in group handling allows for a max number of retries for a group that failed to be added.
Earlier behavior was to try only once, and if it fails, it gets removed from the group-store. Now it
is removed after a couple of retries - so total 3 attempts to program the group.

Change-Id: I54ca8203cef779463522b01353540d12f8be3c91
2018-06-20 17:48:32 +00:00
Charles Chan
5adc628bd3 Refactor DefaultRoutingHandler to avoid hitting 2000 lines limit
Change-Id: I426e7fc70dcc063bd5742f86ba1141adf6d1d94e
2018-06-20 17:48:03 +00:00
Andreas Pantelopoulos
b251801737 Configuration option respondToUnknownHosts.
Set this option to true to respond to arp requests
for unknown hosts [Default Value = True].

Change-Id: Ia2f10b2fae22b65cd2ec12a04accd9ad0ec15109
(cherry picked from commit 7bf9e441bdc4c7ac420f2a59e4d176005a40d020)
2018-06-18 20:48:05 +00:00
Ray Milkey
15053f0fca buildifier formatting of bazel files
Change-Id: I8196aa52ee640d1c500307a50a0ab4921138b69b
2018-06-13 17:57:14 +00:00
Ray Milkey
02a658bb4a Build segment routing app with bazel
- add support for apps depending on other apps
- build files for route-service and segment routing

Change-Id: I4850aacfe050f802072e2d59a6a21bcefd784e67
2018-06-13 16:23:14 +00:00
Andreas Pantelopoulos
7fba877401 Made the l2 handler use the new logic for pw trans.
- refactored l2 handler to *only* program initiation and termination
  points and nothing else.
- all pseudowires are set to be carried wiht PSEUDOWIRE_VLAN fetched
  from srManager.

Change-Id: I811370f21156a9ca4d42becb1f9401dbeb4fdc33
2018-06-12 19:42:27 -07:00
Andreas Pantelopoulos
5bf1366410 Various pseudowire fixes and improvements.
- Co-ordination when creating - removing pseudowires from
  different instances with a use of a DistributedLock.
- Fixed REST API To return json with specific error for
  the single pw instantiation.
- Fixed REST API to return specific error also for pseudowires
  that could not be decoded.
- Minor bug fix to return appropriate error when instantiating
  a pw from the command line that could not be decoded.
- Fixed bug when creating spine-leaf-leaf pseudowire where we observed flows in pending state.
- Improved logging.

Change-Id: I60dd0ebf8af63ca74d18cfe4801d01846641fb7b
2018-06-13 02:22:58 +00:00
Sangyeok Sim
7ff935ec7c remove extra semicolons
Change-Id: I28a033c97970cccfad10cfa68d4a7737f8d0d674
2018-06-11 04:42:19 +00:00
Charles Chan
ff79dd9169 Implement host probing retry with major refactoring
- Implement probe retry
- Switch to typical core/provider design pattern for HostProbingService
  and as a result decoupling the dependency between SR and HostLocationProvider

Change-Id: I33a15af580677ea376b421ac3e26f9821dcca844
2018-06-06 16:57:33 -07:00
Andrea Campanella
fbcd55e7d8 sr-mcast NPE fix on vlan change
Change-Id: I9523e750fdb5fd76cf120ee2e64f3c63471c8132
(cherry picked from commit f053484c4a3310d93bbddfb4c8872cacebeb33c6)
2018-06-05 16:33:21 +00:00
Andreas Pantelopoulos
67e09aee0e Bug fix for refactored DestinationSet.
The issue was in the serialization. Since we enhanced DestinationSet
to use an Enumeration class, this class should also be registered
with KryoNamespace. Without registering the Enum class
DestinationSetType, the next hops were remaining local to the instance
which has inserted them into the Map and they did not propagate to
other instances.

Change-Id: I4e21481a5fe232892319232b8675cb083593f8f1
2018-05-29 23:17:14 +00:00
Andreas Pantelopoulos
192284c433 Refactored DestinationSet and nextobj for pws.
- Removed the booleans in destination test set and refactored
  it to use a proper enumeration.
- Create a special next objective for pseudowire transport that
  does not pop the tag.
- Install special filtering rules for receiving trafffic for
  pseudowires in all devices.

Change-Id: I665a00d9a766e026d35799fe2f12d56419cb55cd
2018-05-24 16:02:49 -07:00
Yuta HIGUCHI
e7e71a8f9f Update checkstyle to 8.10
- fix issues detected
  - YANG custom registrator should be subject to checkstyle
  - fix Java 8 syntax related violations

Change-Id: I0fc52c6612a40d851fd9bc3bf019621776b1f92a
2018-05-21 16:00:21 +00:00
Ray Milkey
749996b0a6 Fix event handling race condition ONOS-7673
Events could be processed after the component was deactivated
and the executors were shut down.

Change-Id: I53f065e59638293b035278ed1a7736e4d7a817ca
2018-05-14 18:02:23 +00:00
Charles Chan
056e0c144c Revert "Adding Multisct traffic drop for un-programmed trees"
This patch also redirects IPv6 NDP, which is also a multicast packet, to table 40. The IPv6 bridging and BGP peering break as a result. I am reverting this for now and we will need to find another way around.

This reverts commit b955fec073cd90b3b1ac4cbab51e82d110ca43d1.

Change-Id: Ie2bca5c0c0edf170bcdb8f50821271585b275cb1
2018-05-10 22:42:11 +00:00
Andrea Campanella
1487decc73 Fixing NPE for absent blackhole config
Change-Id: I9e558a3182d82d49746f4202468fdb6edab012ff
2018-05-10 17:43:06 +00:00
Andrea Campanella
b955fec073 Adding Multisct traffic drop for un-programmed trees
Change-Id: If9615db254f69141d8d6f0da3e0b7ce7d154bd6b
2018-05-10 19:07:06 +02:00
Daniel Ginsburg
c1d47e9bfa Avoid programming TMAC entries for BSOD vlans
When an interfaces is defined with tagged VLAN(s) and no IP addresses, do not install TMAC entries for that VLAN(s).

Change-Id: I5beeb38c0b21cdd69a0da90943f768c3aeddb720
2018-05-09 21:49:51 +00:00
Andrea Campanella
d980c6db30 Adding route blackhole
Change-Id: I70212b0ab91e628e8528bca896c3aecc499e31b1
2018-05-09 21:43:17 +00:00
Charles Chan
07f15f2cad Fix ConsistentMapException.Interrupted and NullPointerException
- Moving time-consuming packet processing to a separate thread
- Re-use the group information when dealing groupMissing instead of query again

Change-Id: I01f1b43260f22dcb969a105f16d04d79c722146e
2018-05-09 13:28:13 -07:00
Pier
3e793750d4 [CORD-2839] Handling multiple sources
Change-Id: I77bd98e8a12e5044421ef5e0b048833dd688cb2e
2018-05-09 19:22:13 +02:00
Andrea Campanella
0ddf9b8776 Moving Source from connect point to HostId in MulticastHandling
Change-Id: Ie8f678e150b7ee388680b8d8f27df0bce60ec01f
2018-05-09 19:17:47 +02:00
Charles Chan
9bd0e5a1e2 Send probes when host moves
Majorly for the 2nd step of [1A/x, 1B/x] -> [1A/x, 1B/y] -> [1A/y, 1B/y]
But will also cover [1A/x] -> [1A/y] -> [1A/y, 1B/y]

When receiving probe for 1A/y in [1A/x, 1B/y] state, simply replace 1A/x with 1A/y instead of creating a transient 3rd locaiton

Change-Id: I058a265bbe5019d4305aa09d70e095fec0d7e429
2018-05-02 20:00:44 +00:00
Charles Chan
94549653ae Host pointing to the pair port after its pair device is brought down and up
Host-related programming should be done in the same thread to guarantee the order

Change-Id: I07f6e60f4d9ea4392295a7f7ec21b3e2c96aca45
2018-05-02 20:00:44 +00:00
Saurav Das
9a55429ae1 Adding a component config to take down single homed host ports when all uplinks are lost.
In addition:
   - handle port updates that may be lost if mastership changes at same time
   - fix javadoc in DeviceService

Change-Id: I032909e8ab9564cf9c978b1d66abd3ab32c814d7
2018-05-01 15:49:55 -07:00
Charles Chan
971d7ba29e Move some functions from segment routing manager to interface service/manager
Change-Id: I7185cf70f7e5d723a63ac35296b8916558560c35
2018-05-01 15:41:49 -07:00
Jonghwan Hyun
5efd768b57 Bug fix in SegmentRouting
- Correctly program filtering objective for spine-facing ports in leaf switches.

Change-Id: I07ad3980b2e66cecf4c2dd5cfbf70243c7ad4f39
2018-05-01 05:56:09 +00:00
Jonghwan Hyun
800d9d0770 [ONOS-7624] Implement egress pipeline programming
- Implemented logic to handle double-tagged host in segmentrouting application.
- Added 'DummyVlanId' to segmentrouting application to keep track of dummy vlan for L3L2Unfiltered group chain and egress tables.
- Implemented L2Unfiltered group and Egress pipeline programming support in OFDPA pipeline.
- Added EGRESS flag to the forwardingObjective to program Egress tables.
- Fixed bugs when handling double-tagged ARP request, to get correct vlan id and reply with double-tagged packet.
- Fixed bugs in BasicHostConfig, to set the value of 'outerTpid' to 0x8100 if it is not specified.
- Fixed build(ARP/ICMP/ICMP6)reply to build double-tagged reply if corresponding request is double-tagged.

Change-Id: I1fdc30b55827c3f73fad9e854bcaa5fb23f7bcd0
2018-04-26 15:32:17 +00:00
Saurav Das
c6ff8f0d2e Bug fixes for route-path programming
- Leaves should avoid going through other leaves to reach destination
 - dsNextObjective store should only be purged by new master before a full reroute
 - move full reroute for master change to a different threadpool from retry filters

Change-Id: I33be83bfb90d5848cfe94ed0fcdc17f2cca6d73f
2018-04-24 13:07:35 -07:00