summary refs log tree commit diff
path: root/src/rdisc/nm-rdisc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/rdisc/nm-rdisc.h')
-rw-r--r--src/rdisc/nm-rdisc.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/rdisc/nm-rdisc.h b/src/rdisc/nm-rdisc.h
index fba06bc2..2d83f0f0 100644
--- a/src/rdisc/nm-rdisc.h
+++ b/src/rdisc/nm-rdisc.h
@@ -18,14 +18,16 @@
  * Copyright (C) 2013 Red Hat, Inc.
  */
 
-#ifndef NM_RDISC_H
-#define NM_RDISC_H
+#ifndef __NETWORKMANAGER_RDISC_H__
+#define __NETWORKMANAGER_RDISC_H__
 
 #include <glib-object.h>
 
 #include <stdlib.h>
 #include <netinet/in.h>
 
+#include "NetworkManagerUtils.h"
+
 #define NM_TYPE_RDISC            (nm_rdisc_get_type ())
 #define NM_RDISC(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_RDISC, NMRDisc))
 #define NM_RDISC_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_RDISC, NMRDiscClass))
@@ -34,6 +36,7 @@
 #define NM_RDISC_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_RDISC, NMRDiscClass))
 
 #define NM_RDISC_CONFIG_CHANGED "config-changed"
+#define NM_RDISC_RA_TIMEOUT     "ra-timeout"
 
 typedef enum {
 	NM_RDISC_DHCP_LEVEL_UNKNOWN,
@@ -92,6 +95,7 @@ typedef enum {
 	NM_RDISC_CONFIG_DNS_SERVERS                         = 1 << 4,
 	NM_RDISC_CONFIG_DNS_DOMAINS                         = 1 << 5,
 	NM_RDISC_CONFIG_HOP_LIMIT                           = 1 << 6,
+	NM_RDISC_CONFIG_MTU                                 = 1 << 7,
 } NMRDiscConfigMap;
 
 #define NM_RDISC_MAX_ADDRESSES_DEFAULT 16
@@ -110,7 +114,7 @@ typedef struct {
 
 	int ifindex;
 	char *ifname;
-	GBytes *lladdr;
+	NMUtilsIPv6IfaceId iid;
 	gint32 max_addresses;
 	gint32 rtr_solicitations;
 	gint32 rtr_solicitation_interval;
@@ -122,6 +126,7 @@ typedef struct {
 	GArray *dns_servers;
 	GArray *dns_domains;
 	int hop_limit;
+	guint32 mtu;
 } NMRDisc;
 
 typedef struct {
@@ -129,11 +134,12 @@ typedef struct {
 
 	void (*start) (NMRDisc *rdisc);
 	void (*config_changed) (NMRDisc *rdisc, NMRDiscConfigMap changed);
+	void (*ra_timeout) (NMRDisc *rdisc);
 } NMRDiscClass;
 
 GType nm_rdisc_get_type (void);
 
-void nm_rdisc_set_lladdr (NMRDisc *rdisc, const char *addr, size_t addrlen);
+void nm_rdisc_set_iid (NMRDisc *rdisc, const NMUtilsIPv6IfaceId iid);
 void nm_rdisc_start (NMRDisc *rdisc);
 
-#endif /* NM_RDISC_H */
+#endif /* __NETWORKMANAGER_RDISC_H__ */