#include "config.h"
#include <netinet/in.h>
#include <unistd.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "dnet.h"
#include "queue.h"
Go to the source code of this file.
Functions | |
static int | _add_ip_intf (const struct intf_entry *entry, void *arg) |
ip_t * | ip_open (void) |
static struct ip_intf * | _lookup_ip_intf (ip_t *ip, ip_addr_t dst) |
static void | _request_arp (struct ip_intf *ipi, struct addr *dst) |
ssize_t | ip_send (ip_t *ip, const void *buf, size_t len) |
ip_t * | ip_close (ip_t *ip) |
|
Definition at line 43 of file ip-cooked.c. References ADDR_TYPE_ETH, ADDR_TYPE_IP, ETH_LEN_MIN, INTF_FLAG_UP, INTF_TYPE_ETH, LIST_INSERT_HEAD, memcpy, NULL, and strlcpy. Referenced by ip_open(). |
|
Definition at line 96 of file ip-cooked.c. References eth_open(), LIST_FIRST, LIST_FOREACH, LIST_INSERT_HEAD, LIST_REMOVE, and NULL. Referenced by ip_send(). |
|
Definition at line 127 of file ip-cooked.c. References ARP_ETHIP_LEN, ARP_HDR_LEN, ARP_OP_REQUEST, arp_pack_hdr_ethip, ETH_ADDR_BROADCAST, ETH_HDR_LEN, eth_pack_hdr, eth_send(), and ETH_TYPE_ARP. Referenced by ip_send(). |
|
Definition at line 223 of file ip-cooked.c. References arp_close(), eth_close(), intf_close(), LIST_END, LIST_FIRST, LIST_NEXT, NULL, and route_close(). |
|
Definition at line 68 of file ip-cooked.c. References _add_ip_intf(), arp_open(), intf_loop(), intf_open(), ip_close(), LIST_INIT, memset, NULL, and route_open(). |
|
Definition at line 141 of file ip-cooked.c. References _lookup_ip_intf(), _request_arp(), addr::addr_bits, addr::addr_type, ADDR_TYPE_IP, ip_handle::arp, arp_get(), arp_entry::arp_ha, arp_entry::arp_pa, errno, ip_intf::eth, ETH_ADDR_LEN, ETH_HDR_LEN, ETH_LEN_MAX, eth_pack_hdr, eth_send(), ETH_TYPE_IP, ip_intf::ha, IP_ADDR_BITS, ip_checksum(), ip_hdr::ip_dst, ip_hdr::ip_hl, ip_hdr::ip_len, IP_MF, ip_hdr::ip_off, memcpy, memset, ip_intf::mtu, NULL, ip_intf::pa, ip_handle::route, route_entry::route_dst, route_get(), and route_entry::route_gw. |