/linux-6.12.1/Documentation/networking/ |
D | checksum-offloads.rst | 4 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 …]
|
D | ila.rst | 112 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 …]
|
D | udplite.rst | 9 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/ |
D | utcksum.c | 29 * 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/ |
D | csum_partial_copy.c | 16 #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/ |
D | ncsi-pkt.h | 39 __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/ |
D | rmnet.rst | 66 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/ |
D | checksums.rst | 8 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 …]
|
D | group_descr.rst | 36 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/ |
D | txgbe_hw.c | 74 * 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/ |
D | checksum_64.h | 8 * 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/ |
D | igc_nvm.c | 155 * 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/ |
D | vbox_hgsmi.c | 32 /* 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/ |
D | rmnet_map_data.c | 42 /* 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/ |
D | if_rmnet.h | 34 * 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
|
D | bcm963xx_nvram.h | 72 * 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/ |
D | mailbox.c | 68 * 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/ |
D | csum-wrappers_64.c | 5 * 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/ |
D | checksum.h | 10 * 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/ |
D | csum.py | 13 """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/ |
D | misc.c | 56 /* 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/ |
D | ena_eth_io_defs.h | 56 * 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/ |
D | nat6to4.bpf.c | 80 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/ |
D | manage.c | 7 * 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/ |
D | ixgbe_x540.c | 299 * 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 …]
|