network: add io.systemd.Network.Link.Describe() Varlink method
The handler returns the JSON produced by link_build_json(). Co-developed-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
#include "bus-polkit.h"
|
||||
#include "json-util.h"
|
||||
#include "networkd-dhcp4.h"
|
||||
#include "networkd-json.h"
|
||||
#include "networkd-link.h"
|
||||
#include "networkd-link-varlink.h"
|
||||
#include "networkd-manager.h"
|
||||
@@ -67,6 +68,27 @@ int dispatch_link(sd_varlink *vlink, sd_json_variant *parameters, Manager *manag
|
||||
return 0;
|
||||
}
|
||||
|
||||
int vl_method_link_describe(sd_varlink *vlink, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata) {
|
||||
_cleanup_(sd_json_variant_unrefp) sd_json_variant *v = NULL;
|
||||
Manager *manager = ASSERT_PTR(userdata);
|
||||
Link *link;
|
||||
int r;
|
||||
|
||||
assert(vlink);
|
||||
|
||||
r = dispatch_link(vlink, parameters, manager, DISPATCH_LINK_MANDATORY, &link);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
r = link_build_json(link, &v);
|
||||
if (r < 0)
|
||||
return log_link_error_errno(link, r, "Failed to format JSON data: %m");
|
||||
|
||||
return sd_varlink_replybo(
|
||||
vlink,
|
||||
SD_JSON_BUILD_PAIR_VARIANT("Interface", v));
|
||||
}
|
||||
|
||||
static int vl_method_link_up_or_down(sd_varlink *vlink, sd_json_variant *parameters, Manager *manager, bool up) {
|
||||
Link *link;
|
||||
int r;
|
||||
|
||||
@@ -10,6 +10,7 @@ typedef enum DispatchLinkFlag {
|
||||
|
||||
int dispatch_link(sd_varlink *vlink, sd_json_variant *parameters, Manager *manager, DispatchLinkFlag flags, Link **ret);
|
||||
|
||||
int vl_method_link_describe(sd_varlink *vlink, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata);
|
||||
int vl_method_link_up(sd_varlink *vlink, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata);
|
||||
int vl_method_link_down(sd_varlink *vlink, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata);
|
||||
int vl_method_link_renew(sd_varlink *vlink, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata);
|
||||
|
||||
@@ -303,6 +303,7 @@ int manager_varlink_init(Manager *m, int fd) {
|
||||
"io.systemd.Network.GetNamespaceId", vl_method_get_namespace_id,
|
||||
"io.systemd.Network.GetLLDPNeighbors", vl_method_get_lldp_neighbors,
|
||||
"io.systemd.Network.SetPersistentStorage", vl_method_set_persistent_storage,
|
||||
"io.systemd.Network.Link.Describe", vl_method_link_describe,
|
||||
"io.systemd.Network.Link.Up", vl_method_link_up,
|
||||
"io.systemd.Network.Link.Down", vl_method_link_down,
|
||||
"io.systemd.Network.Link.Renew", vl_method_link_renew,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
#include "bus-polkit.h"
|
||||
#include "varlink-io.systemd.Network.h"
|
||||
#include "varlink-io.systemd.Network.Link.h"
|
||||
|
||||
#define VARLINK_NETWORK_INTERFACE_INPUTS \
|
||||
@@ -9,6 +10,12 @@
|
||||
SD_VARLINK_FIELD_COMMENT("Name of the interface. If specified together with InterfaceIndex, both must reference the same link."), \
|
||||
SD_VARLINK_DEFINE_INPUT(InterfaceName, SD_VARLINK_STRING, SD_VARLINK_NULLABLE)
|
||||
|
||||
static SD_VARLINK_DEFINE_METHOD(
|
||||
Describe,
|
||||
VARLINK_NETWORK_INTERFACE_INPUTS,
|
||||
SD_VARLINK_FIELD_COMMENT("Interface description"),
|
||||
SD_VARLINK_DEFINE_OUTPUT_BY_TYPE(Interface, Interface, 0));
|
||||
|
||||
static SD_VARLINK_DEFINE_METHOD(
|
||||
Up,
|
||||
VARLINK_NETWORK_INTERFACE_INPUTS,
|
||||
@@ -46,4 +53,33 @@ SD_VARLINK_DEFINE_INTERFACE(
|
||||
SD_VARLINK_SYMBOL_COMMENT("Force-renew DHCP server leases on the specified link."),
|
||||
&vl_method_ForceRenew,
|
||||
SD_VARLINK_SYMBOL_COMMENT("Unconditionally reconfigure the specified link."),
|
||||
&vl_method_Reconfigure);
|
||||
&vl_method_Reconfigure,
|
||||
SD_VARLINK_SYMBOL_COMMENT("Describe the specified link by index or name."),
|
||||
&vl_method_Describe,
|
||||
&vl_type_Address,
|
||||
&vl_type_BitRates,
|
||||
&vl_type_DHCPLease,
|
||||
&vl_type_DHCPServer,
|
||||
&vl_type_DHCPServerLease,
|
||||
&vl_type_DHCPv6Client,
|
||||
&vl_type_DHCPv6ClientPD,
|
||||
&vl_type_DHCPv6ClientVendorOption,
|
||||
&vl_type_DNS,
|
||||
&vl_type_DNSSECNegativeTrustAnchor,
|
||||
&vl_type_DNSSetting,
|
||||
&vl_type_Domain,
|
||||
&vl_type_Interface,
|
||||
&vl_type_LinkState,
|
||||
&vl_type_LinkAddressState,
|
||||
&vl_type_LinkOnlineState,
|
||||
&vl_type_LinkRequiredAddressFamily,
|
||||
&vl_type_LLDPNeighbor,
|
||||
&vl_type_NDisc,
|
||||
&vl_type_Neighbor,
|
||||
&vl_type_NextHop,
|
||||
&vl_type_NextHopGroup,
|
||||
&vl_type_NTP,
|
||||
&vl_type_Pref64,
|
||||
&vl_type_PrivateOption,
|
||||
&vl_type_Route,
|
||||
&vl_type_SIP);
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
SD_VARLINK_FIELD_COMMENT(comment " (human-readable format)"), \
|
||||
SD_VARLINK_DEFINE_FIELD(field_name##String, SD_VARLINK_STRING, (flags))
|
||||
|
||||
static SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
SD_VARLINK_DEFINE_ENUM_TYPE(
|
||||
LinkState,
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(pending),
|
||||
SD_VARLINK_DEFINE_ENUM_VALUE(initialized),
|
||||
@@ -93,7 +93,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("Configuration state of this rule"),
|
||||
SD_VARLINK_DEFINE_FIELD(ConfigState, SD_VARLINK_STRING, 0));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
Route,
|
||||
SD_VARLINK_FIELD_COMMENT("Address family (AF_INET or AF_INET6)"),
|
||||
SD_VARLINK_DEFINE_FIELD(Family, SD_VARLINK_INT, 0),
|
||||
@@ -149,14 +149,14 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("TCP congestion control algorithm for this route"),
|
||||
SD_VARLINK_DEFINE_FIELD(TCPCongestionControlAlgorithm, SD_VARLINK_STRING, SD_VARLINK_NULLABLE));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
NextHopGroup,
|
||||
SD_VARLINK_FIELD_COMMENT("Next hop identifier in the multipath group"),
|
||||
SD_VARLINK_DEFINE_FIELD(ID, SD_VARLINK_INT, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("Weight for load balancing (higher means more traffic)"),
|
||||
SD_VARLINK_DEFINE_FIELD(Weight, SD_VARLINK_INT, 0));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
NextHop,
|
||||
SD_VARLINK_FIELD_COMMENT("Next hop identifier"),
|
||||
SD_VARLINK_DEFINE_FIELD(ID, SD_VARLINK_INT, 0),
|
||||
@@ -181,7 +181,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("Configuration state of this next hop"),
|
||||
SD_VARLINK_DEFINE_FIELD(ConfigState, SD_VARLINK_STRING, SD_VARLINK_NULLABLE));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
LLDPNeighbor,
|
||||
SD_VARLINK_FIELD_COMMENT("Chassis identifier in human-readable format"),
|
||||
SD_VARLINK_DEFINE_FIELD(ChassisID, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
|
||||
@@ -204,7 +204,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("VLAN identifier"),
|
||||
SD_VARLINK_DEFINE_FIELD(VlanID, SD_VARLINK_INT, SD_VARLINK_NULLABLE));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
DNS,
|
||||
SD_VARLINK_FIELD_COMMENT("Address family (AF_INET or AF_INET6)"),
|
||||
SD_VARLINK_DEFINE_FIELD(Family, SD_VARLINK_INT, 0),
|
||||
@@ -219,7 +219,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_FIELD(ConfigSource, SD_VARLINK_STRING, 0),
|
||||
VARLINK_DEFINE_IN_ADDR_WITH_STRING_FIELD(ConfigProvider, "Address of the configuration provider", SD_VARLINK_NULLABLE));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
NTP,
|
||||
SD_VARLINK_FIELD_COMMENT("Address family (AF_INET or AF_INET6) for address-based servers"),
|
||||
SD_VARLINK_DEFINE_FIELD(Family, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
@@ -230,7 +230,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_FIELD(ConfigSource, SD_VARLINK_STRING, 0),
|
||||
VARLINK_DEFINE_IN_ADDR_WITH_STRING_FIELD(ConfigProvider, "Address of the configuration provider", SD_VARLINK_NULLABLE));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SIP,
|
||||
SD_VARLINK_FIELD_COMMENT("Address family (AF_INET or AF_INET6) for address-based servers"),
|
||||
SD_VARLINK_DEFINE_FIELD(Family, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
@@ -241,7 +241,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_FIELD(ConfigSource, SD_VARLINK_STRING, 0),
|
||||
VARLINK_DEFINE_IN_ADDR_WITH_STRING_FIELD(ConfigProvider, "Address of the configuration provider", SD_VARLINK_NULLABLE));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
Domain,
|
||||
SD_VARLINK_FIELD_COMMENT("DNS search or route domain name"),
|
||||
SD_VARLINK_DEFINE_FIELD(Domain, SD_VARLINK_STRING, 0),
|
||||
@@ -249,14 +249,14 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_FIELD(ConfigSource, SD_VARLINK_STRING, 0),
|
||||
VARLINK_DEFINE_IN_ADDR_WITH_STRING_FIELD(ConfigProvider, "Address of the configuration provider", SD_VARLINK_NULLABLE));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
DNSSECNegativeTrustAnchor,
|
||||
SD_VARLINK_FIELD_COMMENT("Domain name for which DNSSEC validation is disabled"),
|
||||
SD_VARLINK_DEFINE_FIELD(DNSSECNegativeTrustAnchor, SD_VARLINK_STRING, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("Configuration source for this negative trust anchor"),
|
||||
SD_VARLINK_DEFINE_FIELD(ConfigSource, SD_VARLINK_STRING, 0));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
DNSSetting,
|
||||
SD_VARLINK_FIELD_COMMENT("Link-Local Multicast Name Resolution setting"),
|
||||
SD_VARLINK_DEFINE_FIELD(LLMNR, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
|
||||
@@ -269,7 +269,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("Configuration source for this DNS setting"),
|
||||
SD_VARLINK_DEFINE_FIELD(ConfigSource, SD_VARLINK_STRING, 0));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
Pref64,
|
||||
SD_VARLINK_FIELD_COMMENT("IPv6 prefix for NAT64/DNS64"),
|
||||
SD_VARLINK_DEFINE_FIELD(Prefix, SD_VARLINK_INT, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE),
|
||||
@@ -281,12 +281,12 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_FIELD(LifetimeUSec, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_IN_ADDR_WITH_STRING_FIELD(ConfigProvider, "Address of router that provided this prefix", SD_VARLINK_NULLABLE));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
NDisc,
|
||||
SD_VARLINK_FIELD_COMMENT("PREF64 (RFC8781) prefixes advertised via IPv6 Router Advertisements"),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(PREF64, Pref64, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
Address,
|
||||
SD_VARLINK_FIELD_COMMENT("Address family (AF_INET or AF_INET6)"),
|
||||
SD_VARLINK_DEFINE_FIELD(Family, SD_VARLINK_INT, 0),
|
||||
@@ -319,7 +319,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("Configuration state of this address"),
|
||||
SD_VARLINK_DEFINE_FIELD(ConfigState, SD_VARLINK_STRING, SD_VARLINK_NULLABLE));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
Neighbor,
|
||||
SD_VARLINK_FIELD_COMMENT("Address family (AF_INET or AF_INET6)"),
|
||||
SD_VARLINK_DEFINE_FIELD(Family, SD_VARLINK_INT, 0),
|
||||
@@ -331,7 +331,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("Configuration state of this neighbor entry"),
|
||||
SD_VARLINK_DEFINE_FIELD(ConfigState, SD_VARLINK_STRING, 0));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
DHCPLease,
|
||||
SD_VARLINK_FIELD_COMMENT("Timestamp when the lease was acquired in microseconds"),
|
||||
SD_VARLINK_DEFINE_FIELD(LeaseTimestampUSec, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
@@ -342,14 +342,14 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("Hostname received from DHCP server"),
|
||||
SD_VARLINK_DEFINE_FIELD(Hostname, SD_VARLINK_STRING, SD_VARLINK_NULLABLE));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
PrivateOption,
|
||||
SD_VARLINK_FIELD_COMMENT("DHCP option number"),
|
||||
SD_VARLINK_DEFINE_FIELD(Option, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_FIELD_COMMENT("Raw data of the private DHCP option"),
|
||||
SD_VARLINK_DEFINE_FIELD(PrivateOptionData, SD_VARLINK_STRING, SD_VARLINK_NULLABLE));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
DHCPv6ClientPD,
|
||||
SD_VARLINK_FIELD_COMMENT("Delegated IPv6 prefix"),
|
||||
SD_VARLINK_DEFINE_FIELD(Prefix, SD_VARLINK_INT, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE),
|
||||
@@ -362,7 +362,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("Valid lifetime of the prefix in microseconds"),
|
||||
SD_VARLINK_DEFINE_FIELD(ValidLifetimeUSec, SD_VARLINK_INT, SD_VARLINK_NULLABLE));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
DHCPv6ClientVendorOption,
|
||||
SD_VARLINK_FIELD_COMMENT("IANA enterprise number identifying the vendor"),
|
||||
SD_VARLINK_DEFINE_FIELD(EnterpriseId, SD_VARLINK_INT, 0),
|
||||
@@ -371,7 +371,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("Raw data of the vendor-specific sub-option"),
|
||||
SD_VARLINK_DEFINE_FIELD(SubOptionData, SD_VARLINK_STRING, 0));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
DHCPv6Client,
|
||||
SD_VARLINK_FIELD_COMMENT("DHCPv6 lease information including timestamps and timeouts"),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(Lease, DHCPLease, SD_VARLINK_NULLABLE),
|
||||
@@ -382,7 +382,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("DHCP Unique Identifier (DUID) of the client"),
|
||||
SD_VARLINK_DEFINE_FIELD(DUID, SD_VARLINK_INT, SD_VARLINK_ARRAY));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
DHCPServerLease,
|
||||
SD_VARLINK_FIELD_COMMENT("DHCP client identifier"),
|
||||
SD_VARLINK_DEFINE_FIELD(ClientId, SD_VARLINK_INT, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE),
|
||||
@@ -400,7 +400,7 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("Lease expiration time in realtime microseconds"),
|
||||
SD_VARLINK_DEFINE_FIELD(ExpirationRealtimeUSec, SD_VARLINK_INT, SD_VARLINK_NULLABLE));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
DHCPServer,
|
||||
SD_VARLINK_FIELD_COMMENT("Offset from the network address for the DHCP address pool"),
|
||||
SD_VARLINK_DEFINE_FIELD(PoolOffset, SD_VARLINK_INT, 0),
|
||||
@@ -411,14 +411,14 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_FIELD_COMMENT("Static DHCP leases configured for specific clients"),
|
||||
SD_VARLINK_DEFINE_FIELD_BY_TYPE(StaticLeases, DHCPServerLease, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
BitRates,
|
||||
SD_VARLINK_FIELD_COMMENT("Transmit bitrate in bits per second"),
|
||||
SD_VARLINK_DEFINE_FIELD(TxBitRate, SD_VARLINK_INT, 0),
|
||||
SD_VARLINK_FIELD_COMMENT("Receive bitrate in bits per second"),
|
||||
SD_VARLINK_DEFINE_FIELD(RxBitRate, SD_VARLINK_INT, 0));
|
||||
|
||||
static SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
Interface,
|
||||
SD_VARLINK_FIELD_COMMENT("Network interface index"),
|
||||
SD_VARLINK_DEFINE_FIELD(Index, SD_VARLINK_INT, 0),
|
||||
|
||||
@@ -7,3 +7,27 @@ extern const sd_varlink_interface vl_interface_io_systemd_Network;
|
||||
extern const sd_varlink_symbol vl_type_LinkAddressState;
|
||||
extern const sd_varlink_symbol vl_type_LinkOnlineState;
|
||||
extern const sd_varlink_symbol vl_type_LinkRequiredAddressFamily;
|
||||
extern const sd_varlink_symbol vl_type_LinkState;
|
||||
extern const sd_varlink_symbol vl_type_Route;
|
||||
extern const sd_varlink_symbol vl_type_NextHopGroup;
|
||||
extern const sd_varlink_symbol vl_type_NextHop;
|
||||
extern const sd_varlink_symbol vl_type_LLDPNeighbor;
|
||||
extern const sd_varlink_symbol vl_type_DNS;
|
||||
extern const sd_varlink_symbol vl_type_NTP;
|
||||
extern const sd_varlink_symbol vl_type_SIP;
|
||||
extern const sd_varlink_symbol vl_type_Domain;
|
||||
extern const sd_varlink_symbol vl_type_DNSSECNegativeTrustAnchor;
|
||||
extern const sd_varlink_symbol vl_type_DNSSetting;
|
||||
extern const sd_varlink_symbol vl_type_Pref64;
|
||||
extern const sd_varlink_symbol vl_type_NDisc;
|
||||
extern const sd_varlink_symbol vl_type_Address;
|
||||
extern const sd_varlink_symbol vl_type_Neighbor;
|
||||
extern const sd_varlink_symbol vl_type_DHCPLease;
|
||||
extern const sd_varlink_symbol vl_type_PrivateOption;
|
||||
extern const sd_varlink_symbol vl_type_DHCPv6ClientPD;
|
||||
extern const sd_varlink_symbol vl_type_DHCPv6ClientVendorOption;
|
||||
extern const sd_varlink_symbol vl_type_DHCPv6Client;
|
||||
extern const sd_varlink_symbol vl_type_DHCPServerLease;
|
||||
extern const sd_varlink_symbol vl_type_DHCPServer;
|
||||
extern const sd_varlink_symbol vl_type_BitRates;
|
||||
extern const sd_varlink_symbol vl_type_Interface;
|
||||
|
||||
Reference in New Issue
Block a user