How shreelakshmigbhat/flowguard-sdn-based-selective-packet-filtering works
This is a small Ryu OpenFlow 1.3 controller application for selective packet dropping. On switch connection it installs a table-miss rule that sends unknown packets to the controller. For each packet-in, it drops IPv4 traffic from h1 to h2 by installing a higher-priority rule; other traffic follows MAC-learning forwarding, with unknown destinations flooded. The README describes a Mininet topology and ping/iperf and Wireshark observations, but the repository contains only the controller source, so those tools and network elements are represented as external. The graph reflects documented interactions; no topology or measurement implementation is present in the tree.
Main entry points: drop_controller.py Flow installation
Components 12
Other components
- Mininet network
- Hosts h1–h3
- OpenFlow switch
- Ryu runtime
- Drop controller
drop_controller.py - Switch setup handler
drop_controller.py - Packet-in handler
drop_controller.py - Selective drop rule
drop_controller.py - Learning forward
drop_controller.py - Flow installation
drop_controller.py - Ping and iperf
- Wireshark capture
Connections 13
- Mininet network → Hosts h1–h3: hosts topology
- Hosts h1–h3 → OpenFlow switch: send traffic
- OpenFlow switch → Ryu runtime: OpenFlow events
- Ryu runtime → Drop controller: dispatches events
- Switch setup handler → Flow installation: installs miss rule
- Packet-in handler → Selective drop rule: checks IP pair
- Packet-in handler → Learning forward: otherwise forwards
- Selective drop rule → Flow installation: installs drop
- Learning forward → Flow installation: installs forwarding
- Flow installation → OpenFlow switch: sends FlowMod
- Learning forward → OpenFlow switch: sends PacketOut
- Ping and iperf → Hosts h1–h3: probes flows
- OpenFlow switch → Wireshark capture: traffic observed