The route system is moving to an app, so EVPN code in the incubator
can't depend on it. I implemented an EvpnRouteTableId to remove this
dependency.
Change-Id: Id9af9fc0e0c680add1e061d0628ffdbd2a23dbde
The goal is to clean up the interfaces a little bit in preparation for
a major RouteService refactoring that is coming.
Change-Id: Ifbde9a507dd0dc3cddcd7fa1c02c426dad386e5f
At present, we have to use requestPackets to trigger adding packet processor for virtual network and use cancelPackets to trigger removing the packet process for the virtual network.
But if we call cancelPackets more then one time in the deactivate() method when the application is deactivated, if will throw a NullPoint exception.
Furthermore, if a user does not requestPackets() in the application, the packet processor will never be added.
It may be a confusing trouble for a tenant user.
As a result, I think the packet processor should be created when the virtual network is added and be removed when no virtual network exists.
Soultions:
Listen to the network event to add and remove packet processor for virtual network.
Change-Id: I583d453219bef2f271b4a1e96f9869a28b4f0250
The constructor of VirtualPacketContext needs a parameter of DefaultVirtualPacketProvider type.
It is not flexible for us to use another packet provider to replace the default virtual packet provider.
To improve the code flexibility, I think it is better for us to use an interface type parameter in a method.
It alse seems redundant to use emit() method of DefaultVirtualPacketProvider in devirtualizeContext().
Thus, I think it will be more efficient to use core PacketService in VirtualPacketContext
when triger send() method.
Some other bugs are fixed.
Change-Id: I161a8929dc4e5a1d2ad716bc5da8b0b6f84340a9
We plan to remove tunnel operations which augmented through
virtual intent.
As one of efforts to redesign vNet Intent Service, we'll deprecate
those tunnel operations.
Change-Id: I029ceda320b7c02068ab2ebbfe43b26dd2efa66e
Defines the interface for mastership service for virtual networks.
This service is needed to achieve HA and load balancing.
Change-Id: I5b68511c114ebd818429f4f6eb622dff95dd8630
Introduced virtual network servic (and amdin) service adapter as
a effort to refactor the test codes.
Change-Id: I4c809d90a76a9d8d636610ac6d5308693e2ab204
There is a problem that the packet request from virtual network
is not relay to real packet service because
VirtualNetworkPacketService cannot process requestPacket()
properly.
Moreover, the installed flow rules from vNet are not syncronized
with the physical rules.
Change-Id: I20c3e1fbb7668f563fafcb3a9d6a7d80ffba55fd
Traditionally the route event only notified listeners of the best selected
route for a given prefix, but some listeners are interested in all resolved
routes for the prefix.
CORD-905
Change-Id: Ia3e1e3a8e3e825ba894e6835e0860c3ed698d29b
Problem:
1. Listener registry is only initialized in the addListener method.
It will cause NullPointerException in the EventSink's proces method.
Solutions:
1. Initialize the listener in the constructor.
Change-Id: I1eae5f2d52166b04f3e028d22b41414319f75b51
Problem.
1. Inside incubator package, class loader can't search classes defined
in the other bundles such as onos-core
Solution
1. Added a method to return bundle context, and obtain class loader.
Change-Id: If5ee4cb1a5b9ef5ab7d7e3bbc70408ea8257baea
The original route may have information of interest to consumers, such
as the route source or VRF information.
Change-Id: I32df752c92e235423694b13d4ff239a38bae5a50
This resulted in a substantial refatoring of the route subsystem, including
some minor external API changes. The interface between the manager and the
store has been changed to deal with multiple routes per prefix. The distributed
route store has been updated to be able to distribute route table information.
The route subsystem no longer stores next hop information in the route store.
This information is already available from the host store so the routes system
simply fetches it from there.
Change-Id: I7657b3efb6dcb76afa6f17c931f154a970a16528
Changes
1. FlowObjective manager for virtual network is added
2. VirtualFlowObjective store is added
3. SimpleVirtualFlowObjectiveStore is implementation
4. Unit tests are added
Change-Id: I18ff1d440d1f85ca96fff36a33a8b67566031e2c