Your browser failed to load CSS style sheets. Your browser or web proxy might not support elliptic-curve TLS

Building network automation solutions

9 module online course

Start now!
back to overview

NetDev 0x13 on Software Gone Wild

The last Software Gone Wild podcast recorded in 2019 focused on advances in Linux networking - in particular on interesting stuff presented at NetDev 0x13 conference in Prague. The guests (in alphabetical first name order) Jamal Hadi Salim, Shrijeet Mukherjee, Sowmini Varadhan, and Tom Herbert shared their favorite topics, and commented on the future of Linux networking.


Shortly after the blog post was published, Donald Sharp (of the FRR fame) sent me detailed explanation of FRR threading behavior we briefly touched upon during our chat


Currently both BGP and Zebra have been modified to take advantage of pthreads. Each pthread does use the micro thread/event loop as you alluded to Shrijeet but they are independent entities now.

Zebra creates a pthread per connecting protocol as well as having a dplane and processing pthreads. So for example if you have BGP and OSPF running, Zebra would have 4 pthreads running. BGP has a i/o pthread, keepalive pthread and main processing pthread (more details).

Long term plans are to eventually add more pthreads but only after appropriate profiling shows a need to break up processing a bit more. The only protocol that I foresee someone adding pthreads to is PIM in the near future, mainly because that protocol is very chatty.

Please read our Blog Commenting Policy before writing a comment.

No comments:

Constructive courteous comments are most welcome. Anonymous trolling will be removed with prejudice.

Sidebar