(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
Set linkStaleAge to 15 seconds: prevent link down event during mastership transition in HA scenario
Set allowDuplicatedIp to false: cleanup IP when a new container is launched with same IP but different MAC
Change-Id: Ic2a9f87179de367c2ff84b232ca7f8ca3e152715
This commit fixes the bug that prevent initial redirection from happening if the host is added without IP and get updated with an IP later
Change-Id: Ic4e90763e38eff94b1613d90f943f76f5285cf94
- Configurable pseudowires supporting untagged-untagged, single-single, double-double tagged traffic.
- Commands for listing, adding and removing pseudowires.
- Initial support for link failures.
- Pseudowires also configurable by network configuration.
- Tested with ofdpa_3.0.5.
Known limitations that I plan to fix soon :
- Adding pseudowires from configuration is inconvenient because we need to ammend new pws to the
existing configuration. We should create a REST API for adding/removing/listing pws and abandond the
network configuration.
- Spine fabric switches have rules matching a special mpls tag used for pw traffic for a specific leaf.
However, this rules redirect to an "indirect" group for forwarding traffic. If the resulting port there
is no mechanism as of now to handle this. We should use the MPLS ECMP Groups of ofdpa, however they are
not functional. Thus, we need to inject logic into the application to handle this case.
Change-Id: Ia85cf4514ebab627fc6ed5a19ad9f6cdc67dc24c
Matching VLAN_VID in TMAC table is mandatory on QMX switches
XGS switches support optional VLAN_VID matching so this patch is effective for both platforms
In addition,
- Take native vlan into account when assigning VLAN for untagged multicast traffic
- Fix a bug that puts wrong eth_type in TMAC table
Change-Id: I19caf2d6d69096a96b75cb528b6ed37b28d7d988
Instead of early return, simply ignore link-local IP matching if interface MAC is not configured (e.g. spine port)
Piggybacked in this commit:
- Refactor the ICMPv6 handler
Change-Id: I44e4daac067262b63e6726b4b4d7e3426e0f7fdb
Note: this is only a temporary fix that still doesn't offer full dynamic interface config capability
Change-Id: Ieb2a9316821d3e8a3ad9257b2980e14ddbafec4d
In addition
- Carry all alternatives in ROUTE_UPDATED and ROUTE_REMOVED event
- More unit tests
- More debug messages
- Fix routing table out-of-sync issue in MockRoutingService
- Fix populateRoute/revokeRoute mastership issue
Change-Id: I22d537625b570b09ecd4e22e6e14bb1ee27f8bcb
- reentrant lock was not being used correctly
- fixHashGroup in group handler was not updating global store correctly
- linkUp was not being noted in seenLinks if configuration came after switches connected
- serialization error in global objective store due to missing kryo for Sets
- damaged routepath computation was not taking pair-devs into account
- switch failures were leading to improper ecmpSpg graph updates, and missed hash-group changes
- implemented more next-objective verification as group sub-system can go out-of-sync with objective-store
Change-Id: If3cfdd715e9b69820894b49def31f75ceb748863