2 * Copyright (c) 2017 ETH Zurich.
5 * This file is distributed under the terms in the attached LICENSE file.
6 * If you do not find this file, copies can be found by writing to:
7 * ETH Zurich D-INFK, Universitaetstr. 6, CH-8092 Zurich. Attn: Systems Group.
13 #include <barrelfish/barrelfish.h>
21 struct __attribute__((packed)) eth_addr {
26 * @param q ip queue to destroy
28 errval_t ip_destroy(struct ip_q* q);
31 * @brief initalized a queue that can send IP packets with a certain requirements.
32 * all other packets received on this queue will be dropped.
34 * @param q ip queue return value
35 * @param card_name the card name from which a hardware queue will be used
36 * to send IP packets. Internally a queue to the device with
37 * the card_name will be initalized
38 * @param qid the id of the hardware queue (used for filters)
39 * @param prot The protocol that is running on top of IP
40 * @param dst_ip Destination IP
41 * @param interrupt Interrupt handler
42 * @param poll If the queue is polled or should use interrupts
45 errval_t ip_create(struct ip_q** q, const char* card_name, uint64_t* qid,
46 uint8_t prot, uint32_t dst_ip, void(*interrupt)(void*),
48 #endif /* DEVIF_IP_H_ */