  rt_update sometimes uses multicast route sequence no. to update route entry. Since valid rt_entry always has an even seqno, but multicast seqno is not always even. so this makes assert failure sometimes. Lesson: This Problem is hiden so deep, and I cost much time to find out. 
