the TAP IP was the same as the microtcp instance, which wasn't right. Now the TAP is at 10.0.0.5 and the TCP at 10.0.0.4; fixed some bugs in the TCP state machine and made it so it always ACKs; fixed TCP checksum calculation

This commit is contained in:
cozis
2023-05-20 21:50:47 +02:00
parent ad65c26035
commit a272e8601e
9 changed files with 110 additions and 90 deletions
+1
View File
@@ -206,6 +206,7 @@ int ip_send_2(ip_state_t *state, ip_protocol_t protocol, ip_address_t dst,
packet->checksum = calculate_checksum_ip((uint16_t*) packet, 4 * header_length);
// Sending updates the [state->output_ptr] and [state->output_len]
IP_DEBUG_LOG("sending %d", sizeof(ip_packet_t) + considered_payload);
state->send(state->send_data, dst, sizeof(ip_packet_t) + considered_payload);
managed_payload += considered_payload;