summaryrefslogtreecommitdiff
path: root/src/ra.c
diff options
context:
space:
mode:
authorHans Dedecker <dedeckeh@gmail.com>2013-10-23 12:04:38 +0000
committerSteven Barth <steven@midlink.org>2013-10-23 19:22:01 +0200
commitd77cbea57d1b7dd9c25421bb13c90e65bb54a6bc (patch)
tree2febdfc6997d785c8b233433f7d20d298f459f9a /src/ra.c
parent0c764d13ba834d6be53c4312007584613dec3a1e (diff)
downloadodhcp6c-d77cbea57d1b7dd9c25421bb13c90e65bb54a6bc.tar.gz
odhpc6c: status code support in reply
The patch implements support for status code handling in reply messages as described in RFC3313 paragraph 18.1.8. The client will *log the status codes returned by the client *send a request if no binding status code is returned for a given IA *send further renew/rebind if the IA was not present in the reply *terminate message exchange when no prefix/no address status code is returned in reponse to a request *terminate message exchange when unspec fail status code is returned *calculate t1/t2/t3 when all IA's have been processed and based on recorded t1/t2/valid timer values per IA Without this patch I have seen issues with request messages send without any IA_PD/IA_NA and t1/t2/t3 timer values which were not correct. These changes have been tested intensive against an ISC DHCPv6 server Signed-off-by: Hans Dedecker <hans.dedecker@gmail.com>
Diffstat (limited to 'src/ra.c')
-rw-r--r--src/ra.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ra.c b/src/ra.c
index f41602a..c870279 100644
--- a/src/ra.c
+++ b/src/ra.c
@@ -123,7 +123,7 @@ bool ra_process(void)
bool changed = false;
uint8_t buf[1500], cmsg_buf[128];
struct nd_router_advert *adv = (struct nd_router_advert*)buf;
- struct odhcp6c_entry entry = {IN6ADDR_ANY_INIT, 0, 0, IN6ADDR_ANY_INIT, 0, 0, 0};
+ struct odhcp6c_entry entry = {IN6ADDR_ANY_INIT, 0, 0, IN6ADDR_ANY_INIT, 0, 0, 0, 0, 0};
const struct in6_addr any = IN6ADDR_ANY_INIT;
if (IN6_IS_ADDR_UNSPECIFIED(&lladdr)) {