aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrant Erickson <gerickson@nuovations.com>2023-12-06 11:03:42 -0800
committerMarcel Holtmann <marcel@holtmann.org>2023-12-08 01:55:44 +0100
commit39652d36b32f71d4a27b3e291b213b60c1cd9d41 (patch)
tree5c191da305e4d02f08c374323c656b9fc09f8c32
parentb75aebffb6ca12ad0b45314418cfedf0ea963eff (diff)
downloadconnman-39652d36b32f71d4a27b3e291b213b60c1cd9d41.tar.gz
connection: Document 'gateway_data'.
This adds documentation to the 'gateway_data' structure.
-rw-r--r--src/connection.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/connection.c b/src/connection.c
index 04a336e0b..d575e514e 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -243,11 +243,43 @@ struct gateway_config {
char *vpn_phy_ip;
};
+/**
+ * The key data structure used to associate a network service with a
+ * gateway, or default router.
+ */
struct gateway_data {
+ /**
+ * The network interface index associated with the underlying
+ * network interface for the assigned @a service field.
+ */
int index;
+
+ /**
+ * A strong (that is, uses #connman_service_{ref,unref})
+ * reference to the network service associated with this gateway.
+ */
struct connman_service *service;
+
+ /**
+ * An optional weak reference to dynamically-allocated storage
+ * for the gateway-specific configuration, if the gateway is IPv4.
+ */
struct gateway_config *ipv4_config;
+
+ /**
+ * An optional weak reference to dynamically-allocated storage
+ * for the gateway-specific configuration, if the gateway is IPv6.
+ */
struct gateway_config *ipv6_config;
+
+ /**
+ * A Boolean indicating whether this gateway / network interface
+ * index tuple has been handled by the #connman_rtnl @a
+ * newgateway Linux Routing Netlink (rtnl) new gateway listener
+ * method and, specifically, whether that method has checked a
+ * new, incoming gateway against the current gateway / default
+ * router.
+ */
bool default_checked;
};