chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
networkd: sit-tunnel add support for pmtudisc
[elogind.git]
/
src
/
network
/
networkd.h
diff --git
a/src/network/networkd.h
b/src/network/networkd.h
index f250f197424064021ad7eb226bb859150e667975..6f69c9a487bf3f413e2faa5bb145a86a373d0bb2 100644
(file)
--- a/
src/network/networkd.h
+++ b/
src/network/networkd.h
@@
-71,6
+71,7
@@
typedef enum NetDevKind {
NETDEV_KIND_IPIP,
NETDEV_KIND_GRE,
NETDEV_KIND_SIT,
NETDEV_KIND_IPIP,
NETDEV_KIND_GRE,
NETDEV_KIND_SIT,
+ NETDEV_KIND_VETH,
_NETDEV_KIND_MAX,
_NETDEV_KIND_INVALID = -1
} NetDevKind;
_NETDEV_KIND_MAX,
_NETDEV_KIND_INVALID = -1
} NetDevKind;
@@
-98,6
+99,7
@@
struct NetDev {
char *description;
char *ifname;
char *description;
char *ifname;
+ char *ifname_peer;
size_t mtu;
NetDevKind kind;
size_t mtu;
NetDevKind kind;
@@
-107,6
+109,7
@@
struct NetDev {
int ifindex;
NetDevState state;
int ifindex;
NetDevState state;
+ bool tunnel_pmtudisc;
unsigned tunnel_ttl;
unsigned tunnel_tos;
struct in_addr tunnel_local;
unsigned tunnel_ttl;
unsigned tunnel_tos;
struct in_addr tunnel_local;
@@
-138,6
+141,7
@@
struct Network {
Hashmap *macvlans;
bool dhcp;
bool dhcp_dns;
Hashmap *macvlans;
bool dhcp;
bool dhcp_dns;
+ bool dhcp_ntp;
bool dhcp_mtu;
bool dhcp_hostname;
bool dhcp_domainname;
bool dhcp_mtu;
bool dhcp_hostname;
bool dhcp_domainname;
@@
-150,7
+154,8
@@
struct Network {
Hashmap *addresses_by_section;
Hashmap *routes_by_section;
Hashmap *addresses_by_section;
Hashmap *routes_by_section;
- Set *dns;
+ LIST_HEAD(Address, dns);
+ LIST_HEAD(Address, ntp);
LIST_FIELDS(Network, networks);
};
LIST_FIELDS(Network, networks);
};
@@
-172,7
+177,7
@@
struct Address {
struct in6_addr in6;
} in_addr;
struct in6_addr in6;
} in_addr;
- LIST_FIELDS(Address,
static_
addresses);
+ LIST_FIELDS(Address, addresses);
};
struct Route {
};
struct Route {
@@
-194,7
+199,7
@@
struct Route {
struct in6_addr in6;
} dst_addr;
struct in6_addr in6;
} dst_addr;
- LIST_FIELDS(Route,
static_
routes);
+ LIST_FIELDS(Route, routes);
};
typedef enum LinkState {
};
typedef enum LinkState {
@@
-210,6
+215,16
@@
typedef enum LinkState {
_LINK_STATE_INVALID = -1
} LinkState;
_LINK_STATE_INVALID = -1
} LinkState;
+typedef enum LinkOperationalState {
+ LINK_OPERSTATE_UNKNOWN,
+ LINK_OPERSTATE_DORMANT,
+ LINK_OPERSTATE_CARRIER,
+ LINK_OPERSTATE_DEGRADED,
+ LINK_OPERSTATE_ROUTABLE,
+ _LINK_OPERSTATE_MAX,
+ _LINK_OPERSTATE_INVALID = -1
+} LinkOperationalState;
+
struct Link {
Manager *manager;
struct Link {
Manager *manager;
@@
-222,16
+237,19
@@
struct Link {
struct udev_device *udev_device;
unsigned flags;
struct udev_device *udev_device;
unsigned flags;
- uint8_t operstate;
+ uint8_t
kernel_
operstate;
Network *network;
LinkState state;
Network *network;
LinkState state;
+ LinkOperationalState operstate;
unsigned addr_messages;
unsigned route_messages;
unsigned enslaving;
unsigned addr_messages;
unsigned route_messages;
unsigned enslaving;
+ LIST_HEAD(Address, addresses);
+
sd_dhcp_client *dhcp_client;
sd_dhcp_lease *dhcp_lease;
char *lease_file;
sd_dhcp_client *dhcp_client;
sd_dhcp_lease *dhcp_lease;
char *lease_file;
@@
-275,7
+293,6
@@
int manager_rtnl_listen(Manager *m);
int manager_udev_listen(Manager *m);
int manager_bus_listen(Manager *m);
int manager_udev_listen(Manager *m);
int manager_bus_listen(Manager *m);
-int manager_update_resolv_conf(Manager *m);
int manager_save(Manager *m);
DEFINE_TRIVIAL_CLEANUP_FUNC(Manager*, manager_free);
int manager_save(Manager *m);
DEFINE_TRIVIAL_CLEANUP_FUNC(Manager*, manager_free);
@@
-296,6
+313,7
@@
int netdev_get(Manager *manager, const char *name, NetDev **ret);
int netdev_set_ifindex(NetDev *netdev, sd_rtnl_message *newlink);
int netdev_enslave(NetDev *netdev, Link *link, sd_rtnl_message_handler_t cb);
int netdev_create_tunnel(Link *link, sd_rtnl_message_handler_t callback);
int netdev_set_ifindex(NetDev *netdev, sd_rtnl_message *newlink);
int netdev_enslave(NetDev *netdev, Link *link, sd_rtnl_message_handler_t cb);
int netdev_create_tunnel(Link *link, sd_rtnl_message_handler_t callback);
+int netdev_create_veth(NetDev *netdev, sd_rtnl_message_handler_t callback);
const char *netdev_kind_to_string(NetDevKind d) _const_;
NetDevKind netdev_kind_from_string(const char *d) _pure_;
const char *netdev_kind_to_string(NetDevKind d) _const_;
NetDevKind netdev_kind_from_string(const char *d) _pure_;
@@
-379,6
+397,7
@@
void address_free(Address *address);
int address_configure(Address *address, Link *link, sd_rtnl_message_handler_t callback);
int address_update(Address *address, Link *link, sd_rtnl_message_handler_t callback);
int address_drop(Address *address, Link *link, sd_rtnl_message_handler_t callback);
int address_configure(Address *address, Link *link, sd_rtnl_message_handler_t callback);
int address_update(Address *address, Link *link, sd_rtnl_message_handler_t callback);
int address_drop(Address *address, Link *link, sd_rtnl_message_handler_t callback);
+bool address_equal(Address *a1, Address *a2);
DEFINE_TRIVIAL_CLEANUP_FUNC(Address*, address_free);
#define _cleanup_address_free_ _cleanup_(address_freep)
DEFINE_TRIVIAL_CLEANUP_FUNC(Address*, address_free);
#define _cleanup_address_free_ _cleanup_(address_freep)
@@
-419,6
+438,9
@@
bool link_has_carrier(unsigned flags, uint8_t operstate);
const char* link_state_to_string(LinkState s) _const_;
LinkState link_state_from_string(const char *s) _pure_;
const char* link_state_to_string(LinkState s) _const_;
LinkState link_state_from_string(const char *s) _pure_;
+const char* link_operstate_to_string(LinkOperationalState s) _const_;
+LinkOperationalState link_operstate_from_string(const char *s) _pure_;
+
DEFINE_TRIVIAL_CLEANUP_FUNC(Link*, link_unref);
#define _cleanup_link_unref_ _cleanup_(link_unrefp)
DEFINE_TRIVIAL_CLEANUP_FUNC(Link*, link_unref);
#define _cleanup_link_unref_ _cleanup_(link_unrefp)