Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
d29e0365
Commit
d29e0365
authored
May 15, 2003
by
Hideaki Yoshifuji
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[IPV6]: ARCnet support, protocol side.
parent
bebc2f3f
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
20 additions
and
1 deletion
+20
-1
include/net/if_inet6.h
include/net/if_inet6.h
+5
-0
net/ipv6/addrconf.c
net/ipv6/addrconf.c
+12
-1
net/ipv6/ndisc.c
net/ipv6/ndisc.c
+3
-0
No files found.
include/net/if_inet6.h
View file @
d29e0365
...
@@ -264,5 +264,10 @@ static inline void ipv6_tr_mc_map(struct in6_addr *addr, char *buf)
...
@@ -264,5 +264,10 @@ static inline void ipv6_tr_mc_map(struct in6_addr *addr, char *buf)
buf
[
5
]
=
0x00
;
buf
[
5
]
=
0x00
;
}
}
}
}
static
inline
void
ipv6_arcnet_mc_map
(
const
struct
in6_addr
*
addr
,
char
*
buf
)
{
buf
[
0
]
=
0x00
;
}
#endif
#endif
#endif
#endif
net/ipv6/addrconf.c
View file @
d29e0365
...
@@ -32,6 +32,7 @@
...
@@ -32,6 +32,7 @@
* support.
* support.
* Yuji SEKIYA @USAGI : Don't assign a same IPv6
* Yuji SEKIYA @USAGI : Don't assign a same IPv6
* address on a same interface.
* address on a same interface.
* YOSHIFUJI Hideaki @USAGI : ARCnet support
*/
*/
#include <linux/config.h>
#include <linux/config.h>
...
@@ -44,6 +45,7 @@
...
@@ -44,6 +45,7 @@
#include <linux/in6.h>
#include <linux/in6.h>
#include <linux/netdevice.h>
#include <linux/netdevice.h>
#include <linux/if_arp.h>
#include <linux/if_arp.h>
#include <linux/if_arcnet.h>
#include <linux/route.h>
#include <linux/route.h>
#include <linux/inetdevice.h>
#include <linux/inetdevice.h>
#include <linux/init.h>
#include <linux/init.h>
...
@@ -1061,6 +1063,13 @@ static int ipv6_generate_eui64(u8 *eui, struct net_device *dev)
...
@@ -1061,6 +1063,13 @@ static int ipv6_generate_eui64(u8 *eui, struct net_device *dev)
eui
[
4
]
=
0xFE
;
eui
[
4
]
=
0xFE
;
eui
[
0
]
^=
2
;
eui
[
0
]
^=
2
;
return
0
;
return
0
;
case
ARPHRD_ARCNET
:
/* XXX: inherit EUI-64 fro mother interface -- yoshfuji */
if
(
dev
->
addr_len
!=
ARCNET_ALEN
)
return
-
1
;
memset
(
eui
,
0
,
7
);
eui
[
7
]
=
*
(
u8
*
)
dev
->
dev_addr
;
return
0
;
}
}
return
-
1
;
return
-
1
;
}
}
...
@@ -1732,7 +1741,8 @@ static void addrconf_dev_config(struct net_device *dev)
...
@@ -1732,7 +1741,8 @@ static void addrconf_dev_config(struct net_device *dev)
if
((
dev
->
type
!=
ARPHRD_ETHER
)
&&
if
((
dev
->
type
!=
ARPHRD_ETHER
)
&&
(
dev
->
type
!=
ARPHRD_FDDI
)
&&
(
dev
->
type
!=
ARPHRD_FDDI
)
&&
(
dev
->
type
!=
ARPHRD_IEEE802_TR
))
{
(
dev
->
type
!=
ARPHRD_IEEE802_TR
)
&&
(
dev
->
type
!=
ARPHRD_ARCNET
))
{
/* Alas, we support only Ethernet autoconfiguration. */
/* Alas, we support only Ethernet autoconfiguration. */
return
;
return
;
}
}
...
@@ -2715,6 +2725,7 @@ void __init addrconf_init(void)
...
@@ -2715,6 +2725,7 @@ void __init addrconf_init(void)
case
ARPHRD_ETHER
:
case
ARPHRD_ETHER
:
case
ARPHRD_FDDI
:
case
ARPHRD_FDDI
:
case
ARPHRD_IEEE802_TR
:
case
ARPHRD_IEEE802_TR
:
case
ARPHRD_ARCNET
:
addrconf_dev_config
(
dev
);
addrconf_dev_config
(
dev
);
break
;
break
;
default:
;
default:
;
...
...
net/ipv6/ndisc.c
View file @
d29e0365
...
@@ -232,6 +232,9 @@ int ndisc_mc_map(struct in6_addr *addr, char *buf, struct net_device *dev, int d
...
@@ -232,6 +232,9 @@ int ndisc_mc_map(struct in6_addr *addr, char *buf, struct net_device *dev, int d
case
ARPHRD_IEEE802_TR
:
case
ARPHRD_IEEE802_TR
:
ipv6_tr_mc_map
(
addr
,
buf
);
ipv6_tr_mc_map
(
addr
,
buf
);
return
0
;
return
0
;
case
ARPHRD_ARCNET
:
ipv6_arcnet_mc_map
(
addr
,
buf
);
return
0
;
default:
default:
if
(
dir
)
{
if
(
dir
)
{
memcpy
(
buf
,
dev
->
broadcast
,
dev
->
addr_len
);
memcpy
(
buf
,
dev
->
broadcast
,
dev
->
addr_len
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment