[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openbgpd-users
Subject:    Re: openbgpd performance issues
From:       Justin Pietsch <jpietsch () gmail ! com>
Date:       2021-09-22 16:35:57
Message-ID: CALSYsue5o3nVNCupszkazOcax-+v1=qp+wqEA2QPf=gQWXN0VQ () mail ! gmail ! com
[Download RAW message or body]

I finally figure out the issue when the dropped pier. By default openbgd
uses ‘enforce neighbor-as'    No other bgpd does that by check default.
More in my latest blog post
https://elegantnetwork.github.io/posts/bird-on-bird-bgp-perf-episode4/

On Wed, Sep 1, 2021 at 8:26 AM Justin Pietsch <jpietsch@gmail.com> wrote:

> Just look at bgpdump_blaster.c bgpdump_read().
> > There is no capability negotiation in the BGP_MSG_OPEN case. bgpdump2
> > assumes it can send both IPv4 and IPv6 prefixes over that session. There
> > are also other assumptions because it does not look at any capability.
> > It seems FRR and bird ignore non-negotiated AFI/SAFI NLRI. OpenBGPD will
> > reset the session with a NOTIFICATION in that case.
> > 
> 
> thanks. I pointed the bgpdump2 person at this thread.
> 
> OpenBGPD supports loading MRT dump files and can be used to simulate
> > peers
> > 
> 
> I didn't know that. I'll put it on my list of things to do to add openbgpd
> as an mrt generator.
> 
> Also BGP performance is not only about cold start behaviour.
> > 
> 
> It seemed the easiest place to start, especially because bgperf that I
> forked from operates that way. I wanted to get some data.
> 
> Do you have suggestions as to what else to test or how to test better?
> 
> Do you have pointers to perf test results or comparisons?
> 
> thanks again,
> Justin
> 
> On Tue, Aug 31, 2021 at 10:39 AM Claudio Jeker <cjeker@diehard.n-r-g.com>
> wrote:
> 
> > On Tue, Aug 31, 2021 at 09:42:54AM -0700, Justin Pietsch wrote:
> > > Claudio, can you tell me more about bgpdump2 being non-standard
> > > implementation? I'd like to understand that better.
> > 
> > Just look at bgpdump_blaster.c bgpdump_read().
> > There is no capability negotiation in the BGP_MSG_OPEN case. bgpdump2
> > assumes it can send both IPv4 and IPv6 prefixes over that session. There
> > are also other assumptions because it does not look at any capability.
> > It seems FRR and bird ignore non-negotiated AFI/SAFI NLRI. OpenBGPD will
> > reset the session with a NOTIFICATION in that case.
> > 
> > Another thing I have seen while looking through the code is that bgpdump2
> > is only sending an IPv4 EOR marker, I did not find code to send an MP
> > protocol EOR marker.
> > 
> > This is just the first few errors I have seen while glancing at the code.
> > I bet there are more issues lurking inside it.
> > 
> > > Also, do you have a different or better bgp perf tester?
> > 
> > OpenBGPD supports loading MRT dump files and can be used to simulate
> > peers so does exabgp if used with https://github.com/cjeker/mrt4exabgp
> > Also BGP performance is not only about cold start behaviour.
> > 
> > --
> > > wq Claudio
> > 
> > > thanks again,
> > > Justin
> > > 
> > > On Fri, Aug 27, 2021 at 5:20 AM Claudio Jeker <cjeker@diehard.n-r-g.com
> > > 
> > > wrote:
> > > 
> > > > On Sun, Aug 22, 2021 at 11:47:46AM -0700, Justin Pietsch wrote:
> > > > > Hi all, I've been working on a series of blog posts about testing
> > bgp
> > > > > daemons performance. I'm currently working on a draft
> > > > > 
> > > > 
> > https://github.com/elegantnetwork/elegantnetwork.github.io/blob/master/_drafts/2021-08-120-comparing-open-source-bgp-internet-routes.md
> > 
> > > > > that found some issues with openbgpd, so I thought I'd let you know
> > > > before
> > > > > I publish it. This set of tests uses
> > https://github.com/rtbrick/bgpdump2
> > > > > and gobgp to play back routeviews MRT files.
> > > > > 
> > > > > bgpdump2 is especially fast, and so when testing using 30 bgpdump2
> > > > > neighbors with full internet tables, OpenBGPD will never finish all
> > 30
> > > > > neighbors. I've described it more in the blog post. This is a pretty
> > > > > extreme test, but FRRouting and BIRD pass it.
> > > > > 
> > > > > I don't know that this is especially important. I couldn't
> > replicate the
> > > > > same problem using GoBGP as the MRT generator, I think because it's
> > much
> > > > > slower.
> > > > > 
> > > > > My plan is to publish in about a week-and-a-half, but I'm going on
> > > > vacation
> > > > > right now, so won't be available to answer questions. sorry about
> > that.
> > > > 
> > > > I tried to reporduce your setup from the blog post but crucial
> > information
> > > > is missing. Now working with bgpdump2 and fixing way to many bugs,
> > > > gotchas and protability issues makes me think that the problem is
> > less in
> > > > OpenBGPD and is more something caused by the non-standard bpdump2
> > > > implementation of BGP.
> > > > 
> > > > I noticed that you run bgpdump2 with -a which I'm not able to do
> > since the
> > > > -a flag overrides the -p flag and results in massive memory
> > consumption.
> > > > Since using the -a flag results in more then one peer to be loaded I
> > > > wonder if bgpdump2 is sending unexpected AFI/SAFI for some peers which
> > > > results in these session resets.
> > > > 
> > > > I did run 54 bgpdump2 clients with 800k prefixes against a -current
> > > > OpenBSD system and it finished just fine. It took a while but all
> > clients
> > > > finished and no session was stuck the way you mentioned.
> > > > I used the amsix and lynx routeviews dump from the 24th Aug at 06:00.
> > > > 
> > > > It would be very helpful if you could share more information, like
> > > > the bgpd log files and bgpctl output and which MRT files and peers you
> > > > used.
> > > > 
> > > > --
> > > > > wq Claudio
> > > > 
> > 
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic