ndp: fixup relay
[project/odhcpd.git] / src / odhcpd.h
index 21dc99f..729b629 100644 (file)
@@ -186,13 +186,14 @@ ssize_t odhcpd_get_interface_addresses(int ifindex,
                struct odhcpd_ipaddr *addrs, size_t cnt);
 int odhcpd_get_preferred_interface_address(int ifindex, struct in6_addr *addr);
 struct interface* odhcpd_get_interface_by_name(const char *name);
-int odhcpd_get_interface_mtu(const char *ifname);
+int odhcpd_get_interface_config(const char *ifname, const char *what);
 int odhcpd_get_mac(const struct interface *iface, uint8_t mac[6]);
 struct interface* odhcpd_get_interface_by_index(int ifindex);
 struct interface* odhcpd_get_master_interface(void);
 int odhcpd_urandom(void *data, size_t len);
 void odhcpd_setup_route(const struct in6_addr *addr, int prefixlen,
-               const struct interface *iface, const struct in6_addr *gw, bool add);
+               const struct interface *iface, const struct in6_addr *gw,
+               int metric, bool add);
 
 void odhcpd_run(void);
 time_t odhcpd_time(void);
@@ -202,6 +203,10 @@ void odhcpd_hexlify(char *dst, const uint8_t *src, size_t len);
 int odhcpd_bmemcmp(const void *av, const void *bv, size_t bits);
 void odhcpd_bmemcpy(void *av, const void *bv, size_t bits);
 
+int odhcpd_iterate_interface_neighbors(const struct interface *iface,
+               void(*cb_neigh)(const struct in6_addr *addr,
+                               const struct interface *iface, void *data), void *data);
+
 int config_parse_interface(void *data, size_t len, const char *iname, bool overwrite);
 
 #ifdef WITH_UBUS