aboutsummaryrefslogtreecommitdiff
path: root/src/net/ipv4.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/ipv4.c')
-rw-r--r--src/net/ipv4.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/net/ipv4.c b/src/net/ipv4.c
index 7959cf3..8eb04a6 100644
--- a/src/net/ipv4.c
+++ b/src/net/ipv4.c
@@ -358,8 +358,11 @@ static int ipv4_tx ( struct io_buffer *iobuf,
( ( netdev->rx_stats.good & 0xf ) << 0 ) );
/* Fix up checksums */
- if ( trans_csum )
+ if ( trans_csum ) {
*trans_csum = ipv4_pshdr_chksum ( iobuf, *trans_csum );
+ if ( ! *trans_csum )
+ *trans_csum = tcpip_protocol->zero_csum;
+ }
iphdr->chksum = tcpip_chksum ( iphdr, sizeof ( *iphdr ) );
/* Print IP4 header for debugging */