mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-10-27 12:48:22 +00:00
net: remove doarp flag from netdev
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user