[c-nsp] BFD on ME3600/ME3800/7600s

James Bensley jwbensley at gmail.com
Tue May 31 04:50:10 EDT 2016


On 28 May 2016 at 10:31, Adam Vitkovsky <Adam.Vitkovsky at gamma.co.uk> wrote:
> Alright then so indeed nodes participating in echo mode have to do more work as nodes participating in non-echo mode. That's why assume it performs slower (comparing performance of both modes in SW).
>
> To do list of one of the nodes in non-echo mode:
> Tx at a given rate.
> Reset dead timer if hello from remote node received.
>
> To do list of one of the nodes in non-echo mode:
> Tx at a given rate.
> Reset dead timer if own hello received.

>>   > Loop partner's hellos at a given rate.   <<

This last item is a bit of a misnomer.

This isn't an extra feature the CPU has to do. The CPU on has to
perform the first two action, which are the same (more or less) in
both echo and non-echo modes.

In echo mode the sending host sets its own MAC as the source MAC and
the receiving node MAC as the destination MAC within the Ethernet
headers. In the IP headers the source and destination IP are both the
sending node's IP. So the receiving node receives the BFD packet
because it has the destination MAC, but it see's the destination IP is
the sending node, so this should be forwarded in hardware like any
other L3 packet, so in echo mode the remote node that received the
echo frame is unaware it is forwarding BFD packets for the node that
send the echo packet. So there is no additional action for nodes
running echo mode.

So going back to your "to do" list:

> To do list of one of the nodes in non-echo mode:
> Tx at a given rate.
> Reset dead timer if hello from remote node received.

In this mode the remote nodes packet with the local node IP as the
destination IP causing the packets to the punted.

> To do list of one of the nodes in echo mode:
> Tx at a given rate.
> Reset dead timer if own hello received.

In this mode the local node sends packets with the destination IP as
its own IP since they are looped back, they will be punted upon return
arrival.

So in both cases what I expect to be happening is that the originating
of BFD packets and checking of the received packet be they locally
originated or remotely originated (echo more or non-echo mode
respectively) is offloaded to the ASIC.

So since we are doing more or less the same amount of work in ASIC,
I'm not sure why echo mode is not support on the ME3600X/ME3800X/7600
LAN & CFC cards in hardware but non-echo mode is?

Whatever the answer way we have reliably lab tested that 50ms x3 works
in ME3600X/ME3800X and something like 500ms x3 works fine on 7600 LAN
cards (that could probably go lower for 7600s tbh!) but some official
word from Cisco would be nice.

Cheers,
James.


More information about the cisco-nsp mailing list