* Karl Austin <[EMAIL PROTECTED]> [2006-02-06 12:33]:
> Henning Brauer wrote:
> >* Karl Austin <[EMAIL PROTECTED]> [2006-02-06 11:39]:
> >>I've just upgraded a box to the 3.9 Snapshot from 30th January and now 
> >>whenever bgpd tries to open a session with a Extreme BlackDiamond it 
> >>reports the following:
> >>received notification: error in OPEN message, optional parameter error
> >>This was all working fine with a 3.8 snapshot before. Anyone else had 
> >>similar issue, a Google and Newsnet didn't turn up anything and I don't 
> >>recall seeing anything on-list either. I'm aware that the BD is probably 
> >>doing something it shouldn't be in terms of sticking to the RFCs, but 
> >>non-the-less, it did work before.
> >we are announcing something to the BD it does not like. a tcpdump 
> >(increase snaplen, like, tcpdump -vvv -n -s 1500 port 179) would help,
> >and you can play with announce IPv6/IPv6 in the config, and, as last 
> >resort, "announce capabilities no". But I'd really prefer to debug this 
> >properly, maybe we need to change something in he way we announce 
> >capabilites by default.
> >also, check logs on the other side.
> Just trying to get the BD to give me something remotely useful about 
> it.  Reading back what I typed, wasn't all that clear in my first 
> message, it's OpenBGPD giving the error, not the BD.

well, openbgpd logs that the BD sent us a notification, so the BD 
errors out and tells us so.

> 11:09:47.087864 192.168.1.5.1381 > 192.168.1.6.179: P [tcp sum ok] 
> 1:30(29) ack 2 win 3600: BGP (OPEN: Version 4, AS #65535, Holdtime 180, 
> ID 192.168.1.1, Option length 0) [tos 0xc0] (ttl 30, id 43720, len 69)

192.168.1.5 beeing the BD?

hmm.
announce capabilities no
definately should get you going.
if I guessworked correctly your tcpdump does not show the OPEN message 
from the OpenBGPD box. it should work with no capabilities.
wait, I think I see a bug and "announce capabilities no" doesn't work :)
please try this diff.

Index: session.c
===================================================================
RCS file: /cvs/src/usr.sbin/bgpd/session.c,v
retrieving revision 1.243
diff -u -p -r1.243 session.c
--- session.c   24 Jan 2006 10:08:16 -0000      1.243
+++ session.c   6 Feb 2006 12:01:08 -0000
@@ -1200,7 +1200,7 @@ session_open(struct peer *p)
        if (p->capa.ann.refresh)
                op_len += 2 + 0;        /* 1 code + 1 len, no data */
 
-       if (op_len > 0)
+       if (p->conf.announce_capa && op_len > 0)
                optparamlen = sizeof(op_type) + sizeof(op_len) + op_len;
        len = MSGSIZE_OPEN_MIN + optparamlen;
 

however, after receiving a "Optional Parameter Error" notofcation, 
OpenBGPD should quickly retry without any capabilites announced (and thus 
optional parameters) on its own. did you wait for the second trial?

-- 
BS Web Services, http://www.bsws.de/
OpenBSD-based Webhosting, Mail Services, Managed Servers, ...
Unix is very simple, but it takes a genius to understand the simplicity.
(Dennis Ritchie)

Reply via email to