Jumbo Frames
BCM5718 Programmer’s Guide
Broadcom
®
January 29, 2016 • 5718-PG108-R
Page 129
• L2 header must be contained within one SBD (the first one)
• IP header (IPv4 or IPv6), including IP Options, must be contained within a single SBD
• Hdrlen[7:0] field must be correct in SBD
• DONT_GEN_CRC field must not be set in a SBD for LSO packet
• SNAP field must not be set in SBD for LSO packet
• TCP header, including TCP Options, must be contained within a single SBD
The Read DMA (RDMA) engine cannot support LSO packets with the above listed attributes. Any such LSO
configurations may cause the RDMA engine to lockup and/or exhibit abnormal behavior.
Summary of Register Settings to Support Jumbo Frames
• Standard receive producer ring RCB (Ring Control Block):
0x2450: Host address high [31:0]
0x2454: Host address low [31:0]
0x2458: [31:16]: Standard ring size (power of 2)
[15:2]: std_max_packet_size = 0x600 (1522 decimal)
[1:0] = 0
0x245C: Standard NIC address = 0x400000
The NIC address is a controller-internal memory address where the controller caches a portion of a ring to
achieve faster, higher performance access to buffer descriptors.
• Jumbo receive producer ring RCB:
0x2440: Host address high [31:0]
0x2444: Host address low [31:0]
0x2448: [31:16]: Jumbo ring size (power of 2)
[15:2] = 0
[1:0] = 0
0x244C: Jumbo NIC address 0x00044400
Only the host address and ring size are applicable to the receive return RCB.
• Receive MBUF low water mark 0x4414 = 0x7E (program to this value only when jumbo enabled)
Receive MBUF high water mark 0x4418 = 0xEA (program to this value only when jumbo enabled)
Read DMA watermark register 0x4410 = 0x0
• Standard replenish threshold register 0x2C18 is typically 1/8 of total receive BDs in host memory.
Jumbo replenish threshold register 0x2C1C is typically 1/8 of total Receive BDs in host memory.
• EMAC MTU register 0x43C: Program this register based on max packet size.