Lines Matching +full:no +full:- +full:hw +full:- +full:checksum

7  * Copyright (c) 2003-2008 Cavium Networks
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
43 #include <asm/octeon/cvmx-packet.h>
53 * HW decode / err_code in work queue entry
61 /* HW sets this to the number of buffers used by this packet */
63 /* HW sets to the number of L2 bytes prior to the IP */
70 /* HW sets to the DSA/VLAN CFI flag (valid when vlan_valid) */
72 /* HW sets to the DSA/VLAN_ID field (valid when vlan_valid) */
102 * - 1 = Malformed L4
103 * - 2 = L4 Checksum Error: the L4 checksum value is
104 * - 3 = UDP Length Error: The UDP length field would
108 * - 4 = Bad L4 Port: either the source or destination
110 * - 8 = TCP FIN Only: the packet is TCP and only the
112 * - 9 = TCP No Flags: the packet is TCP and no flags
114 * - 10 = TCP FIN RST: the packet is TCP and both FIN
116 * - 11 = TCP SYN URG: the packet is TCP and both SYN
118 * - 12 = TCP SYN RST: the packet is TCP and both SYN
120 * - 13 = TCP SYN FIN: the packet is TCP and both SYN
130 * - 1 = Not IP: the IP version field is neither 4 nor
132 * - 2 = IPv4 Header Checksum Error: the IPv4 header
133 * has a checksum violation.
134 * - 3 = IP Malformed Header: the packet is not long
136 * - 4 = IP Malformed: the packet is not long enough
139 * - 5 = IP TTL Hop: the IPv4 TTL field or the IPv6
141 * - 6 = IP Options
151 * multi-cast.
164 /* lower err_code = first-level descriptor of the
265 * HW sets this to the number of buffers used by this
276 * HW sets to the DSA/VLAN CFI flag (valid when
281 * HW sets to the DSA/VLAN_ID field (valid when
314 * multi-cast
326 * - 1 = partial error: a packet was partially
330 * - 2 = jabber error: the RGMII packet was too large
332 * - 3 = overrun error: the RGMII packet is longer
334 * - 4 = oversize error: the RGMII packet is longer
336 * - 5 = alignment error: the RGMII packet is not an
339 * - 6 = fragment error: the RGMII packet is shorter
341 * - 7 = GMX FCS error: the RGMII packet had an FCS
343 * - 8 = undersize error: the RGMII packet is shorter
345 * - 9 = extend error: the RGMII packet had an extend
347 * - 10 = length mismatch error: the RGMII packet had
350 * - 11 = RGMII RX error/SPI4 DIP4 Error: the RGMII
354 * - 12 = RGMII skip error/SPI4 Abort Error: the RGMII
358 * - 13 = RGMII nibble error/SPI4 Port NXA Error: the
360 * repeated - 10/100M only) or the SPI4 packet
362 * - 16 = FCS error: a SPI4.2 packet had an FCS error.
363 * - 17 = Skip error: a packet was not large enough to
365 * - 18 = L2 header malformed: the packet is not long
371 * lower err_code = first-level descriptor of the
409 * raw chksum result generated by the HW
413 * Field unused by hardware - available for software
418 * May be written/read by HW before the work queue
480 * HW sets this to what it thought the priority of
507 * HW sets to the total number of bytes in the packet
511 * HW sets this to input physical port
516 * HW sets this to what it thought the priority of
548 * must be 8-byte aligned
554 * HW WRITE: the following 64 bits are filled by HW when a packet arrives
560 * HW WRITE: the following 64 bits are filled by HW when a packet arrives
565 * WORD 2 HW WRITE: the following 64-bits are filled in by
577 * HW WRITE: octeon will fill in a programmable amount from the
603 port = work->word2.s_cn68xx.port; in cvmx_wqe_get_port()
605 port = work->word1.cn38xx.ipprt; in cvmx_wqe_get_port()
613 work->word2.s_cn68xx.port = port; in cvmx_wqe_set_port()
615 work->word1.cn38xx.ipprt = port; in cvmx_wqe_set_port()
623 grp = work->word1.cn68xx.grp; in cvmx_wqe_get_grp()
625 grp = work->word1.cn38xx.grp; in cvmx_wqe_get_grp()
633 work->word1.cn68xx.grp = grp; in cvmx_wqe_set_grp()
635 work->word1.cn38xx.grp = grp; in cvmx_wqe_set_grp()
643 qos = work->word1.cn68xx.qos; in cvmx_wqe_get_qos()
645 qos = work->word1.cn38xx.qos; in cvmx_wqe_get_qos()
653 work->word1.cn68xx.qos = qos; in cvmx_wqe_set_qos()
655 work->word1.cn38xx.qos = qos; in cvmx_wqe_set_qos()