11#include <net/ipv4.h>
22#include <net/arp.h>
33#include <stdio.h>
4- #include <memory/vmm.h>
54#include <string.h>
65
7- #include <memory/vmm .h>
6+ #include <memory/heap .h>
87#include <string.h>
98#include <config.h>
109#ifdef NETWORK_STACK
1110
1211void ipv4_register (network_stack_t * stack , ipv4_handler_t handler ) {
13- stack -> ipv4 -> handlers = vmm_resize ( sizeof ( ipv4_handler_t ), stack -> ipv4 -> num_handlers , stack -> ipv4 -> num_handlers + 1 , stack -> ipv4 -> handlers );
12+ stack -> ipv4 -> handlers = krealloc ( stack -> ipv4 -> handlers , sizeof ( ipv4_handler_t ) * ( stack -> ipv4 -> num_handlers + 1 ) );
1413 stack -> ipv4 -> handlers [stack -> ipv4 -> num_handlers ] = handler ;
1514 stack -> ipv4 -> num_handlers ++ ;
1615}
@@ -33,7 +32,7 @@ mac_u ipv4_resolve_route(network_stack_t* stack, async_t* async, ip_u dest_ip) {
3332}
3433
3534void ipv4_send (ipv4_handler_t * handler , network_stack_t * stack , ip_u dest_ip , mac_u route , uint8_t * payload , uint32_t size ) {
36- uint8_t * buffer = vmm_alloc (( size + sizeof (ipv4_message_t )) / 0x1000 + 1 );
35+ uint8_t * buffer = kmalloc ( size + sizeof (ipv4_message_t ));
3736 memset (buffer , 0 , size + sizeof (ipv4_message_t ));
3837 ipv4_message_t * ipv4 = (ipv4_message_t * ) buffer ;
3938
@@ -60,7 +59,7 @@ void ipv4_send(ipv4_handler_t* handler, network_stack_t* stack, ip_u dest_ip, ma
6059
6160 etherframe_send (& stack -> ipv4 -> handler , stack , route .mac , buffer , size + sizeof (ipv4_message_t ));
6261
63- vmm_free (buffer , ( size + sizeof ( ipv4_message_t )) / 0x1000 + 1 );
62+ kfree (buffer );
6463}
6564
6665void ipv4_etherframe_recv (struct ether_frame_handler * handler , mac_u src_mac , uint8_t * payload , uint32_t size ) {
@@ -117,7 +116,7 @@ uint16_t ipv4_checksum(uint16_t* data, uint32_t size) {
117116}
118117
119118void ipv4_init (network_stack_t * stack ) {
120- stack -> ipv4 = vmm_alloc ( PAGES_OF (ipv4_provider_t ));
119+ stack -> ipv4 = kmalloc ( sizeof (ipv4_provider_t ));
121120 memset (stack -> ipv4 , 0 , sizeof (ipv4_provider_t ));
122121
123122 stack -> ipv4 -> handler .ether_type_be = BSWAP16 (0x0800 );
0 commit comments