Move adsal into its own subdirectory. Moved various adsal components into an opendaylight/adsal subdir, gave it a parent pom, and changed the root parent pom to have the opendaylight/adsal as a module. Change-Id: I1d0e5a7b2a50c65559c2f80dd47cab491b68d561 Signed-off-by: Ed Warnicke <eaw@cisco.com>
Bug-590: Packet loss on first time ping test Bump severity of log in exception code path. Undo copy and paste mistake, which caused unwanted line left behind. Change-Id: If73e516635172e31e794cd1524611c1cdb15f89f Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
Bug-590: Packet loss on first time ping test In this commit, we are addressing a race that could cause the exception (ie first ip packet) to be lost. What is observed with this bug is that the non-arp packet -- in this case the icmp packet -- is being 'exceptioned' to the SimpleForwarding code path because the node has not yet been programmed with a flow that would cause it to forward the packet to its destination w/out involving the controller. The race in this case is caused by Simpleforwarding handling the packet before HostTracker is fully aware of the destination host. In such case, the forwarding fails to determine where to send the packet and drops it. The proposed change in this commit takes a stab at handling the race by keeping the packet until either 1) the destination is known by HostTracker or 2) a max time expires. In order to accomplish that, the change includes the creation of a thread that will periodically age out any packet that have been pending for too long. The change also adds a concurrent map for efficient lookup among the pending packets. There is a limitation in this implementation: it will keep at most 1 packet pending per destination ip address. This is believed not to be a problem, because of the short amount of time it takes for hostTracker to learn about the destination after the packet is put int the pending map. Change-Id: I7ec1de69f7841eb7ca5603715b54685be9781401 Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
Bug-590: Packet loss on first time ping test In this commit, we are addressing a race that could cause the exception (ie first ip packet) to be lost. What is observed with this bug is that the non-arp packet -- in this case the icmp packet -- is being 'exceptioned' to the SimpleForwarding code path because the node has not yet been programmed with flows that would allow it to forward the packet to its destination w/out involving the controller. The race in this case is caused by the exceptioned packet being received before the rulesDB member in simpleForwarding module is updated. That member -- rulesDB -- is updated via the hostTracker::notifyHTClient() callback shortly after. In this particular race, the hostTracker is already updated with the proper information, and rulesDB is 'stale'. Thus, the proposed fix is to make the forwarding less strict (ie. ignore rulesDB). Note that both routing and hostTracker are all simpleForwarding needs to know how to forward the packet. Change-Id: Icfb909ca89abff6031212b4fcd0f5d1bd1a27d6b Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
Bug-590: Packet loss on first time ping test In this commit, we are addressing 2 issues that could cause the exception (ie first ip packet) to be lost. What is observed with this bug is that the non-arp packet -- in this case the icmp packet -- is being 'exceptioned' to the SimpleForwarding code path because the node has not yet been programmed with flows that would allow it to forward the packet to its destination w/out involving the controller. Change #1: In cases when the src and dst ip are of hosts in the same node, the getRoute() call is going to return 'null'. That is because the IRouting lookup will not find a path when src and dst nodes are the same. Change #2: When looking up the rulesDB, the key used was using the destHost and the node of the incoming connector. It should be the destHost and the node of the destHost. Kudos go 100% to Giovanni on this. Change-Id: I4861acd6ab6d7efe14b50d7537e4b920bffc8a75 Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
Bug-780: potential lock release being missed if error code path happens in SimpleBroadcastHandlerImpl.java Change-Id: Ie8749e5dfcb04042922293ed45e8f06d42de90ab Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
Bug 773: SimpleForwardingImpl hits NPE when .frm member is null and new host is discovered Change-Id: Iba0986cec7f8cc999b2d9852b2bf21b2c5ba3c6f Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
Moving simple fwding logic from ARPHandler into SimpleForwarding - Per Colin's idea, moving reactive fwding logic into SimpleForwarding - SimpleForwarding listens to packet-in. Forwards IP packets between known hosts to dest (assuming a simple path will be installed). - Some cleanup and debug stmts Change-Id: Ib0f29af34d6dead26f7393b4238d62fe1935ecdf Signed-off-by: Colin Dixon <ckd@us.ibm.com> Signed-off-by: Yevgeny Khodorkovsky <ykhodork@cisco.com>
Changing SimpleBroadcastHandler so that it's disabled by default to fix stability issues with >10 switches. Change-Id: I6ac1c15e431760c97348bc466a9783f25f6d9fee Signed-off-by: Colin Dixon <ckd@us.ibm.com>
Fixed inappropriate uses of log level INFO This is done per the recommendation here: https://wiki.opendaylight.org/view/Draft_Syslog_Level_Settings Change-Id: I69bbe15d81ed49511f643fd4a8c0ad60f58a0c22 Signed-off-by: Ed Warnicke <eaw@cisco.com>
Addressing a flow programming issues on controler fail-over scenario in a Clustered setup. FRM : Handling the uninstallAllFlowEntries() only on containerDelete cases Simple Forwarding : Not to fail for false-reasons when Routing fails to get route when src and dst-node are the same Change-Id: I512ca2f11d8ae31daa373c41ba1fcfe13578a157 Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
On link flap new SimpleForwarding flows are rejected by FRM Change-Id: I7a246bdd2222dc6d7b5ca3aa16e4bd1284c96530 Signed-off-by: Alessandro Boch <aboch@cisco.com>
Altering ARPHandler and SimpleBroadcastHandler to forward traffic immediately. This change modifies how ARPHandler handles punted IPv4 packets so that they are immediately forwarded if the destination is known. This allows for the first ARP response to come back to the requestor. Change-Id: I278762c4048cb169bb9513e7237cac562bdc40ca Signed-off-by: Colin Dixon <ckd@us.ibm.com>
Add checkstyle rule UpperEll and fix all code accordingly. UpperEll rule ensures that numbers of type long are defined with a capital "L" in the end instead of "l" for a better readability - per java language specification recommendation. Change-Id: I068c32d4aaed0980bee1d93cfeec511e72bad2f1 Signed-off-by: Alissa Bonas <abonas@redhat.com>
Clean all unused and redundant imports in controller. Enable verification of unused and redundant imports via checkstyle. Rename checkstyle configuration file because it no longer checks only for tabs. Change-Id: Id94a92fbc8a79aba01a4177aec3d80a2b3394508 Signed-off-by: Alissa Bonas <abonas@redhat.com>
Adding a simple broadcast handler 1.) An interface IBroadcastHandler for enabling/disabling and controlling the mode of operation for a module that provides broadcast handling and a function to broadcast a packet. 2.) An implementation of that interface, SimpleBroadcastHandler, that both handles broadcast traffic received from the DataPacketService and provides a way to braodcast a synthetically-generated packet. There are four modes only two of which have currently been extensively tested: DISABLED and BROADCAST_TO_HOSTS. Change-Id: I6ab6042ad7ec08b819a8840e8518022c7805f4e2 Signed-off-by: Colin Dixon <ckd@us.ibm.com>
Removing suppress annotations to fix warnings. We no longer need the @SuppressWarnings for "deprecated" Change-Id: I42fb70ff6bf3a41c05611884bc0554f2d8615da8 Signed-off-by: Colin Dixon <ckd@us.ibm.com>
Move init and destroy empty impl from Activator classes. Have only one empty implementation in parent class instead of having it in more than 20 classes. Only one class actually has a non empty implementation and it overrides the empty implementation from the parent. Change-Id: Ibbe43ba3e48e4eb80402c158cd45be0afc497fae Signed-off-by: Alissa Bonas <abonas@redhat.com>
Cleaning up code, comments, and documentation for SimpleForwarding Change-Id: I12a3ba528c2a6c7b62a5a30ccca75d249b96f0a2 Signed-off-by: Colin Dixon <ckd@us.ibm.com>
Migrating caches to TRANSACTIONAL Caches and enabled use1PcForAutoCommitTransactions. In addition, - Removed all the unused Caches (especially the save event cache). - Changed ARP Handler's ICacheUpdateAware processing to not process the cache event in its own thread (instead of the infinispan's thread). Change-Id: I608aecd425d0394ba9c4e665424c82790bb874ca Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>