Rationale: Let's assume we have a working group with
multiple sinks. We try to delete the sinks all together,
also in this case for each sink a sink removed event is
generated. For each event we create a new next objective
removing the ports no more needed.
Solution is related to the previous patch (group editing).
Failure scenario:
Sink1 removed -> fwdObj A -> Next B
McastHandler store has been updated at this point.
Sink2 removed -> remove fwdObj A
The remove operations is executed immediately but
the Next B could not exist at this point -> flow
installation failed
Change-Id: Icf568b26b2f3ae3feb935b13038db6195125a5c4
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
Rationale: McastHandler handles only link down events
while just removes flows, groups, and internal state
related to the device going down. SegmentRoutingManager
skips link down if they are related to a device going
down.
Change-Id: I96c9c00c86d2cae9c2a8162710c61ef72c115eb0
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
- fixed some cases where pointers could be null
- fixed some booleans statements known to always be
true or false
Change-Id: I0d67c1794b37deeccffda1f4ad0f447857e2a5d1
- Bug fix for case when all uplinks are gone, but dual-homed host continues to send packets to switch;
We now administratively take down the host port to force the host to use the other leaf in the pair.
- Restructured SR manager by creating a LinkHandler
- fixed/added some log messages
Change-Id: I3722cd364dc8798b16891519bec165627e92bd87
Rationale: PW transit groups need to be filtered out
when retry hash and bucket correction happen (if mpls
ecmp is not supported)
Change-Id: I162ddb3d4d8760777b0cbd5bf250d6fcef8302df
- Use getPaths instead of getDisjointPaths
- Add more debug log that prints all paths obtained from topology service
Change-Id: Ic195633b99261baec39962f0e99bc7b7082755c4
if a particular route-path is ignored. Also added info logging for port-status
messages to clearly identify messages coming from the switch as opposed
to possibly fake updates generated by ONOS.
Change-Id: Ib03dfe0e2dcdcfb046d58657473fa4122ec15190
- Added pw support for pseudowires containing leaf and spine switches as endpoints.
- Inject empty pw config if it is not found for the first time
- Minor refactoring such as more log messages and fixing missing javadoc
Change-Id: Ib57d39cfa36fcd48c01b5781c7445a3f1ffcfbda
(1) Active probing mechanism in the following two scenarios
(1-1) Probe all ports on the pair device within the same vlan (excluding the pair port) when the 1st location of a host is learnt
(1-2) Probe again when a device/port goes down and comes up again
* Introduce HostLocationProvingService
- DISCOVER mode: discover potential new locations
- VERIFY mode: verify old locations
* Can be enabled/disabled via component config
* Improve HostHandlerTest to test the probing behavior
(2) Fix an issue that redirection flow doesn't get installed after device re-connects
(3) Temporarily fix a race condition in HostHandler by adding a little bit delay
Change-Id: I33d3fe94a6ca491a88b8e06f65bef11447ead0bf