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)
- 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
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)
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
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
- 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
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
A bug introduced in gerrit 17344
Change-Id: I0a477233d6d1511542fdbace54a7b32bc2db2835
(cherry picked from commit 1e58aa6b3ba501becbca52bf336bc5807f64a1f2)
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
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
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
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
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
When introducing the mplsSwap groups, we affected the pseudowire instantiation.
This is now fixed with this patch.
Change-Id: I6f98c49b954017bb0ea899d5ecc15c5a1b8ba340
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
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