Subject: [mobile-ip] Wrong operation in Home Agent Address Discovery Mechanism in HA?

From: Miguel Angel Díaz <[email-masked]>
Date: Mon, 9 Dec 2002 18:30:34 +0100

Hi folks,

I am testing interoperatibility between HUT MIPL (0.9.4) host runing as Home Agent (HA) and a MIP stack on Windows 2000 host running as Mobile Node. Only one HA (operating as router with radvd activated) and one router are present in the home network.

Mobile Node do not know the Home Agent Address, so when it is away from home network it send ICMP Home Agent Address Discovery Request Messages (HAADRqM) (following point 10.8 of draft 15) to the home network anycast address (2001:618:10:2a03:fdff:ffff:ffff:fffe/64) and it wait to receive ICMP Home Agent Address Discovery Reply Message (HAADRpM) from the home network.

I checked that HAADRqMs are sent and they reach the home network. However HA do not respond with a HAADRpM. Futhermore the message "Not Home Agent in this interface" in the HA is shown in the /var/log/messages file when a HAADRqM is received and debug level is set as 7. Of course, the HA has the anycast addres in the home network interface.

I debugged HUT MIPL and I checked that the "ipv6_addr_any(...)" function in the file "/usr/src/linux/include/net/ipv6.h" return a not zero value, so the "mipv6_ha_get_addr(...)" function in the file "/usr/src/linux/net/ipv6/mobile_ip6/halist.c" return a -1 value and the "mipv6_ha_dhaad_sen_rep(...)" function in the file "/usr/src/linux/net/ipv6/mobile_ip6/dhaad.c" show "Not Home Agent in this interface" and HA can not send the HAADRpM

My questions are:

1.- It seems the HA has his Home Agent List empty and so it showssthe message "Not Home Agent in this interface". Is it right?

2.- HA seems working wrong because it should have a Home Agent List with his own global address. Doesn't it?

3.- So, HA should send a HAADRpM with his own global addres to the MN. Doesn't it?

4.- So, is something wrong in MIPL HUT 0.9.4? Must I configure manually MIPL HUT to it has a no empty Home Agent List. If so, how can I do it?

How can solve this?

Thanks in advance.
Best regards.

***********************************
Miguel A. Díaz
Support and R&D Engineer
+3411518199
CONSULINTEL (http://www.consulintel.es)

***********************************
Madrid 2003 Global IPv6 Summit
12-14 May 2003 - Soon on line at:
http://www.ipv6-es.com
Interested in participating or sponsoring ?
Contact us at [email-masked]

---

From: Behcet Sarikaya <[email-masked]>
Date: Mon, 09 Dec 2002 14:01:40 -0600

Hello Miguel,
  I do not know if someone else already replied.
Here is my take. It seems that Home Agent List being empty is correct 
since there is no other HA on the link other than itself.
The bug seems to be that HA must (I think) send a reply HAAARpM and 
include global addresses from the list which is empty
and its own address.
  So correcting this bug may take you longer than you expect.

  BTW, I found a typographic problem in the text :

> This list is used in
>    the dynamic home agent address discovery mechanism, described in
>    Section 10.5. 

which is already at Section 10.5.1 !
Regards,

Miguel Angel Díaz wrote:

> Hi folks,
>  
> I am testing interoperatibility between HUT MIPL (0.9.4) host runing 
> as Home Agent (HA) and a MIP stack on Windows 2000 host running as 
> Mobile Node. Only one HA (operating as router with radvd activated) 
> and one router are present in the home network.
>  
> Mobile Node do not know the Home Agent Address, so when it is away 
> from home network it send ICMP Home Agent Address Discovery Request 
> Messages (HAADRqM) (following point 10.8 of draft 15) to the home 
> network anycast address (2001:618:10:2a03:fdff:ffff:ffff:fffe/64) and 
> it wait to receive ICMP Home Agent Address Discovery Reply Message 
> (HAADRpM) from the home network.
>  
> I checked that HAADRqMs are sent and they reach the home network. 
> However HA do not respond with a HAADRpM. Futhermore the message "Not 
> Home Agent in this interface" in the HA is shown in the 
> /var/log/messages file when a HAADRqM is received and debug level is 
> set as 7. Of course, the HA has the anycast addres in the home network 
> interface.
>  
> I debugged HUT MIPL and I checked that the "ipv6_addr_any(...)" 
> function in the file "/usr/src/linux/include/net/ipv6.h" return a not 
> zero value, so the "mipv6_ha_get_addr(...)" function in the file 
> "/usr/src/linux/net/ipv6/mobile_ip6/halist.c" return a -1 value and 
> the "mipv6_ha_dhaad_sen_rep(...)" function in the file 
> "/usr/src/linux/net/ipv6/mobile_ip6/dhaad.c" show "Not Home Agent in 
> this interface" and HA can not send the HAADRpM
>  
> My questions are:
>  
> 1.- It seems the HA has his Home Agent List empty and so it showssthe 
> message "Not Home Agent in this interface". Is it right?
>  
> 4.- So, is something wrong in MIPL HUT 0.9.4? Must I configure 
> manually MIPL HUT to it has a no empty Home Agent List. If so, how can 
> I do it?
>  
> How can solve this?
>  
> Thanks in advance.
> Best regards.
>  

-- 
Behcet

---

From: Antti Tuominen <[email-masked]>
Date: Tue, 10 Dec 2002 13:59:12 +0200

> Hello Miguel,

Hi Behcet, Miguel,

> include global addresses from the list which is empty

You are right.  We only send addresses from the list, and this causes
the problem.  However, you shouldn't get this problem if you send RAs
with H-bit set from the interface.  If MIPL gets RAs from itself, it
will add its own address to the Home Agents list.

Why MIPL does this is that it does not know on which interfaces it
acts as a home agent (and what address it uses).  It learns this
information from the RAs it sends.  We did this because we wanted to
cut down on the amount of static configuration.  You have to have the
information in the Router Advertisement daemons configuration file
already, and we didn't want to duplicate that in MIPL.

Another reason for having own address in the HA List is that we can
have the home agents on a sorted list (by preference) and do not have
to figure out where our own address fits in the list when answering to
DHAAD request.  And again, we don't need to configure preference for
the HA in MIPL since we get it in the RA.

Setting up DHAAD is a bit tricky (because of the above, and the
previous lack of anycast address support in Linux), but if you follow
the instructions in INSTALL closely, it has worked for us at least.

Regards,

Antti