Use a module to create a proc file /proc/pkt_cntr which periodically reports on the number of
merges of input_pkt_queue with process_queue of softnet_data, where a merge takes place when the number of packets processed off of process_queue is over quota () or /proc/sys/net/core/netdev_budget. See process_backlog for quota and the merge process.
enque, dequeue, and requeue cycles, where the packet(s) are requeued for softirq to try at a later time.
Use softnet_data->input_pkt_queue to count incoming packets.
Use softnet_data->output_queue to count outgoing packets.
When counting, traverse the skbh list. Do not use qlen.
Include your code in the tgz file to show that you actually traversed the list to count the number of packets.
Report the numbers periodically.
Open a browser and visit some sites to increase the packet traffic for a few minutes. You will need some significant net activities to generate a visible number of packets. Simple surfing may not generate visible packet traffic.
Consider using ab (apache bench to generate traffic) or write a pair of client/server programs to simulate sending/receiving packets.