I am relatively new to networking and OpenFlow. I am currently working on an OpenFlow-based network with OpenDaylight (ODL) as the controller. I have applied a rule to drop packets for specific flows. The rule is as follows:
priority=100,dl_src={mac address} actions=DROP
While the rule effectively drops the packets, I would like to capture more detailed information about the dropped packets, such as their source and destination IP addresses, MAC addresses, and other metadata.
So far, I have explored the following approaches but need clarification or alternatives:
- Flow Statistics: Using ovs-ofctl dump-flows, I can see the number of packets dropped (n_packets) and the total bytes dropped (n_bytes). However, this does not provide individual packet details.
- logs:I enabled debug logs using ovs-appctl vlog/set ofproto:dbg, but I couldn’t find sufficient details about the dropped packets in the logs.
- Packet-In Events: I understand that I can use a CONTROLLER action in the rule to send packet details to the controller (in this case, ODL) before they are dropped. However, I’m unsure how to combine this with the DROP action effectively.
Questions:
- As a beginner, is there a straightforward way to log or capture detailed information about dropped packets (source/destination, protocol, etc.) in Open vSwitch or any OpenFlow-compatible switch?
- Since I am using OpenDaylight (ODL) as the controller, how can I configure it to capture such information for dropped packets?
- Are there any best practices or tools you would recommend for extracting packet-level details in an OpenFlow environment?
Any beginner-friendly guidance, especially examples using Open vSwitch and OpenDaylight, would be greatly appreciated. Thank you for your help!