summaryrefslogtreecommitdiff
path: root/src/libsystemd-network/test-ndisc-rs.c
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2017-05-12 16:48:38 +0300
committerPatrik Flykt <patrik.flykt@linux.intel.com>2017-05-15 14:49:50 +0300
commit88d5a3db555af62dcde306e9de88ecfc73db80ab (patch)
tree14c65af43a8eb109cfd2f6736b3561918a4947aa /src/libsystemd-network/test-ndisc-rs.c
parent77baf5aee68de59b21592c93d05ddb75e3fe65c2 (diff)
downloadsystemd-88d5a3db555af62dcde306e9de88ecfc73db80ab.tar.gz
sd-radv: Receive Router Solicitations
Receive Router Solicitations and send a unicast Router Advertisment in response. Refactor ICMPv6 packet handling code so that the common ICMPv6 validation parts are reused between the existing router discovery and the new functionality adding reception of Router Solicitation messages.
Diffstat (limited to 'src/libsystemd-network/test-ndisc-rs.c')
-rw-r--r--src/libsystemd-network/test-ndisc-rs.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/libsystemd-network/test-ndisc-rs.c b/src/libsystemd-network/test-ndisc-rs.c
index e212b8a967..b4a6539599 100644
--- a/src/libsystemd-network/test-ndisc-rs.c
+++ b/src/libsystemd-network/test-ndisc-rs.c
@@ -198,6 +198,16 @@ int icmp6_bind_router_advertisement(int index) {
return -ENOSYS;
}
+int icmp6_receive(int fd, void *iov_base, size_t iov_len,
+ struct in6_addr *dst, triple_timestamp *timestamp) {
+ assert (read (fd, iov_base, iov_len) == (ssize_t)iov_len);
+
+ if (timestamp)
+ triple_timestamp_get(timestamp);
+
+ return 0;
+}
+
static int send_ra(uint8_t flags) {
uint8_t advertisement[] = {
0x86, 0x00, 0xde, 0x83, 0x40, 0xc0, 0x00, 0xb4,