Figure 35: Basic Driver Flow To Send A Packet - Broadcom BCM5722 Programmer's Manual

Host programmer interface specification for the netxtreme and netlink family of highly integrated media access controllers
Table of Contents

Advertisement

BCM5722
Get the virtual address and length of
the next buffer in packet
No
Page 81
TX Data Flow Diagram
OS asks NIC Driver to send a packet
Is the NIC enabled to send packets?
Yes
Examine packet (if necessary) and decide
which send ring to use.
Does the NIC have enough free
send BD's to send the packet?
Yes
Get the virtual address and length of the
first buffer in packet
Make OS call to lock down the virtual buffer
in host memory and get the corresponding
physical address(es)
Allocate the next available send BD from a
free list of pre-allocated send BDs for a
given send ring
Fill out a Send BD with the info (address,
length, flags) that corresponds to this
physical host fragment
Is this the last physical fragment
of the virtual buffer?
Yes
Is this the last virtual buffer
for this packet?
Yes
Set BD_FLAG_END bit in send BD
Update the Send Producer Index. This tells
the HW that a new packet is ready to be
transmitted

Figure 35: Basic Driver Flow to Send a Packet

Bro adco m C orp or atio n
Programmer's Guide
Return appropriate error code to OS.
No
No
Queue packet for later transmission.
Return appropriate status code to OS
Get the physical address and length of
the next physical fragment for the
virtual buffer
No
Document 5722-PG101-R
10/15/07

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the BCM5722 and is the answer not in the manual?

Subscribe to Our Youtube Channel

This manual is also suitable for:

Bcm5722kfb1g

Table of Contents