snabbco / snabb

Snabb: Simple and fast packet networking
Apache License 2.0
2.97k stars 301 forks source link

Raw Socket problem #1162

Open adw555 opened 7 years ago

adw555 commented 7 years ago

So I have a very simple app which reads from a RawSocket and sends the packets to a Sink:

module(..., package.seeall) local raw = require("apps.socket.raw") local Sink=require("apps.basic.basic_apps").Sink

function run (parameters) if not (#parameters == 1) then print("Usage: tester ") main.exit(1) end local interface = parameters[1] local c = config.new() config.app(c, "source", raw.RawSocket, interface) config.app(c, "output", Sink) config.link(c, "source.tx -> output.rx") engine.configure(c) local fn = function () print("Main Report:") engine.report_links() end local t = timer.new("report", fn, 1e9*60, 'repeating') timer.activate(t) engine.configure(c) engine.main() end

If I replay a pcap containing approx 1 million packets to that interface using a version of snabb from December 2015 I get the output:

ampadmin@london:~/snabbswitch-master$ sudo src/snabb tester p2p2 Main Report: link report: 1,057,440 sent on source.tx -> output.rx (loss rate: 0%)

If I run the same test on a current version of snabb I get much less packets through ampadmin@london:~/snabb-2017.06$ sudo src/snabb tester p2p2 Main Report: link report: 523,111 sent on source.tx -> output.rx (loss rate: 0%)

Almost half the amount. Is there something I've missed in setup with the later versions?

I'm running on Ubuntu 16.04.

Thanks, Andrew

dpino commented 7 years ago

A similar bug was reported here https://github.com/snabbco/snabb/issues/928. Can you provide a link to the pcap file you're using as well as the command line you're using to send the packets to p2p2 interface? It makes it easier to reproduce the bug.