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
In addition:
- handle port updates that may be lost if mastership changes at same time
- fix javadoc in DeviceService
Change-Id: I032909e8ab9564cf9c978b1d66abd3ab32c814d7
- 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
- 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
- Fix typo
- Remove unnecessary warnings
- Ignore dhcp config register/unregister event
- Ignore interface IP update when there is no host discovered on that interface
Change-Id: I530fe36eb063ac8b3397c86e888c0a6c2ab8984b
- Avoid querying shouldProgram every time
- Override flows directly instead of remove and add
- Remove unnecessary event handling delay since we have in-order execution now
- Avoid re-initiation of shouldProgram
- Make sure executors are shut down during SR deactivation
Change-Id: I28e383ed2dcb66d503da25934456008e83683b78
- Solve an issue where next hops are available on both leaf switch but one still pointing to its pair through the spines
- Improve unit tests
Change-Id: I94fe79bd9289efe544d82b858928d65201a0b0b2
- When dealing with possible fake links which tend to be unidirectional, do not
update internal stores until bidirectionality is verified
- When figuring out ECMPspg, do not use LinkService to figure out bidi egress
links. Instead use linkHandlers seen-links
- Prevent NPE in updatedEcmpSpg
- Improve logic for bringing up downed dual-home host ports: any active uplink,
not just the first one should re-enable ports
Change-Id: I4412578e72a6d441cacfa2e023870ceb7c7eab04
Main change:
- Implement new logic for shouldHandleRouting, along with corresponding unit tests. Also rename it to shouldProgram
Side changes:
- Refactor revokeSubnet such that it is only invoked on the instance that should handle routing change
- Move the following methods to RoutingRulePopulator and follow the same design pattern as populate/revoke subnet/route
- populateBridging, revokeBridging, updateBridging
- updateFwdObj
- Make sure the following methods in RoutingRulePopulator are always invoked by DefaultRoutingHandler with shouldProgram check
- populateRoute, revokeRoute
- populateSubnet, revokeSubnet
- populateBridging, revokeBridging, updateBridging
- updateFwdObj
Change-Id: I903129271ede91c45ebf0d973e06faeae46c157a
This patch uses the SRLinkWeigher to compute paths in
order to avoid l-s-l-s paths and also paired leafs
paths.
Change-Id: Id532d66e9543e3c898d2e18ca53be4599e206935
Moved every validity check for pseudowires inside the handler
itself, this simplified the usage of handler methods from within
the SegmentRoutingManager. Further, improved the api for removing
pseudowires of the l2tunnel handler.
Change-Id: Idb2607aa546b0734add29d446cbedfd3b23c46bb
I refactored the pw handler to return meaningful very specific
errors for failures. As a result, I modified also the cli and rest
api implementations to use these fine grain errors accordingly.
Change-Id: I2429532f747c4560378c40be325b039ca0f5c925
As per Saurav's suggestion, checking the size of the path
could lead to unwanted scenarions. From now on, we check the
devices on the path, if they are edge or not, and according
to the type of pseudowire we validate the path.
Change-Id: I2e3a76524a12244199e0a8f409dd95fc1a3c2b2e
Upgrade fasterXML to version 2.9.5 to address security vulnerability
Wrap calls to treeRead(InputStream) to handle new behavior of null streams
Change-Id: Id199cfacd0cf9e5371dc33de9f1e058c2e72eaa5
- Fix bug for transporting l-s-s pws tagged.
- Refactored and cleaned code.
- Refactored cli commands.
- Fixed bug in bulk rest api when the same pseudowires were tried
to be added.
Change-Id: I28ded776266a08110922b93a8b330d0b343d470d
- PW support for H-AGG topologies. Support for leaf-spine-spine
leaf-spine-spine-leaf pseudowires.
- Renamed pw commands with sr-pw-* pattern and also removed redundant output
from them.
- Enabled bulk addition / removal of pws from the rest api.
- Modified diagnostics tool with the updated command name.
Change-Id: I708db9281d0082b160cbd713910b420ef7df9da3