diff options
author | Patrik Flykt <patrik.flykt@linux.intel.com> | 2017-05-12 16:48:31 +0300 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2017-05-15 14:49:50 +0300 |
commit | 204f99d21ed6ee2427f889f46a3c38e0e1e132b9 (patch) | |
tree | 95d820ca04f357927afa27b0b8f6c1ce7f7f4a36 /src/systemd | |
parent | 7d5cac19b5d04b39405273c6ab6bfc8811bd4f3a (diff) | |
download | systemd-204f99d21ed6ee2427f889f46a3c38e0e1e132b9.tar.gz |
sd-radv: Add Router Advertisement functionality
Add Router Advertisement header files, data structures and core
functionality that is quite similar to other parts of networkd.
Diffstat (limited to 'src/systemd')
-rw-r--r-- | src/systemd/sd-radv.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/systemd/sd-radv.h b/src/systemd/sd-radv.h index c9933674bd..4cbd80db68 100644 --- a/src/systemd/sd-radv.h +++ b/src/systemd/sd-radv.h @@ -25,14 +25,39 @@ #include <netinet/in.h> #include <sys/types.h> +#include "sd-ndisc.h" + #include "sd-event.h" #include "_sd-common.h" _SD_BEGIN_DECLARATIONS; +typedef struct sd_radv sd_radv; typedef struct sd_radv_prefix sd_radv_prefix; +/* Router Advertisment */ +int sd_radv_new(sd_radv **ret); +sd_radv *sd_radv_ref(sd_radv *ra); +sd_radv *sd_radv_unref(sd_radv *ra); + +int sd_radv_attach_event(sd_radv *ra, sd_event *event, int64_t priority); +int sd_radv_detach_event(sd_radv *nd); +sd_event *sd_radv_get_event(sd_radv *ra); + +int sd_radv_start(sd_radv *ra); +int sd_radv_stop(sd_radv *ra); + +int sd_radv_set_ifindex(sd_radv *ra, int interface_index); +int sd_radv_set_mac(sd_radv *ra, const struct ether_addr *mac_addr); +int sd_radv_set_mtu(sd_radv *ra, uint32_t mtu); +int sd_radv_set_hop_limit(sd_radv *ra, uint8_t hop_limit); +int sd_radv_set_router_lifetime(sd_radv *ra, uint32_t router_lifetime); +int sd_radv_set_managed_information(sd_radv *ra, int managed); +int sd_radv_set_other_information(sd_radv *ra, int other); +int sd_radv_set_preference(sd_radv *ra, unsigned preference); +int sd_radv_add_prefix(sd_radv *ra, sd_radv_prefix *p); + /* Advertised prefixes */ int sd_radv_prefix_new(sd_radv_prefix **ret); sd_radv_prefix *sd_radv_prefix_ref(sd_radv_prefix *ra); |