From: Krishna Kumar <krkumar@us.ibm.com>
To: kuznet@ms2.inr.ac.ru, davem@redhat.com
Cc: ajtuomin@tml.hut.fi (Antti Tuominen),
lpetande@tml.hut.fi (Petander Henrik),
jagana@us.ibm.com, krkumar@us.ibm.com (Krishna Kumar),
netdev@oss.sgi.com, linux-kernel@vger.kernel.org
Subject: [PATCHSET] Mobile IPv6 for 2.5.45
Date: Thu, 31 Oct 2002 18:19:21 -0800 (PST) [thread overview]
Message-ID: <200211010219.gA12JMn11699@eng2.beaverton.ibm.com> (raw)
Hi Alexey,
We have been working with MIPL to further split the patch as you had suggested. The patch I am sending breaks this into Correspondent Node, Mobile Node and Home Agent functionalities. This patch is against 2.5.45. As part of integrating with 2.5.45 as well as due to the splitting done, there is one outstanding issue with the patch : at module unload time, some memory allocated during module_init is not freed up. However this is a small issue and we are confident of submitting a patch in a couple of days to fix this. The code base is the same that was submitted a few days ago, so the only new thing is the further splitting work and integrating with 2.5.45.
The patch is in two parts, you need to first install the following patch :
http://traci.mipl.mediapoli.com/patches/mipl-2.5.45.patch
After that, please apply the patch at the end of this mail (created as part of 2.5.45 cleanup) to create the final tree. Once the two patches are applied, you will see separate files for the client and the agent parts.
Please let us know if you need any clarification on this patch.
Thanks,
- KK
---------------------------- Patch 2 ------------------------------------------
diff -ruN linux-2.5.45.org/net/ipv6/ipv6_syms.c linux-2.5.45/net/ipv6/ipv6_syms.c
--- linux-2.5.45.org/net/ipv6/ipv6_syms.c Thu Oct 31 18:00:41 2002
+++ linux-2.5.45/net/ipv6/ipv6_syms.c Thu Oct 31 15:07:47 2002
@@ -54,6 +54,7 @@
EXPORT_SYMBOL(ip6_rt_addr_del);
EXPORT_SYMBOL(ip6_routing_table);
EXPORT_SYMBOL(ip6_route_add);
+EXPORT_SYMBOL(ip6_route_del);
EXPORT_SYMBOL(ip6_del_rt);
EXPORT_SYMBOL(fib6_clean_tree);
EXPORT_SYMBOL(rt6_lock);
diff -ruN linux-2.5.45.org/net/ipv6/route.c linux-2.5.45/net/ipv6/route.c
--- linux-2.5.45.org/net/ipv6/route.c Thu Oct 31 17:52:04 2002
+++ linux-2.5.45/net/ipv6/route.c Thu Oct 31 13:07:03 2002
@@ -788,7 +788,7 @@
return err;
}
-static int ip6_route_del(struct in6_rtmsg *rtmsg)
+int ip6_route_del(struct in6_rtmsg *rtmsg)
{
struct fib6_node *fn;
struct rt6_info *rt;
diff -ruN linux-2.5.45.org/net/ipv6/ipv6_tunnel.c linux-2.5.45/net/ipv6/ipv6_tunnel.c
--- linux-2.5.45.org/net/ipv6/ipv6_tunnel.c Thu Oct 31 18:00:41 2002
+++ linux-2.5.45/net/ipv6/ipv6_tunnel.c Thu Oct 31 12:53:23 2002
@@ -1202,16 +1202,16 @@
t->parms.name);
goto tx_err_dst_release;
}
- mtu = dst->pmtu - sizeof (*ipv6h);
+ mtu = dst->metrics[RTAX_MTU-1] - sizeof (*ipv6h);
if (opt) {
mtu -= (opt->opt_nflen + opt->opt_flen);
}
if (mtu < IPV6_MIN_MTU)
mtu = IPV6_MIN_MTU;
- if (skb->dst && mtu < skb->dst->pmtu) {
+ if (skb->dst && mtu < skb->dst->metrics[RTAX_MTU-1]) {
struct rt6_info *rt6 = (struct rt6_info *) skb->dst;
rt6->rt6i_flags |= RTF_MODIFIED;
- rt6->u.dst.pmtu = mtu;
+ rt6->u.dst.metrics[RTAX_MTU-1] = mtu;
}
if (skb->len > mtu) {
icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu, dev);
diff -ruN linux-2.5.45.org/net/ipv6/exthdrs.c linux-2.5.45/net/ipv6/exthdrs.c
--- linux-2.5.45.org/net/ipv6/exthdrs.c Thu Oct 31 18:00:41 2002
+++ linux-2.5.45/net/ipv6/exthdrs.c Thu Oct 31 12:44:06 2002
@@ -80,7 +80,7 @@
/* An unknown option is detected, decide what to do */
-static int ip6_tlvopt_unknown(struct sk_buff *skb, int optoff)
+int ip6_tlvopt_unknown(struct sk_buff *skb, int optoff)
{
switch ((skb->nh.raw[optoff] & 0xC0) >> 6) {
case 0: /* ignore */
diff -ruN linux-2.5.45.org/net/ipv6/mobile_ip6/ha.h linux-2.5.45/net/ipv6/mobile_ip6/ha.h
--- linux-2.5.45.org/net/ipv6/mobile_ip6/ha.h Thu Oct 31 18:00:42 2002
+++ linux-2.5.45/net/ipv6/mobile_ip6/ha.h Thu Oct 31 15:43:25 2002
@@ -258,6 +258,13 @@
if (*lifetime > MAX_RR_BINDING_LIFE)
*lifetime = MAX_RR_BINDING_LIFE;
}
+
+static __inline__ int mipv6_del_tnl_to_mn(struct in6_addr *coa,
+ struct in6_addr *ha_addr, struct in6_addr *home_addr)
+{
+ return 0;
+}
+
#endif /* CONFIG_IPV6_MOBILITY_HA */
#endif
diff -ruN linux-2.5.45.org/net/ipv6/mobile_ip6/hashlist.c linux-2.5.45/net/ipv6/mobile_ip6/hashlist.c
--- linux-2.5.45.org/net/ipv6/mobile_ip6/hashlist.c Thu Oct 31 18:00:42 2002
+++ linux-2.5.45/net/ipv6/mobile_ip6/hashlist.c Thu Oct 31 16:21:08 2002
@@ -115,7 +115,9 @@
}
if (hashlist->kmem) {
+#if 0
kmem_cache_destroy(hashlist->kmem);
+#endif
hashlist->kmem = NULL;
}
diff -ruN linux-2.5.45.org/net/ipv6/mobile_ip6/bcache.c linux-2.5.45/net/ipv6/mobile_ip6/bcache.c
--- linux-2.5.45.org/net/ipv6/mobile_ip6/bcache.c Thu Oct 31 18:00:42 2002
+++ linux-2.5.45/net/ipv6/mobile_ip6/bcache.c Thu Oct 31 16:31:47 2002
@@ -905,7 +905,7 @@
del_timer(&bcache->callback_timer);
while ((entry = (struct mipv6_bcache_entry *)
- hashlist_get_first(bcache->entries)) != NULL) {
+ hashlist_get_first(bcache->entries)) != NULL) {
hashkey.a1 = &entry->home_addr;
hashkey.a2 = &entry->our_addr;
diff -ruN linux-2.5.45.org/net/ipv6/mobile_ip6/halist.c linux-2.5.45/net/ipv6/mobile_ip6/halist.c
--- linux-2.5.45.org/net/ipv6/mobile_ip6/halist.c Thu Oct 31 18:00:42 2002
+++ linux-2.5.45/net/ipv6/mobile_ip6/halist.c Thu Oct 31 16:59:17 2002
@@ -472,7 +472,9 @@
DEBUG(DBG_INFO, "Stopping the timer");
del_timer(&home_agents->expire_timer);
+#if 0
mipv6_halist_gc(1);
+#endif
hashlist_destroy(home_agents->entries);
proc_net_remove("mip6_home_agents");
diff -ruN linux-2.5.45.org/include/net/ip6_route.h linux-2.5.45/include/net/ip6_route.h
--- linux-2.5.45.org/include/net/ip6_route.h Thu Oct 31 18:00:41 2002
+++ linux-2.5.45/include/net/ip6_route.h Thu Oct 31 15:09:50 2002
@@ -37,6 +37,7 @@
extern int ipv6_route_ioctl(unsigned int cmd, void *arg);
extern int ip6_route_add(struct in6_rtmsg *rtmsg);
+extern int ip6_route_del(struct in6_rtmsg *rtmsg);
extern int ip6_del_rt(struct rt6_info *);
extern int ip6_rt_addr_add(struct in6_addr *addr,
diff -ruN linux-2.5.45.org/include/linux/sysctl.h linux-2.5.45/include/linux/sysctl.h
--- linux-2.5.45.org/include/linux/sysctl.h Thu Oct 31 18:00:41 2002
+++ linux-2.5.45/include/linux/sysctl.h Thu Oct 31 12:32:08 2002
@@ -359,7 +359,7 @@
NET_IPV6_NEIGH=17,
NET_IPV6_ROUTE=18,
NET_IPV6_ICMP=19,
- NET_IPV6_BINDV6ONLY=20
+ NET_IPV6_BINDV6ONLY=20,
NET_IPV6_MOBILITY=21
};
---------------------------- End of Patch -------------------------------------
next reply other threads:[~2002-11-01 2:14 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-01 2:19 Krishna Kumar [this message]
2002-11-01 2:17 ` David S. Miller
2002-11-01 2:36 ` YOSHIFUJI Hideaki / 吉藤英明
2002-11-01 6:51 Venkata Jagana
2002-11-01 10:37 ` David S. Miller
2002-11-02 0:32 Venkata Jagana
2002-11-02 1:03 Jean Tourrilhes
2002-11-02 1:15 Krishna Kumar
2002-11-02 3:00 ` YOSHIFUJI Hideaki / 吉藤英明
2002-11-02 8:36 ` Pekka Savola
2002-11-02 8:23 ` Jeff Garzik
2002-11-02 21:13 Krishna Kumar
2002-11-03 2:23 ` Werner Almesberger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200211010219.gA12JMn11699@eng2.beaverton.ibm.com \
--to=krkumar@us.ibm.com \
--cc=ajtuomin@tml.hut.fi \
--cc=davem@redhat.com \
--cc=jagana@us.ibm.com \
--cc=kuznet@ms2.inr.ac.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=lpetande@tml.hut.fi \
--cc=netdev@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®