I'm going to implement a BFD module (for MPLS LSPs) in VxWorks and was wondering the following:
Is it better to create and use a separate timer instance (<2048) per BFD session at the specified Tx interval
or
is it better to use a global timer that runs at 100us and checks each session's the time that has expired since the last BFD was sent which will result in higher (potentially unnecessary) CPU usage but will in turn allow for usage of different Tx & Rx intervals (which is a requirement as per RFC5884).
Any alternative ideas on how to best solve this real-time problem?