- How do we test it? [x]
- We will be having this installed in every host?[x]
- Doubt in Counter decode in figure paper.
- XDP can only capture packets from RX (incoming side). Is that a problem ?
- Is there an issue with adding the ethernet headers ? [x]
- Ask about hashes are implemented for consistent implementation with theirs[x]
- Extra metadata to be stored? (e.g., packet counters, and the flow starting and finish times).[x]
- When should we clear the flowset? In the simulation its done in sequential order. [x]
- Should there be IPv6 support?
- Added ethernet headers to packets using scapy, certain metadata is missing from the packet (flow id and time is maintatined)
- How are you guys doing counter decode? In P4 or simulating in python
- Sleeping for 280ms is implemented through usleep. Wont be accurate. Is that enough?
- Currently packets gets inserted into 2 or 3 flowsets. Should all packets be inserted into the same flowset?[x]
- How are you guys dealing with fragmented IP packets? (packet 34 in pcap UDP with src/dst port=0)(when these packets are considered the flow count becomes as you said :24089)[x]
- Pureflows (7359) when flows in a single flowset (Error :#3)[x]
- Can you provide pcaps with malicious flows for testing (consistency)
- MAX_PKT_COUNT while generating mal_flows[x]
- Tell about our testing results, ask for pcap files for consistent results
- Check all TODOs
- Check if memory allocated is deallocated and also proper error checking
- Check consistency of hashing (in IITH and our impl)
- Verify lsqr solver(partially verified)
- Standard values to be used [x]
- Concurrency controls - use two flowsets [x]
- murmur hash implementations[x]
- make time to 280ms[x]
- Test with bridging[x]
- Test the implementation
- Match number of packets in listener and eBPF program[x]
- Check pure set implementation[x]
- Check better implementation for counter decode checkout other workspaces
- Pureset need not be a set as the flows added will be unique always [x]
- Change implementation of single decode to perform it until no pure cells exist [x]
- delay before start_decode function [x]
- Unload the XDP program on error
- Continue the loop if counting table empty in start_decode [x]
- Replace the bpf maps with support for locks[x]
- Prevent random packets sent on interface
- Proper flow for returning errors.Check return values of bpf helpers and perform required action
- Remove timestamp from counter decode output
- Create a folder structure[x]
- Add support for packets other than TCP and UDP[x]
- Remove unwanted memcpy to 128 bit before insertion
- Support for IPv6?
- Make a circular queue structure for flowset [x]resource
- Errors due to empty flowsets being passed down to gsl [x]
- -O2,-O3 flags causes pureset_latest_index to exceed PURESET_SIZE
- When trying to have all packets into a single flowset by increasing the poll time the number of pureflows is very less (7359)[x](Solved when sizes updated to sizes in simulation)
1.sudo ip link set dev enp7s0 xdpgeneric off : To unload XDP program from enp7s0 interface
2.sudo ip link show dev enp7s0 : Shows if XDP program is loaded in enp7s0 interface
3.sudo cat /sys/kernel/tracing/trace_pipe : bpf tracepipe (bpf_printk() for printing)
4.sudo ip link set dev <interface> up : setting the interface up
5.tcprewrite --dlt=enet --enet-dmac=00:11:22:33:44:55 --enet-smac=66:77:88:99:AA:BB --infile=input.pcap --outfile=output.pcapAdding fake ethernet headers (but not working)
6.sudo tcpreplay -i veth1 output_with_eth.pcap refer
7. sudo pkill -f flowradar :Kill flowradar process
- The 110k_24k_caida.pcap has raw ip packets without the ethernet header, this causes issues with our program as it expects ethernet headers, currently while testing with scapy we are adding the ethernet headers and sending to the interface.
- Only supporting IP packets (no IPv6)
- Counter decode done with gsl library.Packets rounded to nearest integer after calculation (instead of simplifying the calculation)
- Run setup_veth.sh
- Check https://linuxconfig.org/how-to-use-bridged-networking-with-libvirt-and-kvm to setup with virt-manager
- Add interface to virt-manager and ensure the interface is up