[OLSR-users] segmentation fault: when there is a change in the global IPv6 address whilst the olsrd is running

Robert Frank (spam-protected)
Wed Apr 20 13:00:44 CEST 2005


Hi
I am getting segmentation fault when i change the
global ipv6 address (by using the ifconfig eth1 {add |
del } )of the olsrd wireless interface (eth1) whilst
the olsrd deamon is running.This does not happen if
the olsrd does not have any neighbor, but if the node
has a neighbor, the segmentation fault problem arises.
Let me elobrate the problem. 

Scenario 1:  I have 2 nodes which are neighbors . Both
the nodes are configured with one global ipv6 address
on its wireless interface (say node1 (eth1):
2001:300:200:1::100/64 node 2(eth1):
2001:300:200:1::9/64). I start the olsrd deamon on
both the nodes. Now i delete the ipv6 address of the
node 2 ( ifconfig eth1 del 2001:300:200:1::9/64).When
the olsrd tries to form the neighbor table
segmentation fault occurs ( instead of saying no ipv6
global address for eth1)


Scenario 2: I have 2 nodes which are neighbors . Both
the nodes are configured with one global ipv6 address
on its wireless interface (say node1 (eth1):
2001:300:200:1::100/64 node 2(eth1):
2001:300:200:1::9/64). Whilst the olsrd is running, i
add another global ipv6 address  to the node 2
wireless if (eth1) (say 2001:300:200:1::11/64). Now
node 2 eth1 has 2 global ipv6 addresses
(2001:300:200:1::9/64, 2001:300:200:1::11/64). The
olsrd deamon detects this new Ipv6 address and from
the olsrd debug message i find that when it tries to
print the neighbor table it says segmentation fault.

Scenario 3:  My node 2 wireless if is configured with
2 global ipv6 addresses (2001:300:200:1::9/64,
2001:300:200:1::11/64). Then i start the olsrd deamon.
Now i delete one of the ipv6 address (say
2001:300:200:1::11/64). the same segmentation fault
occurs.

To my understanding olsrd probes the interfaces at
regular intervals and detects the change of addresses
in the wirelss ineterface. But some where there is a
problem which creates the segmentation fault when the
ipv6 address changes and the formation of the neighbor
table thereof.

In other words whenever there is a change in the IPv6
address, the next time the olsrd tries to manipulate
the neighbor table, segmentation fault occurs

I have pasted the relevant section of 
the log files for further analysis


scenario 1:

Got HELLO vtime: 6.000000 htime: 2.000000
Got HELLO vtime: 6.000000 htime: 2.000000
Got HELLO vtime: 6.000000 htime: 2.000000
	inet6 addr: fe80:0000:0000:0000:0211:95ff:fe4a:ea3c
	Scope: 32	Could not find global IPv6 address for eth1
Removing interface eth1
No more interfaces...
Removing OLSR socket entry 5
APM info:
	AC status 1
	Battery percentage -1%
	Battery time left -1 mins

HYST[2001:300:200:1::100] HELLO timeout 0.500

**RECALCULATING MPR**

Two hop neighbors: 0
************** TABLES ****************
Routing table:
ROUTING TABLE
DESTINATION	NEXT HOP
Old table:
ROUTING TABLE
DESTINATION	NEXT HOP
2001:300:200:1::100	2001:300:200:1::100
**************************************
Updating kernel routes...
(ioctl)Deleting route: 2001:300:200:1::100(hopc 1)
Deleting route: 2001:300:200:1::100
Updating kernel HNA routes...
HNA table:
ROUTING TABLE
DESTINATION	NEXT HOP
mid set: 21:14:42.036483

DUP TABLE:


--- 21:14:42.03
------------------------------------------------- HNA
SET

IP net/prefixlen               GW IP

--- 21:14:42.03
----------------------------------------------------
LINKS

IP address                               hyst   LQ    
lost   total  NLQ    ETX
2001:300:200:1::100                      0.500  0.000 
0      0      0.000  0.00

--- 21:14:42.03
------------------------------------------------
NEIGHBORS

IP address                               LQ     NLQ   
SYM   MPR   MPRS  will
segmentation fault

scenbario 2: 

--- 20:47:44.41
-------------------------------------------------
TOPOLOGY

Source IP addr                Dest IP addr            
       LQ     ILQ    ETX
	inet6 addr: 2001:0300:0200:0001:0000:0000:0000:0011
	Scope: 0IPv6 addr:
New IP address for eth1:
	Old: 2001:300:200:1::9
	New: 2001:300:200:1::11
Got HELLO vtime: 6.000000 htime: 2.000000

**RECALCULATING MPR**

Two hop neighbors: 0
CHANGES IN MPR SET
************** TABLES ****************
Routing table:
ROUTING TABLE
DESTINATION	NEXT HOP
Old table:
ROUTING TABLE
DESTINATION	NEXT HOP
2001:300:200:1::11	2001:300:200:1::100
2001:300:200:1::100	2001:300:200:1::100
**************************************
Updating kernel routes...
(ioctl)Deleting route: 2001:300:200:1::11(hopc 2)
Deleting route: 2001:300:200:1::11
(ioctl)Deleting route: 2001:300:200:1::100(hopc 1)
Deleting route: 2001:300:200:1::100
Updating kernel HNA routes...
HNA table:
ROUTING TABLE
DESTINATION	NEXT HOP
mid set: 20:47:46.276491

DUP TABLE:


--- 20:47:46.27
------------------------------------------------- HNA
SET

IP net/prefixlen               GW IP

--- 20:47:46.27
----------------------------------------------------
LINKS

IP address                               hyst   LQ    
lost   total  NLQ    ETX
2001:300:200:1::100                      0.000  0.000 
0      0      0.000  0.00
2001:300:200:1::100                      1.000  0.000 
0      0      0.000  0.00

--- 20:47:46.27
------------------------------------------------
NEIGHBORS

IP address                               LQ     NLQ   
SYM   MPR   MPRS  will

Segmentation fault

Scenario 3

--- 21:04:54.37
-------------------------------------------------
TOPOLOGY

Source IP addr                Dest IP addr            
       LQ     ILQ    ETX
	inet6 addr: fe80:0000:0000:0000:0211:95ff:fe4a:ea3c
	Scope: 32	inet6 addr:
2001:0300:0200:0001:0000:0000:0000:0009
	Scope: 0IPv6 addr:
New IP address for eth1:
	Old: 2001:300:200:1::11
	New: 2001:300:200:1::9
Got HELLO vtime: 6.000000 htime: 2.000000

**RECALCULATING MPR**

Two hop neighbors: 0
CHANGES IN MPR SET
************** TABLES ****************
Routing table:
ROUTING TABLE
DESTINATION	NEXT HOP
Old table:
ROUTING TABLE
DESTINATION	NEXT HOP
2001:300:200:1::9	2001:300:200:1::100
2001:300:200:1::100	2001:300:200:1::100
**************************************
Updating kernel routes...
(ioctl)Deleting route: 2001:300:200:1::9(hopc 2)
Deleting route: 2001:300:200:1::9
(ioctl)Deleting route: 2001:300:200:1::100(hopc 1)
Deleting route: 2001:300:200:1::100
Updating kernel HNA routes...
HNA table:
ROUTING TABLE
DESTINATION	NEXT HOP
mid set: 21:04:56.716489

DUP TABLE:


--- 21:04:56.71
------------------------------------------------- HNA
SET

IP net/prefixlen               GW IP

--- 21:04:56.71
----------------------------------------------------
LINKS

IP address                               hyst   LQ    
lost   total  NLQ    ETX
2001:300:200:1::100                      0.000  0.000 
0      0      0.000  0.00
2001:300:200:1::100                      1.000  0.000 
0      0      0.000  0.00

--- 21:04:56.71
------------------------------------------------
NEIGHBORS

IP address                               LQ     NLQ   
SYM   MPR   MPRS  will
Segmentation fault


Any suggestions
Rob

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



More information about the Olsr-users mailing list