summaryrefslogtreecommitdiffstats
path: root/3rdparty/openpgm-svn-r1135/pgm/source.c.rej
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/openpgm-svn-r1135/pgm/source.c.rej')
-rw-r--r--3rdparty/openpgm-svn-r1135/pgm/source.c.rej17
1 files changed, 17 insertions, 0 deletions
diff --git a/3rdparty/openpgm-svn-r1135/pgm/source.c.rej b/3rdparty/openpgm-svn-r1135/pgm/source.c.rej
new file mode 100644
index 0000000..515f7ec
--- /dev/null
+++ b/3rdparty/openpgm-svn-r1135/pgm/source.c.rej
@@ -0,0 +1,17 @@
+***************
+*** 2295,2301 ****
+ header->pgm_checksum = 0;
+ const size_t pgm_header_len = tpdu_length - ntohs(header->pgm_tsdu_length);
+ uint32_t unfolded_header = pgm_csum_partial (header, pgm_header_len, 0);
+- uint32_t unfolded_odata = pgm_txw_get_unfolded_checksum (skb);
+ header->pgm_checksum = pgm_csum_fold (pgm_csum_block_add (unfolded_header, unfolded_odata, pgm_header_len));
+
+ /* congestion control */
+--- 2295,2301 ----
+ header->pgm_checksum = 0;
+ const size_t pgm_header_len = tpdu_length - ntohs(header->pgm_tsdu_length);
+ uint32_t unfolded_header = pgm_csum_partial (header, pgm_header_len, 0);
++ uint32_t unfolded_odata = pgm_csum_partial (skb->data, ntohs(header->pgm_tsdu_length), 0);
+ header->pgm_checksum = pgm_csum_fold (pgm_csum_block_add (unfolded_header, unfolded_odata, pgm_header_len));
+
+ /* congestion control */