#include <netinet/in.h>
#include <netinet/icmp6.h>
#include <netinet/ether.h>
-#include <net/if.h>
#include <stdbool.h>
#include <syslog.h>
#define ND_OPT_DNS_SEARCH 31
#define RELAYD_BUFFER_SIZE 8192
-#define RELAYD_MAX_PREFIXES 8
-#define RELAYD_MAX_ADDRS 8
#define INFINITE_VALID(x) ((x) == 0)
struct list_head head;
int ifindex;
- char ifname[IF_NAMESIZE];
- char name[IF_NAMESIZE];
+ char *ifname;
+ const char *name;
// Runtime data
struct uloop_timeout timer_rs;
struct list_head ia_assignments;
- struct odhcpd_ipaddr ia_addr[RELAYD_MAX_ADDRS];
+ struct odhcpd_ipaddr *ia_addr;
size_t ia_addr_len;
// DHCPv4
struct iovec *iov, size_t iov_len,
const struct interface *iface);
ssize_t odhcpd_get_interface_addresses(int ifindex,
- struct odhcpd_ipaddr *addrs, size_t cnt);
+ struct odhcpd_ipaddr **addrs);
int odhcpd_get_interface_dns_addr(const struct interface *iface,
struct in6_addr *addr);
struct interface* odhcpd_get_interface_by_name(const char *name);