Why I’ve got tx_done() 20 seconds after tx_down() ?
How to decrease this time ?
/I have to change some eth driver settings?
How can I know that I can send another packet
to eth card ?
Why I’ve got tx_done() 20 seconds after tx_down() ?
How to decrease this time ?
/I have to change some eth driver settings?
How can I know that I can send another packet
to eth card ?
Q <no@spam.pl> wrote:
Why I’ve got tx_done() 20 seconds after tx_down() ?
That’s when the driver released it.
How to decrease this time ?
/I have to change some eth driver settings?
There probably isn’t such a setting.
How can I know that I can send another packet
to eth card ?
You don’t have to wait for tx_done() to send
another packet. You can’t reuse a packet
until tx_done().
-seanb
That’s when the driver released it.
Yes, it’s a driver -
You don’t have to wait for tx_done() to send
another packet. You can’t reuse a packet
until tx_done().
Yes, but how can I know that
there is enough space for next packet in eth tx buffer ?
Is there (in io-net) sth like ‘flush’ ?
/to force get tx_done()
Q <no@spam.pl> wrote:
That’s when the driver released it.
Yes, it’s a driver -
- with another eth card (+ driver) I’ve got tx_done() immediately;
You don’t have to wait for tx_done() to send
another packet. You can’t reuse a packet
until tx_done().Yes, but how can I know that
there is enough space for next packet in eth tx buffer ?
The tx_down() will return -1 and set errno if there
isn’t.
Is there (in io-net) sth like ‘flush’ ?
/to force get tx_done() >
The tx_down() will return -1 and set errno if there
isn’t.
…and what errno I will get ?
#define ENOMEM 12 /* Not enough space
#define ENOSPC 28 /* No space left on device
#define ENOBUFS 255 /* No buffer space available */
Q <no@spam.pl> wrote:
The tx_down() will return -1 and set errno if there
isn’t.…and what errno I will get ?
#define ENOMEM 12 /* Not enough space
#define ENOSPC 28 /* No space left on device
#define ENOBUFS 255 /* No buffer space available */
In this particular instance, ENOBUFS.
Regards,
-seanb