sample app launched
diff --git a/apps/fwd/src/main/java/org/onlab/onos/fwd/ReactiveForwarding.java b/apps/fwd/src/main/java/org/onlab/onos/fwd/ReactiveForwarding.java
new file mode 100644
index 0000000..24cfe6f
--- /dev/null
+++ b/apps/fwd/src/main/java/org/onlab/onos/fwd/ReactiveForwarding.java
@@ -0,0 +1,35 @@
+package org.onlab.onos.fwd;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Deactivate;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.ReferenceCardinality;
+import org.onlab.onos.net.packet.PacketProcessor;
+import org.onlab.onos.net.packet.PacketService;
+import org.onlab.onos.net.topology.TopologyService;
+
+@Component
+public class ReactiveForwarding {
+
+    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    protected TopologyService topologyService;
+
+    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    protected PacketService packetService;
+
+    private ReactivePacketProcessor processor;
+
+    @Activate
+    public void activate() {
+        processor = new ReactivePacketProcessor(topologyService);
+        packetService.addProcessor(processor, PacketProcessor.ADVISOR_MAX + 1);
+    }
+
+    @Deactivate
+    public void deactivate() {
+        packetService.removeProcessor(processor);
+        processor = null;
+    }
+}
+
diff --git a/apps/fwd/src/main/java/org/onlab/onos/fwd/ReactivePacketProcessor.java b/apps/fwd/src/main/java/org/onlab/onos/fwd/ReactivePacketProcessor.java
new file mode 100644
index 0000000..f4102ec
--- /dev/null
+++ b/apps/fwd/src/main/java/org/onlab/onos/fwd/ReactivePacketProcessor.java
@@ -0,0 +1,37 @@
+package org.onlab.onos.fwd;
+
+import static org.slf4j.LoggerFactory.getLogger;
+
+import org.onlab.onos.net.PortNumber;
+import org.onlab.onos.net.flow.Instructions;
+import org.onlab.onos.net.packet.PacketContext;
+import org.onlab.onos.net.packet.PacketProcessor;
+import org.onlab.onos.net.topology.TopologyService;
+import org.slf4j.Logger;
+
+public class ReactivePacketProcessor implements PacketProcessor {
+
+    private final Logger log = getLogger(getClass());
+    private final TopologyService topologyService;
+
+
+    public ReactivePacketProcessor(TopologyService topologyService) {
+        this.topologyService = topologyService;
+    }
+
+
+    @Override
+    public void process(PacketContext context) {
+        boolean canBcast = topologyService.isBroadcastPoint(topologyService.currentTopology(),
+                context.inPacket().receivedFrom());
+
+        if (canBcast) {
+            context.treatmentBuilder().add(Instructions.createOutput(PortNumber.FLOOD));
+            context.send();
+        } else {
+            context.block();
+        }
+
+    }
+
+}
diff --git a/apps/pom.xml b/apps/pom.xml
index 860c4dd..078a92d 100644
--- a/apps/pom.xml
+++ b/apps/pom.xml
@@ -18,6 +18,7 @@
 
     <modules>
         <module>tvue</module>
+        <module>fwd</module>
     </modules>
 
     <properties>