net: remove doarp flag from netdev

This commit is contained in:
Matheus
2024-04-10 19:53:42 -03:00
parent 231eb98375
commit 4a15120f7a
4 changed files with 3 additions and 8 deletions
-1
View File
@@ -29,7 +29,6 @@ typedef struct netdev_t {
size_t mtu;
uint32_t ip;
hashtable_t arpcache;
bool doarp;
int (*allocdesc)(size_t requestedsize, netdesc_t *desc);
int (*sendpacket)(struct netdev_t *_internal, netdesc_t desc, mac_t targetmac, int proto);
} netdev_t;
+3 -5
View File
@@ -168,11 +168,9 @@ int ipv4_sendpacket(void *buffer, size_t packetsize, uint32_t ip, int proto, net
if (entry.netdev == NULL)
return 0; // if a packet can't be routed to anywhere just pretend it was sent somewhere
if (entry.netdev->doarp) {
int error = arp_lookup(entry.netdev, entry.gateway ? entry.gateway : ip, &mac);
if (error)
return error;
}
int error = arp_lookup(entry.netdev, entry.gateway ? entry.gateway : ip, &mac);
if (error)
return error;
netdev = entry.netdev;
} else {
-1
View File
@@ -51,7 +51,6 @@ void loopback_init() {
loopbacknetdev.sendpacket = loopback_sendpacket;
loopbacknetdev.allocdesc = loopback_allocdesc;
loopbacknetdev.ip = 0x7f000001;
loopbacknetdev.doarp = false;
__assert(hashtable_init(&loopbacknetdev.arpcache, 30) == 0);
for (int i = 0; i < 6; ++i)
-1
View File
@@ -179,7 +179,6 @@ int vionet_newdevice(viodevice_t *viodevice) {
netdev->netdev.mtu = 1500;
netdev->netdev.sendpacket = vionet_sendpacket;
netdev->netdev.allocdesc = vionet_allocdesc;
netdev->netdev.doarp = true;
__assert(hashtable_init(&netdev->netdev.arpcache, 30) == 0);
// initialize queues