diff options
Diffstat (limited to 'src/router.h')
-rw-r--r-- | src/router.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/router.h b/src/router.h index 1e8649c..8d74967 100644 --- a/src/router.h +++ b/src/router.h @@ -20,15 +20,25 @@ struct icmpv6_opt { uint8_t type; uint8_t len; - uint8_t data[6]; }; +struct nd_opt_slla { + uint8_t type; + uint8_t len; + uint8_t addr[6]; +}; + +struct nd_opt_recursive_dns { + uint8_t type; + uint8_t len; + uint8_t pad; + uint8_t pad2; + uint32_t lifetime; +}; #define icmpv6_for_each_option(opt, start, end)\ for (opt = (struct icmpv6_opt*)(start);\ - (void*)(opt + 1) <= (void*)(end) && opt->len > 0 &&\ - (void*)(opt + opt->len) <= (void*)(end); opt += opt->len) - + (void*)(opt + (opt->len << 3)) <= (void*)(end); opt += (opt->len << 3)) #define MaxRtrAdvInterval 600 #define MinRtrAdvInterval (MaxRtrAdvInterval / 3) |