diff options
| author | itojun <itojun@NetBSD.org> | 1999-09-08 00:50:15 +0000 |
|---|---|---|
| committer | itojun <itojun@NetBSD.org> | 1999-09-08 00:50:15 +0000 |
| commit | a00c3d5ea1dea5232e24c482b2334c62bcc2ea3d (patch) | |
| tree | d468e6018ed3225a19f2c8cc5c01ff924600b45e /sys | |
| parent | 6913f83874286c9a93e009ce78fc3716f17457eb (diff) | |
fix u bit in interface identifier for ether and p2p-802 interfacde.
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/netinet6/in6_ifattach.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/netinet6/in6_ifattach.c b/sys/netinet6/in6_ifattach.c index b1d9b0ddf3f..c4957910cb9 100644 --- a/sys/netinet6/in6_ifattach.c +++ b/sys/netinet6/in6_ifattach.c @@ -1,4 +1,4 @@ -/* $NetBSD: in6_ifattach.c,v 1.5 1999/09/05 01:57:10 itojun Exp $ */ +/* $NetBSD: in6_ifattach.c,v 1.6 1999/09/08 00:50:15 itojun Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -315,6 +315,8 @@ in6_ifattach(ifp, type, laddr, noloop) if (laddr == NULL) break; ieee802_to_eui64(&ia->ia_addr.sin6_addr.s6_addr8[8], laddr); + /* invert u bit to convert EUI64 to RFC2373 interface ID. */ + ia->ia_addr.sin6_addr.s6_addr8[8] ^= 0x02; if (found_first_ifid == 0) { if (in6_ifattach_getifid(ifp) == 0) in6_ifattach_p2p(); |
