aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrant Erickson <erick205@umn.edu>2023-12-04 17:39:42 -0800
committerMarcel Holtmann <marcel@holtmann.org>2023-12-08 01:55:44 +0100
commite4a194fc10c0a79940a4632bbc7960500ac9ae5c (patch)
tree607ae0298573950fa97b78e956a2bc6268e3cba3
parentda70292ccb6a138b8dfdb243aeba9d6bf6e5b158 (diff)
downloadconnman-e4a194fc10c0a79940a4632bbc7960500ac9ae5c.tar.gz
inet: Document '__connman_inet_{add,del}_default_{to,from}_table_with_metric'.
This adds documentation to the '__connman_inet_{add,del}_default_{to,from}_table_with_metric' functions.
-rw-r--r--src/inet.c66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/inet.c b/src/inet.c
index 3270a854e..31596a76a 100644
--- a/src/inet.c
+++ b/src/inet.c
@@ -3382,6 +3382,39 @@ int __connman_inet_add_default_to_table(uint32_t table_id, int ifindex,
gateway, prefixlen);
}
+/**
+ * @brief
+ * Add a gateway default route with metric/priority.
+ *
+ * This attempts to add a gateway default route to the kernel routing
+ * table, @a table_id, using a Linux Route Netlink (rtnl) socket and
+ * protocol with the specified attributes, including an explicit
+ * metric/prioity from the range [0, UINT32_MAX].
+ *
+ * @param[in] table_id The table to add this route to.
+ * @param[in] ifindex The network interface index associated with
+ * the output network device for the route.
+ * @param[in] gateway A pointer to an immutable null-terminated C
+ * string containing the IPv4 or IPv6 address,
+ * in text form, of the route destination or
+ * next hop gateway address.
+ * @param[in] metric The routing priority metric for the route.
+ *
+ * @retval 0 If successful.
+ * @retval -EINVAL If the address family of @a gateway was not AF_INET
+ * (IPv4) or AF_INET6 (IPv6), if @a gateway does not
+ * contain a character string representing a valid
+ * network address in either the AF_INET or
+ * AF_INET6 family, or if the routing information
+ * to be deleted was invalid.
+ * @retval -EFAULT If the address to the routing information to be
+ * deleted was invalid.
+ * @retval -EPERM If the current process does not have the
+ * credentials or capabilities to delete routes.
+ * @retval -EEXIST A request was made to add an existing routing
+ * entry.
+ *
+ */
int __connman_inet_add_default_to_table_with_metric(uint32_t table_id,
int ifindex,
const char *gateway,
@@ -3453,6 +3486,39 @@ int __connman_inet_del_default_from_table(uint32_t table_id, int ifindex,
gateway, prefixlen);
}
+/**
+ * @brief
+ * Delete a gateway default route with metric/priority.
+ *
+ * This attempts to delete a gateway default route from the kernel
+ * routing table, @a table_id, using a Linux Route Netlink (rtnl)
+ * socket and protocol with the specified attributes, including an
+ * explicit metric/prioity from the range [0, UINT32_MAX].
+ *
+ * @param[in] table_id The table to delete this route from.
+ * @param[in] ifindex The network interface index associated with
+ * the output network device for the route.
+ * @param[in] gateway A pointer to an immutable null-terminated C
+ * string containing the IPv4 or IPv6 address,
+ * in text form, of the route destination or
+ * next hop gateway address.
+ * @param[in] metric The routing priority metric for the route.
+ *
+ * @retval 0 If successful.
+ * @retval -EINVAL If the address family of @a gateway was not AF_INET
+ * (IPv4) or AF_INET6 (IPv6), if @a gateway does not
+ * contain a character string representing a valid
+ * network address in either the AF_INET or
+ * AF_INET6 family, or if the routing information
+ * to be deleted was invalid.
+ * @retval -EFAULT If the address to the routing information to be
+ * deleted was invalid.
+ * @retval -EPERM If the current process does not have the
+ * credentials or capabilities to delete routes.
+ * @retval -ESRCH A request was made to delete a non-existing
+ * routing entry.
+ *
+ */
int __connman_inet_del_default_from_table_with_metric(uint32_t table_id,
int ifindex,
const char *gateway,