- Change L3 unicast group id/key generation to include src MAC
- Note: Only flows are removed when a peer is gone
since the group may still be referenced by routes announced by peer.
It does no harm even if the group is not referenced.
- Note: We assume that peer does not move or update IP
Also fix several SR/VR integration issues, including
- Do not push broadcast group for /32
Change-Id: Ifb03601f5341f8b7717ea1fbccbc569b07f66476
- Support multiple subnets per port. getIpPort() will only return the first non-/32 and non-/0 subnet
/32 is used as vSG subnet
/0 is used as default gateway
- Support multiple L3 unicast group on a single port
Change the way to generate the group ID and group key
- Special case for 0.0.0.0 host. Push a /0 to IP table instead of /32
- Implement vRouterConfig
Put VR MAC to TMAC table of all leaves when config added
When processEthDst see PortNumber.ANY in key, match ETH_DST only
- For OFDPA, wipe existing instruction before sending to controller
So packet that misses L3 unicast table won't be sent to controller twice
- For SpringOpenTTP, pop VLAN before sending to controller
- Move several constant definitions to SegmentRoutingService
- Add minimum priority for IP rules such that /0 won't collide with zero priority default rules
- Update the config sample
Use VLAN=-1 for hosts
Add example for default route
Change-Id: Id751697ce36a7e5c13b3859350ff21b585c38525
Added missing fail() call-out in the versatile flow objective handler in
OFDPA2Pipeline.java to cover the case when neither a nextId nor a
treatment is provided.
Change-Id: Ic73e614c141281ff0014a8055d35183b7c3abd4e
Change-Id: Iaf19ce92c7e153b5477340abb8e7650d8434ca86
Simplifying the use-model of AbstractDriverLoader.
Change-Id: Iaf19ce92c7e153b5477340abb8e7650d8434ca86
CpqdOFDPA2 doesn't need the extension selector for VLAN matching in bridging table
Implement its own processEthDstSpecific instead of using the one inherited from OFDPA
Change-Id: I0dae1e2ccdc062182f3f373bbd8669b3418cd7c1
we cannot emulate correct behavior in the same driver. This checkin separates the emulation, with one
driver meant for MPLS with untagged packets, and the other meant for untagged/tagged VLAN packets without MPLS.
Change-Id: Ia6112f4d26c7b32c93e1db2e9b1ae4673c553d87
Related to this topic:
- Disable the meter collector since right now it is not supported
- Implement extension VLAN ID selector/treatment for OFDPA
Since it requires two special flow entries to match untagged packets
0x1ffe/no mask (filtering rule, need to go first)
0x0000/0x1fff setvid 0x0ffe (assignment rule, need to go second)
- Not able to point /32 IP address to ECMP group. Use /31 instead.
In addition:
- Implement serializer for ExtensionCriterion
Change-Id: I621b3ad14014d7e6945c014cdae4f7cd2939288e
Adding arp-spa to flow from vRouter to distinguish between multiple untagged
interfaces with the same macAddress.
Change-Id: Ifd6e00f70c538c780c0f5728d9ba960a4c70b1db
Change related to this topic:
- Support VLAN cross-connect traffic
Utilize ports subjectClass to achieve. For non-xConnect port, set interface VLAN to -1
- Remove VLAN checking since we have multiple VLANs per port
- Hash the L2 interface group key generation to include VLAN as well
- Update the network-cfg.json sample
Other refactoring changes:
- Read next objective stores from srManager directly
- Use constant for flow priority
- CORD-267 Javadoc fix
Change-Id: I4ca8c2d9c8b3633a4a0101c5070d19343f7e5b90