1 #ifndef _IPXE_NEIGHBOUR_H 2 #define _IPXE_NEIGHBOUR_H 33 const void *net_dest,
const void *net_source );
80 const void *net_source,
const void *ll_source );
83 const void *net_dest,
const void *ll_dest );
86 const void *net_dest,
const void *ll_dest );
uint8_t net_dest[MAX_NET_ADDR_LEN]
Network-layer destination address.
struct net_protocol * net_protocol
Network-layer protocol.
struct retry_timer timer
Retransmission timer.
A neighbour discovery protocol.
A doubly-linked list entry (or list head)
int neighbour_update(struct net_device *netdev, struct net_protocol *net_protocol, const void *net_dest, const void *ll_dest)
Update existing neighbour cache entry.
struct list_head neighbours
The neighbour cache.
struct list_head list
List of neighbour cache entries.
int(* tx_request)(struct net_device *netdev, struct net_protocol *net_protocol, const void *net_dest, const void *net_source)
Transmit neighbour discovery request.
#define MAX_LL_ADDR_LEN
Maximum length of a link-layer address.
struct neighbour_discovery * discovery
Neighbour discovery protocol (if any)
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
static struct net_device * netdev
struct list_head tx_queue
Pending I/O buffers.
uint8_t ll_dest[MAX_LL_ADDR_LEN]
Link-layer destination address.
int neighbour_define(struct net_device *netdev, struct net_protocol *net_protocol, const void *net_dest, const void *ll_dest)
Define neighbour cache entry.
A network-layer protocol.
Network device management.
struct net_device * netdev
Network device.
#define MAX_NET_ADDR_LEN
Maximum length of a network-layer address.
int neighbour_tx(struct io_buffer *iobuf, struct net_device *netdev, struct net_protocol *net_protocol, const void *net_dest, struct neighbour_discovery *discovery, const void *net_source, const void *ll_source)
Transmit packet, determining link-layer address via neighbour discovery.
uint8_t net_source[MAX_NET_ADDR_LEN]
Network-layer source address (if any)
static int neighbour_has_ll_dest(struct neighbour *neighbour)
Test if neighbour cache entry has a valid link-layer address.