510 Commits

Author SHA1 Message Date
Charles Chan
c76685fde2 Shorten the polling frequency and offset the flows and groups polling
In order to speed up the convergence of pending flows and groups

Change-Id: I9daea68e1619b17ad8c0af4a289ec12afafbfdf7
2018-09-05 09:39:08 -07:00
Charles Chan
7040b698e8 Ignore DEVICE_ADDED event while availability is false
For p4 devices, the device will be added but unavailable at the beginning.
The device will later on being marked as available once the pipeline is pushed
to the device.

Change-Id: I186ddfbf34cfc1e80493248a123bd2931e7c6729
2018-08-31 00:33:31 +00:00
Charles Chan
55b806fd54 Remove NextId from internal stores when the NextObj fails
Change-Id: I105d32ea3a2278254edd8746d41552c2c4a699fa
2018-08-30 21:46:00 +00:00
Charles Chan
d5814aab48 Implement CLI commands to view and delete SR internal stores
sr-next-dst (renamed from sr-next-hops)
sr-next-port
sr-next-vlan
sr-next-mcast (renamed from sr-mcast-next)
sr-next-pw
sr-next-xconnect
sr-next-invalidate <next-id>

Change-Id: Id5178f786bb97e26ddb86015105dd19604ac0817
2018-08-30 21:45:56 +00:00
Charles Chan
f27ef096a8 Suppress IPv6 flows when the device is not configured with IPv6
- Do not punt link local address if the device is not configured with ipv6Loopback
- Do not punt NDP and block DAD if the device is not configured with ipv6Loopback

Change-Id: Iaf36bcf9bf3c11bc199c271f1a03eb6ae448cfab
2018-08-30 13:11:38 -07:00
Charles Chan
e0260e1988 ONOS-7759 Explicitly pop VLAN while editing hash group buckets
P4 switch requires explicit pop VLAN when necessary.
This is the missing part of gerrit #19301.

Change-Id: I809a1066cbaddd05154556ad300e59883245e0f7
(cherry picked from commit cee433bc37da8536807e8a5fbbd85315b8ca95bd)
2018-08-28 04:50:03 +00:00
Yi Tseng
fe13f3e634 Fix timeout problem of fabric pipeliner
Including a workaround for ONOS-7785

Change-Id: I867161f5edf63e82c42a731a4b107ea326d4675c
2018-08-22 20:13:34 +00:00
Phaneendra Manda
9587dc99ca Cosmetic fix while creating Pseudowire config
Change-Id: I28c39d50d32cd10a3d6c716590941eb4f4508087
2018-08-22 17:57:30 +00:00
Ray Milkey
761e80a427 Remove pom files from ONOS
Change-Id: I53e2395466cba10222d638736635b11380421d98
2018-08-21 18:11:58 +00:00
Ray Milkey
312d987732 Starting snapshot 1.15.0-SNAPSHOT
Change-Id: I9239c7695f7faf6dc184a0ff54a34dedf4761b2d
2018-08-20 16:09:54 -07:00
Saurav Das
09c2c4d19b Changing the default pw transport vlan to 4090 instead of 4093.
Also adding component config options for pw transport vlan and default internal vlan.

Change-Id: I8bb48530e46db8534b825eecd9aea781fe3f0de1
2018-08-16 05:00:04 +00:00
ONOS Jenkins User
03e5521fba Starting snapshot 1.14.0-SNAPSHOT 2018-08-14 22:13:58 +00:00
ONOS Jenkins User
3594c24cb2 Tagging 1.14.0-rc2 2018-08-14 22:13:02 +00:00
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