[ONOS-6179] Virtual Network Packet Propagation Issue

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
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkPacketManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkPacketManager.java
index 3f5a8a6..abe089b 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkPacketManager.java
+++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkPacketManager.java
@@ -255,8 +255,7 @@
         if (device == null) {
             return;
         }
-        VirtualPacketProvider packetProvider =
-                (VirtualPacketProvider) providerService.provider();
+        VirtualPacketProvider packetProvider = providerService.provider();
 
         if (packetProvider != null) {
             packetProvider.emit(networkId, packet);
@@ -281,6 +280,8 @@
             } else {
                 pushToAllDevices(request);
             }
+
+            providerService.provider().startPacketHandling(networkId);
         }
 
         @Override
@@ -292,6 +293,8 @@
             } else {
                 removeFromAllDevices(request);
             }
+
+            providerService.provider().stopPacketHandling(networkId);
         }
     }
 
@@ -364,7 +367,7 @@
         return DefaultForwardingObjective.builder()
                 .withPriority(request.priority().priorityValue())
                 .withSelector(request.selector())
-                .fromApp(manager.getVirtualNetworkApplicationId(networkId()))
+                .fromApp(request.appId())
                 .withFlag(ForwardingObjective.Flag.VERSATILE)
                 .withTreatment(DefaultTrafficTreatment.builder().punt().build())
                 .makePermanent();