EasyManuals Logo

Broadcom NetXtreme/NetLink BCM5718 Series User Manual

Broadcom NetXtreme/NetLink BCM5718 Series
593 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #98 background imageLoading...
Page #98 background image
Checksum CalculationBCM5718 Programmer’s Guide
Broadcom®
January 29, 2016 5718-PG108-R Page 98
Figure 16: Class of Service Example
Checksum Calculation
Whether the host software NOS supports checksum offload or not, the Ethernet controller automatically
calculates the IP, TCP, and UDP of received packets as described in RFC 791, RFC 793, and RFC 768,
respectively.
Which protocol checksum value is produced can be determined by reading the status flag field in the Receive
Return Ring. The valid flag values in the status flag field are IP_CHECKSUM and TCP_UDP_CHECKSUM.
When a valid checksum is produced, the values of the checksums are found in the corresponding receive buffer
descriptor register. These values should be 0xFFFF for a valid checksum or any other value if the checksum
was incorrectly calculated. Assert the Receive No Pseudo-header Checksum bit of the Mode Control register
(see “Mode Control Register (offset: 0x6800)” on page 468) to not to include Pseudo-header in TCP/UDP
checksums.
VLAN Tag Strip
Receiving VLAN-tagged (IEEE 802.1q-compliant) packets are automatically supported by the Ethernet
controller. There is no register or setting required to receive packets that are VLAN-tagged. The VLAN tag is
automatically stripped from the IEEE 802.1q-compliant packet at reception and then placed in a receive buffer
descriptor’s two byte VLAN tag field. The flag field has the BD_FLAGS_VLAN_TAG bit set when a valid VLAN
packet is received. After the packet has been serviced by the host software, these fields should be zeroed out.
In the Receive MAC Mode register (offset 0x468–0x46b), the Keep VLAN Tag Diag Mode bit (bit 10) can be set
to force the Ethernet controller to not strip the VLAN tag from the packet. This is only for diagnostic purposes.
Rule 1: Control = 0xc400020C
Where: Enable + And with next (chain with next rule)
Mask -Value/Mask is split into two 16-bit values
Class -Return Ring 2
Offset -12 bytes from start of frame
Mask/Value = 0xffff 8137
Where: Mask – 0xffff
Value - IPX
Rule 2: Control
= 0x84028207
Where: Enable
Mask – Value/Mask split into two 16-bit values
Comparison Operator –Greater Than
Header Type – Start of Data
Offset – 7 bytes from start of data
Mask/Value =0xff00 0600
Where: Mask – 0xff00
Value – 0600
Header Type – Start of Data
Comparison Operator –Equal
Class -Return Ring 2

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Broadcom NetXtreme/NetLink BCM5718 Series and is the answer not in the manual?

Broadcom NetXtreme/NetLink BCM5718 Series Specifications

General IconGeneral
BrandBroadcom
ModelNetXtreme/NetLink BCM5718 Series
CategoryController
LanguageEnglish

Related product manuals