]> git.proxmox.com Git - mirror_frr.git/commit - bgpd/bgp_attr.c
bgpd: implement buffered reads
authorQuentin Young <qlyoung@cumulusnetworks.com>
Tue, 2 May 2017 00:37:45 +0000 (00:37 +0000)
committerQuentin Young <qlyoung@cumulusnetworks.com>
Thu, 30 Nov 2017 21:17:59 +0000 (16:17 -0500)
commit424ab01d0f69a71b865e5f2d817baea7ce263e44
tree82f06cf1dae116f6db05cd5409475a6f8b6dcf1e
parent56257a44e408b7491090b47e24b22beeb1cfd35e
bgpd: implement buffered reads

* Move and modify all network input related code to bgp_io.c
* Add a real input buffer to `struct peer`
* Move connection initialization to its own thread.c task instead of
  piggybacking off of bgp_read()
* Tons of little fixups

Primary changes are in bgp_packet.[ch], bgp_io.[ch], bgp_fsm.[ch].
Changes made elsewhere are almost exclusively refactoring peer->ibuf to
peer->curr since peer->ibuf is now the true FIFO packet input buffer
while peer->curr represents the packet currently being processed by the
main pthread.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
17 files changed:
bgpd/bgp_attr.c
bgpd/bgp_fsm.c
bgpd/bgp_fsm.h
bgpd/bgp_io.c
bgpd/bgp_io.h
bgpd/bgp_keepalives.c
bgpd/bgp_keepalives.h
bgpd/bgp_packet.c
bgpd/bgp_packet.h
bgpd/bgp_updgrp.h
bgpd/bgp_vty.c
bgpd/bgpd.c
bgpd/bgpd.h
bgpd/rfapi/rfapi.c
bgpd/rfapi/vnc_zebra.c
lib/thread.c
lib/thread.h