336 Commits

Author SHA1 Message Date
Andreas Pantelopoulos
470865e952 Follow up for CORD-2393.
After follow up discussion with Charles we
decided that this is probably a safer approach
for handling the group checker concurrency issues.

Change-Id: Ifb9048fcd27274c5f7c1287671b3bfd0edb85ba2
(cherry picked from commit c78c1f5463aad7f427e6a984fc6b6ccd384e8fed)
2018-07-06 21:17:06 +00:00
Ray Milkey
0250a0811e Fix dependencies of some bazel tests
Change-Id: If864b37c08db73620c07a17174130024571a8d38
2018-06-28 15:33:02 +00:00
Thomas Vachuska
41c652c6ef Adding APPS as sources to the Bazel package build rule.
Change-Id: I9444d255d0ec2d6680ab8fd98567ed44d9a0c53f
2018-06-27 23:53:04 +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
sdn
35cc3e6142 [Bug Fix]Check NullPointer Exception at driver pipeliner
Change-Id: I6aac0e2f7844e03f4e833cd165fa74d9904b04e8
2018-06-01 22:04:24 +00:00
Andreas Pantelopoulos
8936946107 Fix for CORD-2393.
This patch fixes the issue with missing pop vlan punt groups in OVS
scenarios. It introduces a Group Handler thread which checks
periodically if the vlan punt group is there and installs pending flow
rules. After the group is there, the tread call shutdown on the
executor.

Change-Id: Icf32e1496431fbff218519e98a44d321a63597da
(cherry picked from commit 410d73058b8d6599fef8dc534ab053ef1ca90c2b)
2018-06-01 21:20:25 +00:00
sdn
3b22394652 Update Javadoc at Default Pipeline Arista&Juniper
Change-Id: I9fd73ad356312a760eab733d04ab38e36a054078
2018-06-01 07:16:11 +00:00
sdn
a6a1a537c3 Cisco Switch pipelines should filter the clear deffered action
Change-Id: Ia578a81dc111f5fe9ecba7e9f657efc3e6e94238
2018-05-30 09:21:20 +00:00
sdn
77b5cb8e1e Add to the list of devices that do not support Meter
Change-Id: I1bb0630dcf20d0f68b29f92867da69e37b7c4261
2018-05-30 07:04:33 +00:00
sdn
6b37e221ef Juniper Switch doesn't support requst/reply openflow role message
Change-Id: I928cd216ca9ab6c780ed7d4be73967fb3cae0181
2018-05-25 11:43:46 +00:00
Ray Milkey
0bcdfd1e59 reformat bazel files to use Google coding standards
Change-Id: I320f0ca7ccb1b2247ccdd9fa58fefca7dad8a16f
2018-05-23 14:07:19 -07:00
Ray Milkey
7dac7dadf5 Initial builds using bazel
Change-Id: I38123b396a2ffda5f36cdca43f3ad1fa67a7ab52
2018-05-23 20:38:54 +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
Ray Milkey
be9f3bc2e9 Fix NPE in OFDPA driver
Change-Id: Iebfff73d88c5cd7a673876af7c58d33e99e895a4
2018-05-10 13:48:12 -07:00
Charles Chan
70ce68ebe6 Fixing NPE in processVlanIdFilter
Change-Id: I22fcf94208ede4d1a2c47f15fd7402fdae06afdf
2018-05-10 18:37:58 +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
sdn
8701898696 Arista Switch pipelines should filter the clear deffered action (seems like juniper pipeline)
Change-Id: I2f1bdd5a4ba614466c3722f4ed833ece739f0404
2018-05-09 11:33:38 +09:00
Charles Chan
1dd75573d3 Minor log level change
Lower host probing from info to debug
Lower group verification from debug to trace

Change-Id: Idcd40f0586aab4a02e6f2430ae210742c9a33125
2018-05-08 23:36:55 +00:00
Ray Milkey
4386981746 Fix NPE if mod group cannot be found
Change-Id: Ifa84ebc3d6400f5813f444b70e49d7a896f5846b
2018-05-08 00:04:52 +00:00
Jonathan Hart
b578a0237a Update match fields for VOLTHA driver
Change-Id: I71c593044adce0250f29562a08f38bf86dbd9528
2018-04-27 22:38:35 +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
daniel park
97e9ccb128 Fix to support LiquidIO smart NIC in ONOS based on default pipeline
Change-Id: Icede77a7567c107f4233c56431fea4e441708a2a
2018-04-24 13:51:11 +00:00
Ray Milkey
bca9049101 Starting snapshot 1.14.0-SNAPSHOT
Change-Id: I97bab4e31d2b701f015289eae29d0c58a4937685
2018-04-13 12:47:31 -07:00
Patryk Konopka
6f01713621 [ONOS-7239] Fix - ModArp*Instruction not serialized in KryoNamespaces
Change-Id: Ib06ec70fb4bf0d5bc7cd78e374e7481377d305a7
2018-04-12 21:56:20 +00:00
Ray Milkey
0b7682fc6c bump up version on onos Loxi; fix a problem reported by error-prone
Change-Id: Ia72fcb00b128505da82c908d2154b61da3822f6c
2018-04-12 13:43:35 -07:00
Andreas Pantelopoulos
fdcfe53150 ONOS extensions for use of egress tables.
This patch depends on 17671 onos-loxi patch. When we make
the new loxi release we need to change the prebuild
openflowj in lib/BUCK to that of the actual release number.

It provides support for programming l2 unfiltered groups,
the egress vlan table and the egress tpid table.

Depends-On: I3cea6ed2234147c8dbe440ae1701856a60706e7c
Change-Id: I7525f5856300eac25548b5219a5dffed12b291ad
2018-04-12 19:02:17 +00:00
Saurav Das
2f2c9d035a Enhancing GroupChecker for faster processing of group updates
Change-Id: I9344ccf0ffbc9cff206318a627f5d97df1091677
2018-04-08 01:00:15 +00:00
Thomas Vachuska
a10137c0fc Fixing residual ON.Lab references.
Change-Id: Ic54a281ce67e49236c7aeb536729d3900dd9433d
2018-04-04 00:02:22 +00:00
Pier
e5bff48f20 [CORD-2811] Fix VLAN cases in Mcast
Change-Id: I0b051a4502e48b4278723a1b782f49e0d6a2dffa
(cherry picked from commit 3cc7e66059ac9be3cdfbd266563690ec53badc9b)
2018-03-13 19:37:55 +00:00
Charles Chan
2686dd7fb8 VLAN filtering rules should always be installed before assignment rules
A bug introduced in gerrit 17344

Change-Id: I0a477233d6d1511542fdbace54a7b32bc2db2835
(cherry picked from commit 1e58aa6b3ba501becbca52bf336bc5807f64a1f2)
2018-03-07 19:12:58 +00:00
Charles Chan
45b69ab951 QMX switches require the unicast flow being installed before multicast flow in TMAC table
Change-Id: I2258f7ecceb9a151c4ce65518e9553fe371cf3ac
2018-03-06 11:35:40 -08:00
Charles Chan
236653d674 Address comments in gerrit 17355
Change-Id: I3c5c2a77ca8e427d14607fccc89b8fb1a1cd38bd
2018-03-05 20:43:53 +00:00
Charles Chan
66291504d6 Major OFDPA refactoring to handle multi-stage flows in a cleaner way
Multi-stage flows are required in two cases:
- VLAN table: filtering rule need to be installed before assignment rule
- TMAC table: unicacst rule need to be installed before multicast rule (QMX only)

Change-Id: I2cccc42a2c08b00f887b22bad54c7107794beafa
2018-03-05 10:21:48 -08:00
Charles Chan
50d900c835 Minor OFDPA refactoring according to IntelliJ code analysis
Change-Id: I75bd19f11c4500aafe1e6050fec46e70fd01da15
2018-03-05 10:21:47 -08:00
Saurav Das
a402038459 Handling multiple layers of spines.
Also in this commit:
     - Triggering swap group creation and accounting for it in DestinationSet
     - Fixes in ofdpa2 and ofdpa3 pipeline to allow SR Continue operation
     - Renaming mplsSet in DestinationSet to notBos
     - Removing unused RandomDestinationSet
     - Bug fix in ofdpa driver for swap group chain creation
     - Bug fix in ofdpa driver for verify group operation
     - Better internal bookeeping of device ports and associated neighbors

Change-Id: I2b8f1c4c0b305ef847d57ca7a5320943e06d190d
2018-03-02 16:20:53 -08:00
Jonghwan Hyun
f810a7a2e7 [CORD-2721] Implement group bucket modification
Change-Id: I0f637ec4ff2b0c12db53d70fed195ea28e542535
2018-02-27 20:45:06 +00:00
Andreas Pantelopoulos
77031718ea Different vlan-id for leaf spine pws.
With this patch we introduce a special vlan for transporting
traffic for leaf-spine pseudowires. Each l-s pw is assigned
a different vlan from the range 4000-2000. This information is
kept internally and exposed to the user with the "pseudowires"
cli command.

Leaf-Leaf pseudowire traffic is still transported untagged, but
we will probably soon need to use special transport vlans there
also.

Change-Id: If6d0b7176a9bd4b89fb7d46db2a49e048bd953ee
2018-02-22 01:20:18 +00:00
Pier Luigi
b72201bcda [CORD-2607] Mcast buckets correction
Change-Id: Ib47b2d8e40babdbb2ccdba61b48365a141752016
2018-02-16 11:57:09 -08:00
Pier Luigi
ec6ac42337 [CORD-2634] Fix verify operation in OFDPA pipeliner.
Current code does not detect properly a mismatch
between nextobj and flowobjstore. In particular
it is able to detect only missing chains and
duplicated chains, while falls if allactivekeys
has more chains with respect to the next we want
to verify. I think flapping links or subsequent
events (for example several mcast-join follow by
mcast-delete) can create easily this problem.

Imagine we send a next with two treatments
Next(x,y) where x and y are the output ports.
AllActiveKeys has three chains AllActiveKeys(x,y,z)
where x, y and z are the output ports.
existingPortAndLabel is not able to detect the
extraneous chain related to the port z

Change-Id: I41fa47347a8c1d4188d990d96f48a898a4df59e1
2018-02-16 11:57:09 -08:00
Pier Luigi
21fffd29a4 [CORD-2483] Mcast does not forward traffic to all the sinks
Rationale: if we add more than one sink a number
of sink add events are generated. For each event
we create a mcast path, right now we do not support
Mcast group editing. This means that a new nextobjective
will be created for each sink.

In particular, this patch enables the mcast group editing
to solve the following issue:

Sink1 arrives -> fwdObj A -> Next B (this has one output)
Sink2 arrives -> fwdObj A -> Next C (this has two outputs)

Next B and Next C shares a part of the chain. Reordering happens
during the creation of the Nexts:

Next C created -> flow A -> Group C
Next B created -> flow A -> Group B

Failure, traffic does not reach all the sinks. Other side effect is the
disalignment between SR app and flow/group because McastHandler believes
mcast group is associated to the Next C

It includes minor refactoring of the group handler

Change-Id: Ib59ba6b63ff411ed46ca8216677046a78cc92ac6
2018-02-09 14:37:06 -08:00
Andreas Pantelopoulos
25db42ffcb Bug fix for Ofdpa2 group handler.
When introducing the mplsSwap groups, we affected the pseudowire instantiation.
This is now fixed with this patch.

Change-Id: I6f98c49b954017bb0ea899d5ecc15c5a1b8ba340
2018-02-08 21:17:07 +00:00
Saurav Das
c568c34e0c Implemented CORD-1843 to avoid race condition when updating ECMPspgs.
In this commit:
 - a new mechanism in DefaultRoutingHandler to update route-path maps in all instances,
   for the entire topology, after every route event has been processesed.
 - fixed a race condition in LinkHandler
 - avoids retrying flows in the ofdpa3 driver as this issue has been fixed in the switch
 - a new CLI command to check internal link state

Change-Id: I307d0a96cc46569294d15d042b3bcb1fde735f1b
2018-02-08 20:50:12 +00:00
Charles Chan
77a9405d41 Support latest OFDPA premium image
Change-Id: I560241d1e2a586dc17814690327e860d3b5fefb3
2018-02-08 00:38:03 +00:00
Ray Milkey
d6a67c3909 SONAR suggestion - explicit break in switch statements
Change-Id: Ib648192fe84f37947936592c4635397706b14377
2018-02-05 17:52:53 +00:00
Ray Milkey
3717e604d5 SONAR suggestions - prevent truncation of arithmetic expressions
Change-Id: I4694c0c3183b991a4f0db793f584bc77a5fb7d60
2018-02-02 23:06:44 +00:00
Andreas Pantelopoulos
7a8488c482 Support for MPLS Swap Group creation.
Modified the processSimpleNextObjective method to be able to create the
Group chain MPLS Swap - MPLS Interface - L2 Interface , when the MPLS Label
is set to the Treatment.

Change-Id: I72d502ba2f0da811d14d28c170d2e119c3dc8221
2018-02-01 18:04:24 +00:00
Pier Luigi
075f101359 Fix SONAR warnings in OFDPA2 pipeline
Change-Id: I2162d316398dc5946997d9913a6a509345d06879
2018-02-01 16:15:01 +01:00
Yuta HIGUCHI
fbd9ae9cdf Various small fixes
Change-Id: I83802169d0d968f7b88d4be2cedba74b15fdd7da
2018-01-25 22:17:25 +00:00