From d9638539eb82b74d9efc7abb0d71b2deb68a2547 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Thu, 10 Aug 2017 12:34:23 +0200 Subject: some renamed in ethernet/rtl8139 don't try tp play with the ethernet CRCs, they belong to layer 2 OSI, the firmware of the network card rtl8139: computing packet size correctly (sizeof uint32_t of the CRC was part of the payload len) --- src/kernel/kernel.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/kernel/kernel.c') diff --git a/src/kernel/kernel.c b/src/kernel/kernel.c index 0b10f45..d91c5d6 100644 --- a/src/kernel/kernel.c +++ b/src/kernel/kernel.c @@ -461,8 +461,8 @@ void handle_network_event( network_event_t *event, void *context ) char src_mac_addr[NETWORK_ETHERNET_MAC_ADDR_STRING]; char dst_mac_addr[NETWORK_ETHERNET_MAC_ADDR_STRING]; - network_mac_address_to_string( packet->header.src_addr, src_mac_addr, NETWORK_ETHERNET_MAC_ADDR_STRING ); - network_mac_address_to_string( packet->header.dst_addr, dst_mac_addr, NETWORK_ETHERNET_MAC_ADDR_STRING ); + ethernet_mac_address_to_string( packet->header.src_addr, src_mac_addr, NETWORK_ETHERNET_MAC_ADDR_STRING ); + ethernet_mac_address_to_string( packet->header.dst_addr, dst_mac_addr, NETWORK_ETHERNET_MAC_ADDR_STRING ); printf( "NETWORK DATA: src: %s, dst: %s, len: %d, type: %X\n", src_mac_addr, dst_mac_addr, event->buf.length, @@ -473,8 +473,8 @@ void handle_network_event( network_event_t *event, void *context ) char src_ip[NETWORK_PROTOCOL_IPV4_ADDR_STRING]; char dst_ip[NETWORK_PROTOCOL_IPV4_ADDR_STRING]; - network_mac_address_to_string( arp->source_hardware_address, src_mac_addr, NETWORK_ETHERNET_MAC_ADDR_STRING ); - network_mac_address_to_string( arp->destination_hardware_address, dst_mac_addr, NETWORK_ETHERNET_MAC_ADDR_STRING ); + ethernet_mac_address_to_string( arp->source_hardware_address, src_mac_addr, NETWORK_ETHERNET_MAC_ADDR_STRING ); + ethernet_mac_address_to_string( arp->destination_hardware_address, dst_mac_addr, NETWORK_ETHERNET_MAC_ADDR_STRING ); network_ipv4_address_to_string( arp->source_protocol_address, src_ip, NETWORK_PROTOCOL_IPV4_ADDR_STRING ); network_ipv4_address_to_string( arp->destination_protocol_address, dst_ip, NETWORK_PROTOCOL_IPV4_ADDR_STRING ); @@ -489,6 +489,9 @@ void handle_network_event( network_event_t *event, void *context ) arp->operation = ARP_OPERATION_ANSWER; arp->destination_hardware_address = arp->source_hardware_address; arp->source_hardware_address = global_context.network->mac_address; + network_ipv4_address_t tmp = arp->destination_protocol_address; + arp->destination_protocol_address = arp->source_protocol_address; + arp->source_protocol_address = tmp; ((network_vtable_t *)( global_context.network->base.vtable ))->write( global_context.network, event->buf ); } -- cgit v1.2.3-54-g00ecf