received
RFC4191 – Section 2.3 Route Information Option's Prf field:
If the Reserved (10) value is received, the Route Information Option MUST be ignored.
if (r < 0)
return r;
- *ret = (ri[3] >> 3) & 3;
- if (!IN_SET(*ret, SD_NDISC_PREFERENCE_LOW, SD_NDISC_PREFERENCE_HIGH))
- *ret = SD_NDISC_PREFERENCE_MEDIUM;
+ if (!IN_SET((ri[3] >> 3) & 3, SD_NDISC_PREFERENCE_LOW, SD_NDISC_PREFERENCE_MEDIUM, SD_NDISC_PREFERENCE_HIGH))
+ return -ENOTSUP;
+ *ret = (ri[3] >> 3) & 3;
return 0;
}
}
r = sd_ndisc_router_route_get_preference(rt, &preference);
+ if (r == -ENOTSUP) {
+ log_link_debug_errno(link, r, "Received route prefix with unsupported preference, ignoring: %m");
+ return 0;
+ }
if (r < 0)
return log_link_warning_errno(link, r, "Failed to get default router preference from RA: %m");