Lines Matching full:sum
527 * In those cases the variable that stores the accumulative sum has to be bigger too.
528 * Once the sum is computed a final step folds the sum to a 16-bit word (adding carry if any).
532 uint64_t sum; in calc_chksum() local
538 /* Sum in is in host endianness, working order endianness is both dependent on endianness in calc_chksum()
542 sum = BSWAP_16(sum_in); in calc_chksum()
544 sum = sum_in; in calc_chksum()
549 sum += offset_based_swap8(data); in calc_chksum()
555 sum = sum + *((uint16_t *)data); in calc_chksum()
569 sum += sum_a + sum_b; in calc_chksum()
573 sum = sum + p[i++]; in calc_chksum()
578 sum = sum + *((uint16_t *)data); in calc_chksum()
582 sum += offset_based_swap8(data); in calc_chksum()
585 /* Fold sum into 16-bit word. */ in calc_chksum()
586 while (sum >> 16) { in calc_chksum()
587 sum = (sum & 0xffff) + (sum >> 16); in calc_chksum()
590 /* Sum in is in host endianness, working order endianness is both dependent on endianness in calc_chksum()
594 return BSWAP_16((uint16_t)sum); in calc_chksum()
596 return sum; in calc_chksum()
600 static inline uint16_t pkt_calc_chksum(struct net_pkt *pkt, uint16_t sum) in pkt_calc_chksum() argument
606 return sum; in pkt_calc_chksum()
612 sum = calc_chksum(sum, cur->pos, len); in pkt_calc_chksum()
622 sum += *cur->pos; in pkt_calc_chksum()
623 if (sum < *cur->pos) { in pkt_calc_chksum()
624 sum++; in pkt_calc_chksum()
634 return sum; in pkt_calc_chksum()
641 uint16_t sum = 0U; in net_calc_chksum() local
649 sum = net_pkt_get_len(pkt) - in net_calc_chksum()
656 sum = net_pkt_get_len(pkt) - in net_calc_chksum()
672 sum = calc_chksum(sum, pkt->cursor.pos, len); in net_calc_chksum()
675 sum = pkt_calc_chksum(pkt, sum); in net_calc_chksum()
677 sum = (sum == 0U) ? 0xffff : htons(sum); in net_calc_chksum()
683 return ~sum; in net_calc_chksum()
690 uint16_t sum; in net_calc_chksum_ipv4() local
692 sum = calc_chksum(0, pkt->buffer->data, in net_calc_chksum_ipv4()
696 sum = (sum == 0U) ? 0xffff : htons(sum); in net_calc_chksum_ipv4()
698 return ~sum; in net_calc_chksum_ipv4()