Skip to content

Commit 6dcb156

Browse files
committed
ND Route Information Option prefix is optional
As the length could be zero and is RFC compliant. Fixes #527.
1 parent 4b7065a commit 6dcb156

3 files changed

Lines changed: 3 additions & 3 deletions

File tree

src/dhcpcd-definitions-small.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ embed byte length
7474
# bits 4 and 5 are route preference
7575
embed bitflags=00011 prf
7676
embed uint32 lifetime
77-
embed truncated ip6address prefix
77+
embed optional truncated ip6address prefix
7878

7979
# ND6 options, RFC6101
8080
definend 25 index embed rdnss

src/dhcpcd-definitions.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,7 @@ embed byte length
417417
# bits 4 and 5 are route preference
418418
embed bitflags=00011 prf
419419
embed uint32 lifetime
420-
embed truncated ip6address prefix
420+
embed optional truncated ip6address prefix
421421

422422
# ND6 options, RFC6101
423423
definend 25 index embed rdnss

src/if-options.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2093,7 +2093,7 @@ parse_option(struct dhcpcd_ctx *ctx, const char *ifname, struct if_options *ifo,
20932093
t |= OT_RESERVED;
20942094
}
20952095
}
2096-
if (t & OT_TRUNCATED && t != (OT_ADDRIPV6 | OT_TRUNCATED)) {
2096+
if (t & OT_TRUNCATED && !(t & OT_ADDRIPV6)) {
20972097
logerrx("truncated only works for ip6address");
20982098
return -1;
20992099
}

0 commit comments

Comments
 (0)