e1000e driver #90
macpacheco
started this conversation in
Show and tell
Replies: 1 comment 1 reply
-
|
drivers/net/i8257x.asm: You need to set RDT to number of descriptors - 1 to use all of them. I wrote a shoehorned ARP and ICMP reply logic on a i8257x interrupt. I'm able to send pings as fast as linux can generate them, without a single loss BM2 C side. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
The first driver I converted to C.
It seems like the current assembly code only receives the first packet.
Here's how I solved on the C side:
don't want to function in promisc mode, and don't want to process jumbo packets, so two bits were removed from TCTL.
Removed the +1 AND logic replaced with an equality comparison.
The lasthead1 variable is used to reset RDH less often back to zero once we rx half as many DESC as fits.
Similar poll without lasthead1, untested.
How to easily flood BM with packets to test drivers:
Beta Was this translation helpful? Give feedback.
All reactions