projects
/
project
/
odhcpd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dhcpv6: fix calculation of T1 and T2
[project/odhcpd.git]
/
src
/
odhcpd.h
diff --git
a/src/odhcpd.h
b/src/odhcpd.h
index
2b7829e
..
c0e509d
100644
(file)
--- a/
src/odhcpd.h
+++ b/
src/odhcpd.h
@@
-61,7
+61,7
@@
extern struct list_head leases;
struct odhcpd_event {
struct uloop_fd uloop;
void (*handle_dgram)(void *addr, void *data, size_t len,
struct odhcpd_event {
struct uloop_fd uloop;
void (*handle_dgram)(void *addr, void *data, size_t len,
- struct interface *iface);
+ struct interface *iface
, void *dest_addr
);
};
};
@@
-118,8
+118,13
@@
struct interface {
// DHCPv4
struct odhcpd_event dhcpv6_event;
struct odhcpd_event dhcpv4_event;
// DHCPv4
struct odhcpd_event dhcpv6_event;
struct odhcpd_event dhcpv4_event;
+ struct odhcpd_event ndp_event;
struct list_head dhcpv4_assignments;
struct list_head dhcpv4_assignments;
+ // Managed PD
+ char dhcpv6_pd_manager[128];
+ struct in6_addr dhcpv6_pd_cer;
+
// Services
enum odhcpd_mode ra;
enum odhcpd_mode dhcpv6;
// Services
enum odhcpd_mode ra;
enum odhcpd_mode dhcpv6;
@@
-133,6
+138,7
@@
struct interface {
bool ignore;
bool always_rewrite_dns;
bool ra_not_onlink;
bool ignore;
bool always_rewrite_dns;
bool ra_not_onlink;
+ bool ra_advrouter;
bool no_dynamic_dhcp;
int learn_routes;
bool no_dynamic_dhcp;
int learn_routes;
@@
-143,6
+149,8
@@
struct interface {
// DHCPv4
struct in_addr dhcpv4_start;
struct in_addr dhcpv4_end;
// DHCPv4
struct in_addr dhcpv4_start;
struct in_addr dhcpv4_end;
+ struct in_addr *dhcpv4_router;
+ size_t dhcpv4_router_cnt;
struct in_addr *dhcpv4_dns;
size_t dhcpv4_dns_cnt;
uint32_t dhcpv4_leasetime;
struct in_addr *dhcpv4_dns;
size_t dhcpv4_dns_cnt;
uint32_t dhcpv4_leasetime;
@@
-153,11
+161,13
@@
struct interface {
uint8_t *search;
size_t search_len;
uint8_t *search;
size_t search_len;
-
char* static_ndp
;
- size_t
static_ndp
_len;
+
void *dhcpv6_raw
;
+ size_t
dhcpv6_raw
_len;
char *upstream;
size_t upstream_len;
char *upstream;
size_t upstream_len;
+
+ char *filter_class;
};
extern struct list_head interfaces;
};
extern struct list_head interfaces;
@@
-169,6
+179,7
@@
extern struct list_head interfaces;
// Exported main functions
int odhcpd_open_rtnl(void);
int odhcpd_register(struct odhcpd_event *event);
// Exported main functions
int odhcpd_open_rtnl(void);
int odhcpd_register(struct odhcpd_event *event);
+void odhcpd_process(struct odhcpd_event *event);
ssize_t odhcpd_send(int socket, struct sockaddr_in6 *dest,
struct iovec *iov, size_t iov_len,
ssize_t odhcpd_send(int socket, struct sockaddr_in6 *dest,
struct iovec *iov, size_t iov_len,