This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Added icmp6 options and router preference


---
 ChangeLog            | 23 +++++++++++++++++++++++
 inet/netinet/icmp6.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 71 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index a7dc412..ebf0d68 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2014-02-12  Dan Luedtke  <mail@danrl.de>
+
+	* inet/netinet/icmp6.h (ND_RA_FLAG_RTPREF_LOW): Define.
+	(ND_RA_FLAG_RTPREF_MEDIUM): Likewise.
+	(ND_RA_FLAG_RTPREF_HIGH): Likewise.
+	(ND_RA_FLAG_RTPREF_MASK): Likewise.
+	(ND_RA_FLAG_RTPREF_RSV): Likewise.
+	(ND_RA_FLAG_PROXY): Likewise.
+	(ND_OPT_ROUTE_INFO): Likewise.
+	(ND_OPT_RDNSS): Likewise.
+	(ND_OPT_ADDRESS_REGISTRATION): Likewise.
+	(ND_OPT_RI_RTPREF_LOW): Likewise.
+	(ND_OPT_RI_RTPREF_MEDIUM): Likewise.
+	(ND_OPT_RI_RTPREF_HIGH): Likewise.
+	(ND_OPT_RI_RTPREF_MASK): Likewise.
+	(ND_OPT_RI_RTPREF_RSV): Likewise.
+	(ND_OPT_AR_STATUS_SUCCESS): Likewise.
+	(ND_OPT_AR_STATUS_DUPLICATE): Likewise.
+	(ND_OPT_AR_STATUS_CACHEFULL): Likewise.
+	(nd_opt_route_info): New structure.
+	(nd_opt_rdnss): Likewise.
+	(nd_opt_address_reg): Likewise.
+
 2014-02-12  Joseph Myers  <joseph@codesourcery.com>
 
 	* soft-fp/op-common.h (_FP_DECL): Mark exponent as possibly
diff --git a/inet/netinet/icmp6.h b/inet/netinet/icmp6.h
index baaeb26..77f8151 100644
--- a/inet/netinet/icmp6.h
+++ b/inet/netinet/icmp6.h
@@ -135,6 +135,12 @@ struct nd_router_advert       /* router advertisement */
 #define ND_RA_FLAG_MANAGED       0x80
 #define ND_RA_FLAG_OTHER         0x40
 #define ND_RA_FLAG_HOME_AGENT    0x20
+#define ND_RA_FLAG_RTPREF_LOW    0x18
+#define ND_RA_FLAG_RTPREF_MEDIUM 0x00
+#define ND_RA_FLAG_RTPREF_HIGH   0x08
+#define ND_RA_FLAG_RTPREF_MASK   0x18
+#define ND_RA_FLAG_RTPREF_RSV    0x10
+#define ND_RA_FLAG_PROXY         0x04
 #define nd_ra_router_lifetime    nd_ra_hdr.icmp6_data16[1]
 
 struct nd_neighbor_solicit    /* neighbor solicitation */
@@ -197,6 +203,9 @@ struct nd_opt_hdr             /* Neighbor discovery option header */
 #define ND_OPT_MTU			5
 #define ND_OPT_RTR_ADV_INTERVAL		7
 #define ND_OPT_HOME_AGENT_INFO		8
+#define ND_OPT_ROUTE_INFO		24
+#define ND_OPT_RDNSS			25
+#define ND_OPT_ADDRESS_REGISTRATION	33
 
 struct nd_opt_prefix_info     /* prefix information */
   {
@@ -231,6 +240,45 @@ struct nd_opt_mtu             /* MTU option */
     uint32_t  nd_opt_mtu_mtu;
   };
 
+#define ND_OPT_RI_RTPREF_LOW    0x18
+#define ND_OPT_RI_RTPREF_MEDIUM 0x00
+#define ND_OPT_RI_RTPREF_HIGH   0x08
+#define ND_OPT_RI_RTPREF_MASK   0x18
+#define ND_OPT_RI_RTPREF_RSV    0x10
+
+struct nd_opt_route_info      /* route information option */
+  {
+    uint8_t   nd_opt_ri_type;
+    uint8_t   nd_opt_ri_len;
+    uint8_t   nd_opt_ri_prefix_len;
+    uint8_t   nd_opt_ri_pref_reserved;
+    uint32_t  nd_opt_ri_lifetime;
+    /* followed by prefixes */
+  };
+
+struct nd_opt_rdnss           /* RDNSS option */
+  {
+    uint8_t   nd_opt_rdnss_type;
+    uint8_t   nd_opt_rdnss_len;
+    uint16_t  nd_opt_rdnss_reserved;
+    uint32_t  nd_opt_rdnss_lifetime;
+    /* followed by recursive DNS servers */
+  };
+
+#define ND_OPT_AR_STATUS_SUCCESS   0x00
+#define ND_OPT_AR_STATUS_DUPLICATE 0x01
+#define ND_OPT_AR_STATUS_CACHEFULL 0x02
+
+struct nd_opt_address_reg     /* address registration option */
+  {
+    uint8_t   nd_opt_ar_type;
+    uint8_t   nd_opt_ar_len;
+    uint8_t   nd_opt_ar_status;
+    uint8_t   nd_opt_ar_reserved1;
+    uint16_t  nd_opt_ar_reserved2;
+    uint64_t  nd_opt_ar_eui64;
+  };
+
 struct mld_hdr
   {
     struct icmp6_hdr    mld_icmp6_hdr;
-- 
1.8.5.3


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]