This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
PATCH: ip6.h ip6_hdr comment update, ip6.h future?
- To: <libc-alpha at sourceware dot cygnus dot com>
- Subject: PATCH: ip6.h ip6_hdr comment update, ip6.h future?
- From: Pekka Savola <pekkas at netcore dot fi>
- Date: Sun, 10 Jun 2001 23:19:41 +0300 (EEST)
Hi,
In glibc 2.2.2, ip6_hdr comments date back to old deprecated IPv6
specification, and should be updated for RFC2460.
Stig Venaas mentioned this in 1999, and proposed more radical changes:
http://sources.redhat.com/ml/libc-alpha/1999-q1/msg00016.html
However, this patch only changes the comments, keeping the data structures
identical to current and work-in-progress implementation document:
ftp://ftp.ietf.org/internet-drafts/draft-ietf-ipngwg-rfc2292bis-02.txt
(2.1)
The abovementioned draft makes some other minor changes too, e.g. in:
---
struct ip6_rthdr0
{
uint8_t ip6r0_nxt; /* next header */
uint8_t ip6r0_len; /* length in units of 8 octets */
uint8_t ip6r0_type; /* always zero */
uint8_t ip6r0_segleft; /* segments left */
uint8_t ip6r0_reserved; /* reserved field */
uint8_t ip6r0_slmap[3]; /* strict/loose bit map */
struct in6_addr ip6r0_addr[1]; /* up to 23 addresses */
};
---
where ip6r0_slmap[3] and following struct are removed and replaced by
uint32_t ip6r0_reserved instead of uint8_t.
Also, some other structs like ip6_ext, ip6_opt, IP6OPT_* definitions etc.
also haven't been added yet. Perhaps this has been intentional? If there
is interest, I might have time to create a diff of these?
Please Cc:.
--
Pekka Savola "Tell me of difficulties surmounted,
Netcore Oy not those you stumble over and fall"
Systems. Networks. Security. -- Robert Jordan: A Crown of Swords
--- netinet/ip6.h Fri Apr 6 19:30:02 2001
+++ netinet.new/ip6.h Sun Jun 10 19:52:16 2001
@@ -28,12 +28,12 @@
{
struct ip6_hdrctl
{
- uint32_t ip6_un1_flow; /* 24 bits of flow-ID */
+ uint32_t ip6_un1_flow; /* 4 bits version, 8 bits TC, 20 bits flow-ID */
uint16_t ip6_un1_plen; /* payload length */
uint8_t ip6_un1_nxt; /* next header */
uint8_t ip6_un1_hlim; /* hop limit */
} ip6_un1;
- uint8_t ip6_un2_vfc; /* 4 bits version, 4 bits priority */
+ uint8_t ip6_un2_vfc; /* 4 bits version, top 4 bits tclass */
} ip6_ctlun;
struct in6_addr ip6_src; /* source address */
struct in6_addr ip6_dst; /* destination address */