Commit 6ac7eb08 authored by Rami Rosen's avatar Rami Rosen Committed by YOSHIFUJI Hideaki

[IPV6] MROUTE: Adjust IPV6 multicast routing module to use mroute6 header declarations.

- This patch adjusts IPv6 multicast routing module, net/ipv6/ip6mr.c,
to use mroute6 header definitions instead of mroute.
 (MFC6_LINES instead of MFC_LINES, MAXMIFS instead of MAXVIFS, mifi_t
instead of vifi_t.)

- In addition, inclusion of some headers was removed as it is not needed.
Signed-off-by: default avatarRami Rosen <ramirose@gmail.com>
Signed-off-by: default avatarYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
parent b2a9d7c2
...@@ -27,27 +27,18 @@ ...@@ -27,27 +27,18 @@
#include <linux/fcntl.h> #include <linux/fcntl.h>
#include <linux/stat.h> #include <linux/stat.h>
#include <linux/socket.h> #include <linux/socket.h>
#include <linux/in.h>
#include <linux/inet.h> #include <linux/inet.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <linux/inetdevice.h> #include <linux/inetdevice.h>
#include <linux/igmp.h>
#include <linux/proc_fs.h> #include <linux/proc_fs.h>
#include <linux/seq_file.h> #include <linux/seq_file.h>
#include <linux/mroute.h>
#include <linux/init.h> #include <linux/init.h>
#include <net/ip.h>
#include <net/protocol.h> #include <net/protocol.h>
#include <linux/skbuff.h> #include <linux/skbuff.h>
#include <net/sock.h> #include <net/sock.h>
#include <net/icmp.h>
#include <net/udp.h>
#include <net/raw.h> #include <net/raw.h>
#include <net/route.h>
#include <linux/notifier.h> #include <linux/notifier.h>
#include <linux/if_arp.h> #include <linux/if_arp.h>
#include <linux/netfilter_ipv4.h>
#include <net/ipip.h>
#include <net/checksum.h> #include <net/checksum.h>
#include <net/netlink.h> #include <net/netlink.h>
...@@ -83,7 +74,7 @@ static int mroute_do_pim; ...@@ -83,7 +74,7 @@ static int mroute_do_pim;
#define mroute_do_pim 0 #define mroute_do_pim 0
#endif #endif
static struct mfc6_cache *mfc6_cache_array[MFC_LINES]; /* Forwarding cache */ static struct mfc6_cache *mfc6_cache_array[MFC6_LINES]; /* Forwarding cache */
static struct mfc6_cache *mfc_unres_queue; /* Queue of unresolved entries */ static struct mfc6_cache *mfc_unres_queue; /* Queue of unresolved entries */
static atomic_t cache_resolve_queue_len; /* Size of unresolved */ static atomic_t cache_resolve_queue_len; /* Size of unresolved */
...@@ -102,7 +93,7 @@ static DEFINE_SPINLOCK(mfc_unres_lock); ...@@ -102,7 +93,7 @@ static DEFINE_SPINLOCK(mfc_unres_lock);
static struct kmem_cache *mrt_cachep __read_mostly; static struct kmem_cache *mrt_cachep __read_mostly;
static int ip6_mr_forward(struct sk_buff *skb, struct mfc6_cache *cache); static int ip6_mr_forward(struct sk_buff *skb, struct mfc6_cache *cache);
static int ip6mr_cache_report(struct sk_buff *pkt, vifi_t vifi, int assert); static int ip6mr_cache_report(struct sk_buff *pkt, mifi_t mifi, int assert);
static int ip6mr_fill_mroute(struct sk_buff *skb, struct mfc6_cache *c, struct rtmsg *rtm); static int ip6mr_fill_mroute(struct sk_buff *skb, struct mfc6_cache *c, struct rtmsg *rtm);
#ifdef CONFIG_IPV6_PIMSM_V2 #ifdef CONFIG_IPV6_PIMSM_V2
...@@ -597,9 +588,9 @@ static void ip6mr_update_thresholds(struct mfc6_cache *cache, unsigned char *ttl ...@@ -597,9 +588,9 @@ static void ip6mr_update_thresholds(struct mfc6_cache *cache, unsigned char *ttl
{ {
int vifi; int vifi;
cache->mfc_un.res.minvif = MAXVIFS; cache->mfc_un.res.minvif = MAXMIFS;
cache->mfc_un.res.maxvif = 0; cache->mfc_un.res.maxvif = 0;
memset(cache->mfc_un.res.ttls, 255, MAXVIFS); memset(cache->mfc_un.res.ttls, 255, MAXMIFS);
for (vifi = 0; vifi < maxvif; vifi++) { for (vifi = 0; vifi < maxvif; vifi++) {
if (MIF_EXISTS(vifi) && ttls[vifi] && ttls[vifi] < 255) { if (MIF_EXISTS(vifi) && ttls[vifi] && ttls[vifi] < 255) {
...@@ -700,7 +691,7 @@ static struct mfc6_cache *ip6mr_cache_alloc(void) ...@@ -700,7 +691,7 @@ static struct mfc6_cache *ip6mr_cache_alloc(void)
if (c == NULL) if (c == NULL)
return NULL; return NULL;
memset(c, 0, sizeof(*c)); memset(c, 0, sizeof(*c));
c->mfc_un.res.minvif = MAXVIFS; c->mfc_un.res.minvif = MAXMIFS;
return c; return c;
} }
...@@ -753,7 +744,7 @@ static void ip6mr_cache_resolve(struct mfc6_cache *uc, struct mfc6_cache *c) ...@@ -753,7 +744,7 @@ static void ip6mr_cache_resolve(struct mfc6_cache *uc, struct mfc6_cache *c)
* Called under mrt_lock. * Called under mrt_lock.
*/ */
static int ip6mr_cache_report(struct sk_buff *pkt, vifi_t vifi, int assert) static int ip6mr_cache_report(struct sk_buff *pkt, mifi_t mifi, int assert)
{ {
struct sk_buff *skb; struct sk_buff *skb;
struct mrt6msg *msg; struct mrt6msg *msg;
...@@ -815,7 +806,7 @@ static int ip6mr_cache_report(struct sk_buff *pkt, vifi_t vifi, int assert) ...@@ -815,7 +806,7 @@ static int ip6mr_cache_report(struct sk_buff *pkt, vifi_t vifi, int assert)
msg->im6_mbz = 0; msg->im6_mbz = 0;
msg->im6_msgtype = assert; msg->im6_msgtype = assert;
msg->im6_mif = vifi; msg->im6_mif = mifi;
msg->im6_pad = 0; msg->im6_pad = 0;
ipv6_addr_copy(&msg->im6_src, &ipv6_hdr(pkt)->saddr); ipv6_addr_copy(&msg->im6_src, &ipv6_hdr(pkt)->saddr);
ipv6_addr_copy(&msg->im6_dst, &ipv6_hdr(pkt)->daddr); ipv6_addr_copy(&msg->im6_dst, &ipv6_hdr(pkt)->daddr);
...@@ -848,7 +839,7 @@ static int ip6mr_cache_report(struct sk_buff *pkt, vifi_t vifi, int assert) ...@@ -848,7 +839,7 @@ static int ip6mr_cache_report(struct sk_buff *pkt, vifi_t vifi, int assert)
*/ */
static int static int
ip6mr_cache_unresolved(vifi_t vifi, struct sk_buff *skb) ip6mr_cache_unresolved(mifi_t mifi, struct sk_buff *skb)
{ {
int err; int err;
struct mfc6_cache *c; struct mfc6_cache *c;
...@@ -883,7 +874,7 @@ ip6mr_cache_unresolved(vifi_t vifi, struct sk_buff *skb) ...@@ -883,7 +874,7 @@ ip6mr_cache_unresolved(vifi_t vifi, struct sk_buff *skb)
/* /*
* Reflect first query at pim6sd * Reflect first query at pim6sd
*/ */
if ((err = ip6mr_cache_report(skb, vifi, MRT6MSG_NOCACHE)) < 0) { if ((err = ip6mr_cache_report(skb, mifi, MRT6MSG_NOCACHE)) < 0) {
/* If the report failed throw the cache entry /* If the report failed throw the cache entry
out - Brad Parker out - Brad Parker
*/ */
...@@ -992,11 +983,11 @@ static int ip6mr_mfc_add(struct mf6cctl *mfc, int mrtsock) ...@@ -992,11 +983,11 @@ static int ip6mr_mfc_add(struct mf6cctl *mfc, int mrtsock)
{ {
int line; int line;
struct mfc6_cache *uc, *c, **cp; struct mfc6_cache *uc, *c, **cp;
unsigned char ttls[MAXVIFS]; unsigned char ttls[MAXMIFS];
int i; int i;
memset(ttls, 255, MAXVIFS); memset(ttls, 255, MAXMIFS);
for (i = 0; i < MAXVIFS; i++) { for (i = 0; i < MAXMIFS; i++) {
if (IF_ISSET(i, &mfc->mf6cc_ifset)) if (IF_ISSET(i, &mfc->mf6cc_ifset))
ttls[i] = 1; ttls[i] = 1;
...@@ -1188,7 +1179,7 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, char __user *optval, int ...@@ -1188,7 +1179,7 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, char __user *optval, int
return -EINVAL; return -EINVAL;
if (copy_from_user(&vif, optval, sizeof(vif))) if (copy_from_user(&vif, optval, sizeof(vif)))
return -EFAULT; return -EFAULT;
if (vif.mif6c_mifi >= MAXVIFS) if (vif.mif6c_mifi >= MAXMIFS)
return -ENFILE; return -ENFILE;
rtnl_lock(); rtnl_lock();
ret = mif6_add(&vif, sk == mroute6_socket); ret = mif6_add(&vif, sk == mroute6_socket);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment