chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sd-icmp6-nd: Add function to stop ongoing ICMPv6 discovery
[elogind.git]
/
src
/
libsystemd-network
/
sd-icmp6-nd.c
diff --git
a/src/libsystemd-network/sd-icmp6-nd.c
b/src/libsystemd-network/sd-icmp6-nd.c
index f820a9c8f04540be3e913d5edc7a81887b9cf9bf..80915c34d6bcb66c3915b25fe41bea70ed98f4af 100644
(file)
--- a/
src/libsystemd-network/sd-icmp6-nd.c
+++ b/
src/libsystemd-network/sd-icmp6-nd.c
@@
-171,6
+171,7
@@
int sd_icmp6_nd_new(sd_icmp6_nd **ret) {
nd->n_ref = REFCNT_INIT;
nd->index = -1;
nd->n_ref = REFCNT_INIT;
nd->index = -1;
+ nd->fd = -1;
*ret = nd;
nd = NULL;
*ret = nd;
nd = NULL;
@@
-281,6
+282,19
@@
static int icmp6_router_solicitation_timeout(sd_event_source *s, uint64_t usec,
return 0;
}
return 0;
}
+int sd_icmp6_nd_stop(sd_icmp6_nd *nd) {
+ assert_return(nd, -EINVAL);
+ assert_return(nd->event, -EINVAL);
+
+ log_icmp6_nd(client, "Stop ICMPv6");
+
+ icmp6_nd_init(nd);
+
+ nd->state = ICMP6_NEIGHBOR_DISCOVERY_IDLE;
+
+ return 0;
+}
+
int sd_icmp6_router_solicitation_start(sd_icmp6_nd *nd) {
int r;
int sd_icmp6_router_solicitation_start(sd_icmp6_nd *nd) {
int r;