Home
last modified time | relevance | path

Searched full:checksum (Results 1 – 25 of 1586) sorted by relevance

12345678910>>...64

/linux-6.12.1/Documentation/networking/
Dchecksum-offloads.rst4 Checksum Offloads
12 take advantage of checksum offload capabilities of various NICs.
16 * TX Checksum Offload
17 * LCO: Local Checksum Offload
18 * RCO: Remote Checksum Offload
22 * RX Checksum Offload
26 TX Checksum Offload
29 The interface for offloading a transmit checksum to a device is explained in
33 checksum defined by the sk_buff fields skb->csum_start and skb->csum_offset.
34 The device should compute the 16-bit ones-complement checksum (i.e. the
[all …]
Dila.rst112 Transport checksum handling
115 When an address is translated by ILA, an encapsulated transport checksum
118 including checksum offload in NICs, that process the checksum. There are
121 - no action Allow the checksum to be incorrect on the wire. Before
122 a receiver verifies a checksum the ILA to SIR address
125 - adjust transport checksum
127 and if a transport layer checksum is found then it is
128 adjusted to reflect the correct checksum per the
131 - checksum neutral mapping
134 the checksum. The low order sixteen bits of the identifier
[all …]
Dudplite.rst9 is a variable-length checksum. This has advantages for transport of multimedia
11 fed into the codec instead of being discarded due to a failed checksum test.
37 IPPROTO need to be changed; senders additionally set the checksum coverage
58 using partial checksum coverage and so emulate UDP mode (full coverage).
60 To make use of the partial checksum coverage facilities requires setting a
63 * Sender checksum coverage: UDPLITE_SEND_CSCOV
70 sets the checksum coverage length to 20 bytes (12b data + 8b header).
76 * Receiver checksum coverage: UDPLITE_RECV_CSCOV
79 required to enable traffic with partial checksum coverage. Its function is
92 A detailed discussion of UDP-Lite checksum coverage options is in section IV.
[all …]
/linux-6.12.1/drivers/acpi/acpica/
Dutcksum.c29 * exception on bad checksum.
37 u8 checksum; in acpi_ut_verify_checksum() local
41 * They are the odd tables, have no standard ACPI header and no checksum in acpi_ut_verify_checksum()
48 /* Compute the checksum on the table */ in acpi_ut_verify_checksum()
51 checksum = in acpi_ut_verify_checksum()
53 table->checksum); in acpi_ut_verify_checksum()
55 /* Computed checksum matches table? */ in acpi_ut_verify_checksum()
57 if (checksum != table->checksum) { in acpi_ut_verify_checksum()
59 "Incorrect checksum in table [%4.4s] - 0x%2.2X, " in acpi_ut_verify_checksum()
61 table->signature, table->checksum, in acpi_ut_verify_checksum()
[all …]
/linux-6.12.1/arch/alpha/lib/
Dcsum_partial_copy.c16 #include <net/checksum.h>
87 unsigned long checksum = ~0U; in csum_partial_cfu_aligned() local
94 checksum += carry; in csum_partial_cfu_aligned()
96 checksum += word; in csum_partial_cfu_aligned()
98 carry = checksum < word; in csum_partial_cfu_aligned()
103 checksum += carry; in csum_partial_cfu_aligned()
110 checksum += word; in csum_partial_cfu_aligned()
112 carry = checksum < word; in csum_partial_cfu_aligned()
114 checksum += carry; in csum_partial_cfu_aligned()
116 return checksum; in csum_partial_cfu_aligned()
[all …]
/linux-6.12.1/net/ncsi/
Dncsi-pkt.h39 __be32 checksum; /* Checksum */ member
45 __be32 checksum; /* Checksum */ member
54 __be32 checksum; /* Checksum */ member
63 __be32 checksum; /* Checksum */ member
71 __be32 checksum; /* Checksum */ member
81 __be32 checksum; /* Checksum */ member
90 __be32 checksum; /* Checksum */ member
102 __be32 checksum; /* Checksum */ member
111 __be32 checksum; /* Checksum */ member
121 __be32 checksum; /* Checksum */ member
[all …]
/linux-6.12.1/Documentation/networking/device_drivers/cellular/qualcomm/
Drmnet.rst66 Function Raw bytes Checksum offload header
82 Checksum offload header, has the information about the checksum processing done
83 by the hardware.Checksum offload header fields are in big endian format.
88 Function Reserved Valid Checksum start offset
91 Function Checksum length Checksum value
95 Valid bit indicates whether the partial checksum is calculated and is valid.
101 Checksum start offset, Indicates the offset in bytes from the beginning of the
102 IP header, from which modem computed checksum.
104 Checksum length is the Length in bytes starting from CKSUM_START_OFFSET,
105 over which checksum is computed.
[all …]
/linux-6.12.1/Documentation/filesystems/ext4/
Dchecksums.rst8 The desired checksum algorithm is indicated in the superblock, though as
10 structures did not have space to fit a full 32-bit checksum, so only the
20 checksum, it will request that you run ``e2fsck -D`` to have the
24 protected by a checksum!
27 of checksum. The checksum function is whatever the superblock describes
39 - The entire superblock up to the checksum field. The UUID lives inside
43 - UUID + the entire MMP block up to the checksum field.
46 - UUID + the entire extended attribute block. The checksum field is set to
51 fake entry enclosing the checksum field.
55 The checksum field is set to zero.
[all …]
Dgroup_descr.rst36 checksum is the crc16 of the FS UUID, the group number, and the group
38 checksum is the lower 16 bits of the checksum of the FS UUID, the group
88 - Lower 16-bits of the block bitmap checksum.
92 - Lower 16-bits of the inode bitmap checksum.
102 - Group descriptor checksum; crc16(sb_uuid+group_num+bg_desc) if the
106 field in bg_desc is skipped when calculating crc16 checksum,
107 and set to zero if crc32c checksum is used.
148 - Upper 16-bits of the block bitmap checksum.
152 - Upper 16-bits of the inode bitmap checksum.
/linux-6.12.1/drivers/net/ethernet/wangxun/txgbe/
Dtxgbe_hw.c74 * txgbe_calc_eeprom_checksum - Calculates and returns the checksum
76 * @checksum: pointer to cheksum
80 static int txgbe_calc_eeprom_checksum(struct wx *wx, u16 *checksum) in txgbe_calc_eeprom_checksum() argument
104 *checksum += local_buffer[i]; in txgbe_calc_eeprom_checksum()
108 *checksum = TXGBE_EEPROM_SUM - *checksum; in txgbe_calc_eeprom_checksum()
114 * txgbe_validate_eeprom_checksum - Validate EEPROM checksum
116 * @checksum_val: calculated checksum
118 * Performs checksum calculation and validates the EEPROM checksum. If the
124 u16 checksum; in txgbe_validate_eeprom_checksum() local
131 status = wx_read_ee_hostif(wx, 0, &checksum); in txgbe_validate_eeprom_checksum()
[all …]
/linux-6.12.1/arch/x86/include/asm/
Dchecksum_64.h8 * with some code from asm-x86/checksum.h
15 * csum_fold - Fold and invert a 32bit checksum.
18 * Fold a 32bit running checksum to 16bit and invert it. This is usually
19 * the last step before putting a checksum into a packet.
34 * which always checksum on 4 octet boundaries.
41 * ip_fast_csum - Compute the IPv4 header checksum efficiently.
76 * csum_tcpup_nofold - Compute an IPv4 pseudo header checksum.
83 * Returns the pseudo header checksum the input data. Result is
102 * csum_tcpup_magic - Compute an IPv4 pseudo header checksum.
109 * Returns the 16bit pseudo header checksum the input data already
[all …]
/linux-6.12.1/drivers/net/ethernet/intel/igc/
Digc_nvm.c155 * igc_validate_nvm_checksum - Validate EEPROM checksum
158 * Calculates the EEPROM checksum by reading/adding each word of the EEPROM
163 u16 checksum = 0; in igc_validate_nvm_checksum() local
173 checksum += nvm_data; in igc_validate_nvm_checksum()
176 if (checksum != (u16)NVM_SUM) { in igc_validate_nvm_checksum()
177 hw_dbg("NVM Checksum Invalid\n"); in igc_validate_nvm_checksum()
187 * igc_update_nvm_checksum - Update EEPROM checksum
190 * Updates the EEPROM checksum by reading/adding each word of the EEPROM
191 * up to the checksum. Then calculates the EEPROM checksum and writes the
196 u16 checksum = 0; in igc_update_nvm_checksum() local
[all …]
/linux-6.12.1/drivers/gpu/drm/vboxvideo/
Dvbox_hgsmi.c32 /* Not really a checksum but that is the naming used in all vbox code */
37 u32 checksum; in hgsmi_checksum() local
39 checksum = hgsmi_hash_process(0, (u8 *)&offset, sizeof(offset)); in hgsmi_checksum()
40 checksum = hgsmi_hash_process(checksum, (u8 *)header, sizeof(*header)); in hgsmi_checksum()
41 /* 4 -> Do not checksum the checksum itself */ in hgsmi_checksum()
42 checksum = hgsmi_hash_process(checksum, (u8 *)tail, 4); in hgsmi_checksum()
44 return hgsmi_hash_end(checksum); in hgsmi_checksum()
69 t->checksum = hgsmi_checksum(offset, h, t); in hgsmi_buffer_alloc()
/linux-6.12.1/drivers/net/ethernet/qualcomm/rmnet/
Drmnet_map_data.c42 /* Computing the checksum over just the IPv4 header--including its in rmnet_map_ipv4_dl_csum_trailer()
43 * checksum field--should yield 0. If it doesn't, the IP header in rmnet_map_ipv4_dl_csum_trailer()
51 /* We don't support checksum offload on IPv4 fragments */ in rmnet_map_ipv4_dl_csum_trailer()
57 /* Checksum offload is only supported for UDP and TCP protocols */ in rmnet_map_ipv4_dl_csum_trailer()
64 /* RFC 768: UDP checksum is optional for IPv4, and is 0 if unused */ in rmnet_map_ipv4_dl_csum_trailer()
70 /* The checksum value in the trailer is computed over the entire in rmnet_map_ipv4_dl_csum_trailer()
72 * transport checksum from this, we first subract the contribution in rmnet_map_ipv4_dl_csum_trailer()
73 * of the IP header from the trailer checksum. We then add the in rmnet_map_ipv4_dl_csum_trailer()
74 * checksum computed over the pseudo header. in rmnet_map_ipv4_dl_csum_trailer()
77 * trailer checksum. Therefore the checksum in the trailer is in rmnet_map_ipv4_dl_csum_trailer()
[all …]
/linux-6.12.1/include/linux/
Dif_rmnet.h34 * VALID: 1 = checksum and length valid; 0 = ignore them
44 * OFFSET: where (offset in bytes) to insert computed checksum
45 * UDP: 1 = UDP checksum (zero checksum means no checksum)
46 * ENABLED: 1 = checksum computation requested
65 * 1 = for UL, checksum computation is requested.
66 * 1 = for DL, validated the checksum and has found it valid
Dbcm963xx_nvram.h72 * bcm963xx_nvram_checksum - Verify nvram checksum
75 * @expected_out: optional pointer to store expected checksum value
76 * @actual_out: optional pointer to store actual checksum value
78 * Return: 0 if the checksum is valid, otherwise -EINVAL
96 * Calculate the CRC32 value for the nvram with a checksum value in bcm963xx_nvram_checksum()
98 * - The CRC32 of the nvram without the checksum value in bcm963xx_nvram_checksum()
99 * - The CRC32 of a zero checksum value (which is also 0) in bcm963xx_nvram_checksum()
/linux-6.12.1/drivers/platform/chrome/wilco_ec/
Dmailbox.c68 * wilco_ec_checksum() - Compute 8-bit checksum over data range.
69 * @data: Data to checksum.
70 * @size: Number of bytes to checksum.
72 * Return: 8-bit checksum of provided data.
77 u8 checksum = 0; in wilco_ec_checksum() local
81 checksum += data_bytes[i]; in wilco_ec_checksum()
83 return checksum; in wilco_ec_checksum()
100 /* Checksum header and data */ in wilco_ec_prepare()
101 rq->checksum = wilco_ec_checksum(rq, sizeof(*rq)); in wilco_ec_prepare()
102 rq->checksum += wilco_ec_checksum(msg->request_data, msg->request_size); in wilco_ec_prepare()
[all …]
/linux-6.12.1/arch/x86/lib/
Dcsum-wrappers_64.c5 * Wrappers of assembly checksum functions for x86-64.
7 #include <asm/checksum.h>
13 * csum_and_copy_from_user - Copy and checksum from user space.
18 * Returns an 32bit unfolded checksum of the buffer.
35 * csum_and_copy_to_user - Copy and checksum to user space.
40 * Returns an 32bit unfolded checksum of the buffer.
57 * csum_partial_copy_nocheck - Copy and checksum.
62 * Returns an 32bit unfolded checksum of the buffer.
/linux-6.12.1/arch/x86/um/asm/
Dchecksum.h10 * computes the checksum of a memory block at buff, length len,
24 * csum_fold - Fold and invert a 32bit checksum.
27 * Fold a 32bit running checksum to 16bit and invert it. This is usually
28 * the last step before putting a checksum into a packet.
44 * csum_tcpup_nofold - Compute an IPv4 pseudo header checksum.
51 * Returns the pseudo header checksum the input data. Result is
68 * computes the checksum of the TCP/UDP pseudo-header
69 * returns a 16-bit checksum, already complemented
79 * ip_fast_csum - Compute the IPv4 header checksum efficiently.
/linux-6.12.1/tools/testing/selftests/drivers/net/hw/
Dcsum.py13 """Test local nic checksum receive. Remote host sends crafted packets."""
15 raise KsftSkipEx(f"Test requires rx checksum offload on {cfg.ifname}")
31 """Test local nic checksum transmit. Remote host verifies packets."""
35 raise KsftSkipEx(f"Test requires tx checksum offload on {cfg.ifname}")
42 # Cannot randomize input when calculating zero checksum
78 """Test whether Tx and Rx checksum offload are enabled.
89 if f["name"] == "tx-checksum-ip-generic":
91 elif f["name"] == "tx-checksum-ipv4":
93 elif f["name"] == "tx-checksum-ipv6":
95 elif f["name"] == "rx-checksum":
/linux-6.12.1/fs/udf/
Dmisc.c56 /* check checksum/crc */ in udf_add_extendedattr()
115 /* rewrite CRC + checksum of eahd */ in udf_add_extendedattr()
142 /* check checksum/crc */ in udf_get_extendedattr()
193 u8 checksum; in udf_read_tagged() local
216 /* Verify the tag checksum */ in udf_read_tagged()
217 checksum = udf_tag_checksum(tag_p); in udf_read_tagged()
218 if (checksum != tag_p->tagChecksum) { in udf_read_tagged()
219 udf_err(sb, "tag checksum failed, block %u: 0x%02x != 0x%02x\n", in udf_read_tagged()
220 block, checksum, tag_p->tagChecksum); in udf_read_tagged()
279 u8 checksum = 0; in udf_tag_checksum() local
[all …]
/linux-6.12.1/drivers/net/ethernet/amazon/ena/
Dena_eth_io_defs.h56 * 13 : l3_csum_en - enable IPv4 header checksum.
57 * 14 : l4_csum_en - enable TCP/UDP checksum.
62 * 17 : l4_csum_partial - L4 partial checksum. when
63 * set to 0, the ENA calculates the L4 checksum,
68 * the checksum field of the L4 is used instead. When
69 * TSO enabled, the checksum of the pseudo-header
71 * checksum should be used for IPv6 packet that
204 * checksum error detected, or, the controller didn't
205 * validate the checksum. This bit is valid only when
208 * checksum error detected, or, the controller didn't
[all …]
/linux-6.12.1/tools/testing/selftests/net/
Dnat6to4.bpf.c80 case IPPROTO_TCP: // For TCP & UDP the checksum neutrality of the chosen IPv6 in sched_cls_ingress6_nat_6_prog()
83 case IPPROTO_ESP: // since there is never a checksum to update. in sched_cls_ingress6_nat_6_prog()
108 // Calculate the IPv4 one's complement checksum of the IPv4 header. in sched_cls_ingress6_nat_6_prog()
119 // Calculate the *negative* IPv6 16-bit one's complement checksum of the IPv6 header. in sched_cls_ingress6_nat_6_prog()
125 // Note that there is no L4 checksum update: we are relying on the checksum neutrality in sched_cls_ingress6_nat_6_prog()
182 // Calculate the IPv4 one's complement checksum of the IPv4 header. in sched_cls_egress4_snat4_prog()
191 // for a correct checksum we should get *a* zero, but sum4 must be positive, ie 0xFFFF in sched_cls_egress4_snat4_prog()
204 case IPPROTO_TCP: // For TCP & UDP the checksum neutrality of the chosen IPv6 in sched_cls_egress4_snat4_prog()
207 break; // since there is never a checksum to update. in sched_cls_egress4_snat4_prog()
213 // If IPv4/UDP checksum is 0 then fallback to clatd so it can calculate the in sched_cls_egress4_snat4_prog()
[all …]
/linux-6.12.1/drivers/net/ethernet/intel/e1000e/
Dmanage.c7 * e1000_calculate_checksum - Calculate checksum for buffer
9 * @length: size of EEPROM to calculate a checksum for
11 * Calculates the checksum for some buffer on a specified length. The
12 * checksum calculated is returned.
123 hdr_csum = hdr->checksum; in e1000e_enable_tx_pkt_filtering()
124 hdr->checksum = 0; in e1000e_enable_tx_pkt_filtering()
148 * Writes the command header after does the checksum calculation.
155 /* Write the whole command header structure with new checksum. */ in e1000_mng_write_cmd_header()
157 hdr->checksum = e1000_calculate_checksum((u8 *)hdr, length); in e1000_mng_write_cmd_header()
175 * @sum: sum of the data (not checksum)
[all …]
/linux-6.12.1/drivers/net/ethernet/intel/ixgbe/
Dixgbe_x540.c299 * ixgbe_calc_eeprom_checksum_X540 - Calculates and returns the checksum
310 u16 checksum = 0; in ixgbe_calc_eeprom_checksum_X540() local
323 /* Include 0x0-0x3F in the checksum */ in ixgbe_calc_eeprom_checksum_X540()
329 checksum += word; in ixgbe_calc_eeprom_checksum_X540()
365 checksum += word; in ixgbe_calc_eeprom_checksum_X540()
369 checksum = (u16)IXGBE_EEPROM_SUM - checksum; in ixgbe_calc_eeprom_checksum_X540()
371 return (int)checksum; in ixgbe_calc_eeprom_checksum_X540()
375 * ixgbe_validate_eeprom_checksum_X540 - Validate EEPROM checksum
377 * @checksum_val: calculated checksum
379 * Performs checksum calculation and validates the EEPROM checksum. If the
[all …]

12345678910>>...64