summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--README1
-rw-r--r--src/config.c5
-rw-r--r--src/dhcpv6-ia.c10
-rw-r--r--src/odhcpd.h1
-rw-r--r--src/router.c5
5 files changed, 0 insertions, 22 deletions
diff --git a/README b/README
index 72a2674..0d59952 100644
--- a/README
+++ b/README
@@ -93,7 +93,6 @@ leasetime string 12h DHCPv4 address leasetime
start integer 100 DHCPv4 pool start
limit integer 150 DHCPv4 pool size
-ula_compat bool 0 Announce ULA in compat mode
ra_default integer 0 Override default route
0: default, 1: ignore no public address, 2: ignore all
ra_management integer 1 RA management mode
diff --git a/src/config.c b/src/config.c
index ed80bef..38a3e7a 100644
--- a/src/config.c
+++ b/src/config.c
@@ -32,7 +32,6 @@ enum {
IFACE_ATTR_NDP,
IFACE_ATTR_DNS,
IFACE_ATTR_DOMAIN,
- IFACE_ATTR_ULA_COMPAT,
IFACE_ATTR_RA_DEFAULT,
IFACE_ATTR_RA_MANAGEMENT,
IFACE_ATTR_RA_OFFLINK,
@@ -60,7 +59,6 @@ static const struct blobmsg_policy iface_attrs[IFACE_ATTR_MAX] = {
[IFACE_ATTR_NDP] = { .name = "ndp", .type = BLOBMSG_TYPE_STRING },
[IFACE_ATTR_DNS] = { .name = "dns", .type = BLOBMSG_TYPE_ARRAY },
[IFACE_ATTR_DOMAIN] = { .name = "domain", .type = BLOBMSG_TYPE_ARRAY },
- [IFACE_ATTR_ULA_COMPAT] = { .name = "ula_compat", .type = BLOBMSG_TYPE_BOOL },
[IFACE_ATTR_RA_DEFAULT] = { .name = "ra_default", .type = BLOBMSG_TYPE_INT32 },
[IFACE_ATTR_RA_MANAGEMENT] = { .name = "ra_management", .type = BLOBMSG_TYPE_INT32 },
[IFACE_ATTR_RA_OFFLINK] = { .name = "ra_offlink", .type = BLOBMSG_TYPE_BOOL },
@@ -448,9 +446,6 @@ int config_parse_interface(void *data, size_t len, const char *name, bool overwr
}
}
- if ((c = tb[IFACE_ATTR_ULA_COMPAT]))
- iface->deprecate_ula_if_public_avail = blobmsg_get_bool(c);
-
if ((c = tb[IFACE_ATTR_RA_DEFAULT]))
iface->default_router = blobmsg_get_u32(c);
diff --git a/src/dhcpv6-ia.c b/src/dhcpv6-ia.c
index bdaa3da..3d6b786 100644
--- a/src/dhcpv6-ia.c
+++ b/src/dhcpv6-ia.c
@@ -552,10 +552,6 @@ static size_t append_reply(uint8_t *buf, size_t buflen, uint16_t status,
if (a) {
uint32_t pref = 3600;
uint32_t valid = 3600;
- bool have_non_ula = false;
- for (size_t i = 0; i < iface->ia_addr_len; ++i)
- if ((iface->ia_addr[i].addr.s6_addr[0] & 0xfe) != 0xfc)
- have_non_ula = true;
for (size_t i = 0; i < iface->ia_addr_len; ++i) {
bool match = true;
@@ -580,12 +576,6 @@ static size_t append_reply(uint8_t *buf, size_t buflen, uint16_t status,
iface->ia_addr[i].preferred <= (uint32_t)now)
continue;
- // ULA-deprecation compatibility workaround
- if ((iface->ia_addr[i].addr.s6_addr[0] & 0xfe) == 0xfc &&
- a->length == 128 && have_non_ula &&
- iface->deprecate_ula_if_public_avail)
- continue;
-
if (prefix_pref > 86400)
prefix_pref = 86400;
diff --git a/src/odhcpd.h b/src/odhcpd.h
index 727c638..77376cb 100644
--- a/src/odhcpd.h
+++ b/src/odhcpd.h
@@ -130,7 +130,6 @@ struct interface {
bool master;
bool ignore;
bool always_rewrite_dns;
- bool deprecate_ula_if_public_avail;
bool ra_not_onlink;
bool no_dynamic_dhcp;
diff --git a/src/router.c b/src/router.c
index 7b81f71..a75b847 100644
--- a/src/router.c
+++ b/src/router.c
@@ -345,11 +345,6 @@ static void send_router_advert(struct uloop_timeout *event)
adv.h.nd_ra_router_lifetime = 0;
}
- if (have_public && iface->deprecate_ula_if_public_avail)
- for (size_t i = 0; i < cnt; ++i)
- if ((adv.prefix[i].nd_opt_pi_prefix.s6_addr[0] & 0xfe) == 0xfc)
- adv.prefix[i].nd_opt_pi_preferred_time = 0;
-
// DNS Recursive DNS
if (iface->dns_cnt > 0) {
dns_addr = iface->dns;