User login

Weekly Report

29

Nov

2013

I spent the week dealing with the disappearing packets. My initial attempts to recreate the problem in a more simple setup kept resulting in kernel panics. To try to expedite the process of diagnosing the kernel panics we set up a virtual machine. This didnt particularly help with diagnosis however, as it fixed the problem immediately.

The mystery of the disappearing packets seems to be related to recirculating packets. That is, when you add or remove an mpls label the packet is recirculated to update the header information.

When I push an mpls label and send the packet to another table, if the flow on that table attempts to push another label the packet will be dropped instead. The flow count for the second flow is incremented but its actions dont seem to occur.
This only seems to happen with pushing labels. Other actions, like updating the mpls label fields (ttl or label), dont seem to cause this.

There are some other bizarre outcomes I am coming across. Popping mpls labels seems to be popping the innermost label, I end up with packets with one mpls tag, without the bottom of stack bit set and with the wrong label arriving at the hosts.

Also in some cases the flow counters are not getting updated, which could be a big problem for me.

All of this also is occurring in what appears to me at least to be a delightfully non-deterministic fashion.

I emailed the guy who maintains the branch I am using, but havent heard back yet. Hopefully he can shed some light on things.

But, in general, things are not going as well as they might be just at the moment.