Problem with receiving packets right after remote-interface is up

M. V. bored_to_death85 at yahoo.com
Sat Sep 5 20:35:05 UTC 2015


Hi,

Our product is being tested with Spirent TestCenter, and we're facing an unusual problem with the tests.
We use NICs with intel 82574 and 82576 on FreeBSD 9.2 with latest em and igb drivers (we also tested this on FreeBSD-10.1) It seems what Spirent TestCenter does to start any individual test is, it disables its own interface, and at the beginning of the new test, it suddenly "up"s its interface and sends test packet right after that without any delay. This is where we have problem, and we don't receive this first packets most of the time (result is vary, in 100 tests, we lose about 60~70% of this "first" packets on each test, so we FAIL most of tests because apparently we need about 0.5~1 seconds after setup and renegotiation before we can receive packets)
we checked both em and igb drivers and both have this problem.
this is how we reproduce the problem:
- connect sender-system's first port to receiver-system's first port.
- In sender-system:
-- ifconfig em0 down
-- sleep 5
-- ifconfig em0 up && tcpreplay -l 1 -i em0 one_packet.pcap

We checked, and even though sender sends packet successfully (tx led blinks), in receiver even driver doesn't receive it (rx led doesn't blink, and "rxeof" function in "if_em" tells us no new packet is received)
we removed optional interface options like msix, tso, rxcsum, ... but no luck.

So, does anyone know any solution for this problem? or any suggestions on where we should look or what we should do that might solve it and prevent our tests from being failed?

Thank you guys.


More information about the freebsd-net mailing list