Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 103214
b: refs/heads/master
c: e0835f8
h: refs/heads/master
v: v3
  • Loading branch information
YOSHIFUJI Hideaki committed Jul 3, 2008
1 parent 2ebd0c1 commit 6bbfef8
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 03d2f897e9fb3218989baa2139a951ce7f5414bf
refs/heads/master: e0835f8fa56d2d308486f8a34cf1c4480cd27f4e
27 changes: 27 additions & 0 deletions trunk/include/linux/mroute.h
Original file line number Diff line number Diff line change
Expand Up @@ -144,10 +144,37 @@ static inline int ip_mroute_opt(int opt)
}
#endif

#ifdef CONFIG_IP_MROUTE
extern int ip_mroute_setsockopt(struct sock *, int, char __user *, int);
extern int ip_mroute_getsockopt(struct sock *, int, char __user *, int __user *);
extern int ipmr_ioctl(struct sock *sk, int cmd, void __user *arg);
extern int ip_mr_init(void);
#else
static inline
int ip_mroute_setsockopt(struct sock *sock,
int optname, char __user *optval, int optlen)
{
return -ENOPROTOOPT;
}

static inline
int ip_mroute_getsockopt(struct sock *sock,
int optname, char __user *optval, int __user *optlen)
{
return -ENOPROTOOPT;
}

static inline
int ipmr_ioctl(struct sock *sk, int cmd, void __user *arg)
{
return -ENOIOCTLCMD;
}

static inline int ip_mr_init(void)
{
return 0;
}
#endif

struct vif_device
{
Expand Down
32 changes: 32 additions & 0 deletions trunk/include/linux/mroute6.h
Original file line number Diff line number Diff line change
Expand Up @@ -131,12 +131,44 @@ static inline int ip6_mroute_opt(int opt)

struct sock;

#ifdef CONFIG_IPV6_MROUTE
extern int ip6_mroute_setsockopt(struct sock *, int, char __user *, int);
extern int ip6_mroute_getsockopt(struct sock *, int, char __user *, int __user *);
extern int ip6_mr_input(struct sk_buff *skb);
extern int ip6mr_ioctl(struct sock *sk, int cmd, void __user *arg);
extern int ip6_mr_init(void);
extern void ip6_mr_cleanup(void);
#else
static inline
int ip6_mroute_setsockopt(struct sock *sock,
int optname, char __user *optval, int optlen)
{
return -ENOPROTOOPT;
}

static inline
int ip6_mroute_getsockopt(struct sock *sock,
int optname, char __user *optval, int __user *optlen)
{
return -ENOPROTOOPT;
}

static inline
int ip6mr_ioctl(struct sock *sk, int cmd, void __user *arg)
{
return -ENOIOCTLCMD;
}

static inline int ip6_mr_init(void)
{
return 0;
}

static inline void ip6_mr_cleanup(void)
{
return;
}
#endif

struct mif_device
{
Expand Down
8 changes: 0 additions & 8 deletions trunk/net/ipv6/af_inet6.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,7 @@

#include <asm/uaccess.h>
#include <asm/system.h>
#ifdef CONFIG_IPV6_MROUTE
#include <linux/mroute6.h>
#endif

MODULE_AUTHOR("Cast of dozens");
MODULE_DESCRIPTION("IPv6 protocol stack for Linux");
Expand Down Expand Up @@ -952,11 +950,9 @@ static int __init inet6_init(void)
err = icmpv6_init();
if (err)
goto icmp_fail;
#ifdef CONFIG_IPV6_MROUTE
err = ip6_mr_init();
if (err)
goto ipmr_fail;
#endif
err = ndisc_init();
if (err)
goto ndisc_fail;
Expand Down Expand Up @@ -1059,10 +1055,8 @@ static int __init inet6_init(void)
igmp_fail:
ndisc_cleanup();
ndisc_fail:
#ifdef CONFIG_IPV6_MROUTE
ip6_mr_cleanup();
ipmr_fail:
#endif
icmpv6_cleanup();
icmp_fail:
unregister_pernet_subsys(&inet6_net_ops);
Expand Down Expand Up @@ -1117,9 +1111,7 @@ static void __exit inet6_exit(void)
ipv6_netfilter_fini();
igmp6_cleanup();
ndisc_cleanup();
#ifdef CONFIG_IPV6_MROUTE
ip6_mr_cleanup();
#endif
icmpv6_cleanup();
rawv6_exit();

Expand Down

0 comments on commit 6bbfef8

Please sign in to comment.