From cf6f5bb5584382732b6c5abdabd4d8519e6352c0 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 27 Nov 2018 12:09:52 +0100 Subject: [PATCH] network: add sd_dhcp_route_get_option() accessor Since sd_dhcp_lease_get_routes() returns the list of all routes, the caller may need to differenciate whether the route was option 33 (static-routes) or 121 (classless-static-route). Add an accessor for the internal field. --- src/libsystemd-network/sd-dhcp-lease.c | 6 ++++++ src/systemd/sd-dhcp-lease.h | 1 + 2 files changed, 7 insertions(+) diff --git a/src/libsystemd-network/sd-dhcp-lease.c b/src/libsystemd-network/sd-dhcp-lease.c index a90c01d7db..c2455c7133 100644 --- a/src/libsystemd-network/sd-dhcp-lease.c +++ b/src/libsystemd-network/sd-dhcp-lease.c @@ -1299,3 +1299,9 @@ int sd_dhcp_route_get_gateway(sd_dhcp_route *route, struct in_addr *gateway) { *gateway = route->gw_addr; return 0; } + +int sd_dhcp_route_get_option(sd_dhcp_route *route) { + assert_return(route, -EINVAL); + + return route->option; +} diff --git a/src/systemd/sd-dhcp-lease.h b/src/systemd/sd-dhcp-lease.h index 2a60145f5b..4875f10555 100644 --- a/src/systemd/sd-dhcp-lease.h +++ b/src/systemd/sd-dhcp-lease.h @@ -57,6 +57,7 @@ int sd_dhcp_lease_get_timezone(sd_dhcp_lease *lease, const char **timezone); int sd_dhcp_route_get_destination(sd_dhcp_route *route, struct in_addr *destination); int sd_dhcp_route_get_destination_prefix_length(sd_dhcp_route *route, uint8_t *length); int sd_dhcp_route_get_gateway(sd_dhcp_route *route, struct in_addr *gateway); +int sd_dhcp_route_get_option(sd_dhcp_route *route); _SD_DEFINE_POINTER_CLEANUP_FUNC(sd_dhcp_lease, sd_dhcp_lease_unref); -- 2.25.1