exabgp + add-path (Juniper)

812 views
Skip to first unread message

Nikos

unread,
Nov 25, 2014, 7:50:42 AM11/25/14
to exabgp...@googlegroups.com
Hi Thomas,

First of all, thanks a lot for this app. I had it in the lab for quite some time, and now we are going to deploy it in production and build an app on top of it.
The reason I am emailing you is;
I would like to turn on add-path on my setup, but when I do that the BGP session gets teared down.

More specifically,

The iBGP session is established as soon as I deactivate the add-path from Juniper-side,


The exabgp.cfg looks like this
group ExaBGP {
 router
-id 170.30.174.130;
 
local-address 172.30.174.130;
 
local-as 65010;
 peer
-as 65010;
 hold
-time 180;
 graceful
-restart;
 
group-updates;
 add
-path receive;
 
 family
{
 all
;
 
}


 process parsed
-route-backend {
 receive
{
 parsed
;
 updates
;
 neighbor
-changes;
 
}
 send
{
 
}
 encoder json
;
 run etc
/exabgp/processes/syslog-1.py;
 
}


 neighbor
172.30.174.129 {
 description
"prod-lab03c-rd1";
 
}
}

Would you be so kind to have a look and advise on what might be wrong ?
Many Thanks.

Kind Regards,
Nikos

Thomas Mangin

unread,
Nov 25, 2014, 2:45:49 PM11/25/14
to exabgp...@googlegroups.com
Hello Nikos,

Clearly the documentation is not helping ... Let's try to get this setup working.

If I had to guess, I would say it is an add-path configuration mis-match is not correct. add-path can be send only, receive only or send and receive.
I can not see if the Juniper is configured to send with paths, ExaBGP is trying to parse with them (and the update may not have it).

If that does not help enough, I will need more information to help you but could you please avoid the usage of screenshot ? It is hard to read and I can not copy and paste from it. 
I will need the whole logs (and not only part of it - including the open negotiation - using -d on the command line ) to see what the open negotiation and update messages were looking like to be sure of what is not right ..

For the configuration of add-path, I would advise you to use the new syntax as you can find here :

(Yes, some documentation on this area is needed and will be forthcoming ... when I find the energy :p)

Thomas

signature.asc

Nikos

unread,
Nov 25, 2014, 3:42:39 PM11/25/14
to exabgp...@googlegroups.com
Thanks Thomas.
Here are the outputs requested :

ROUTER CONFIGURATION
prod-lab03c-rd1> show configuration protocols bgp group ExaBGP
type
internal;
local-address 172.30.174.129;
log
-updown;
import ExaBGP-in;
family inet
{
    unicast
{
        inactive
: add-path {
            send
{
                path
-count 2;
           
}
       
}
   
}
}
export ExaBGP-out;
neighbor
172.30.174.130 {
    description
ExaBGP;
}


prod
-lab03c-rd1> show configuration policy-options policy-statement ExaBGP-in
then reject;


prod
-lab03c-rd1> show configuration policy-options policy-statement ExaBGP-out  
term accept
{
   
from protocol bgp;
   
then accept;
}


EXABGP CONFIGURATION
$ cat etc/exabgp/exabgp.cfg
group ExaBGP {
 router
-id 170.30.174.130;
 
local-address 172.30.174.130;
 
local-as 65010;
 peer
-as 65010;
 hold
-time 180;
 graceful
-restart;
 
group-updates;



 capability
{

 add
-path receive;
 
}
 
 family
{
 all
;
 
}


 process parsed
-route-backend {
 receive
{
 parsed
;
 updates
;
 neighbor
-changes;
 
}
 send
{
 
}
 encoder json
;
 run etc
/exabgp/processes/syslog-1.py;
 
}


 neighbor
172.30.174.129 {
 description
"prod-lab03c-rd1";
 
}
}

And the iBGP session is being established, what follows are the debug messages, 
when I activate the add-path on Juniper-side (the iBGP session gets tear-down) :
$ tail -n 100 exabgp.app.log
Tue, 25 Nov 2014 21:30:20 | INFO     | 12129  | message       | Peer  172.30.174.129 ASN 65010   << KEEPALIVE
Tue, 25 Nov 2014 21:30:20 | DEBUG    | 12129  | timers        | peer 172.30.174.129 ASN 65010   Receive Timer 89 second(s) left
Tue, 25 Nov 2014 21:30:20 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  SENDING FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0017 0200 0000 00
Tue, 25 Nov 2014 21:30:20 | INFO     | 12129  | message       | peer 172.30.174.129 ASN 65010   >> EOR(s)
Tue, 25 Nov 2014 21:30:20 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  RECEIVED FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0044 02
Tue, 25 Nov 2014 21:30:20 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  RECEIVED 0000 0023 4001 0100 4002 0040 0304 AC1E AAA7 4005 0400 0000 6480 0904 AC1E AAA7 800A 04AC 1EAA A91D 6666 6600 20AC D1D1 D1
Tue, 25 Nov 2014 21:30:20 | INFO     | 12129  | parser        | no withdrawn NLRI
Tue, 25 Nov 2014 21:30:20 | INFO     | 12129  | parser        | parsing 1/1 nlri payload 1D66 6666 0020 ACD1 D1D1
Tue, 25 Nov 2014 21:30:20 | INFO     | 12129  | parser        | parsed announce nlri 0.0.0.0/0 path-information 29.102.102.102 next-hop 172.30.170.167 payload 1D66 6666 00
Tue, 25 Nov 2014 21:30:20 | INFO     | 12129  | parser        | parsing 1/1 nlri payload 20AC D1D1 D1
Tue, 25 Nov 2014 21:30:20 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  SENDING FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 004D 0303 0A6E 6F74 2065 6E6F 7567 6820 6461 7461 2066 6F72 2074 6865 206D 6173 6B20 7072 6F76 6964 6564 2074 6F20 6465 636F 6465 2074 6865 204E 4C52 49
Tue, 25 Nov 2014 21:30:20 | INFO     | 12129  | message       | Peer  172.30.174.129 ASN 65010   >> NOTIFICATION (3,10,"not enough data for the mask provided to decode the NLRI")
Tue, 25 Nov 2014 21:30:20 | INFO     | 12129  | network       | Peer  172.30.174.129 ASN 65010   out loop, peer reset, message [notification sent (3,10)] error[UPDATE message error / Invalid Network Field / not enough data for the mask provided to decode the NLRI]
Tue, 25 Nov 2014 21:30:20 | DEBUG    | 12129  | wire          | session 1 outgoing, closing connection from 172.30.174.130 to 172.30.174.129
Tue, 25 Nov 2014 21:30:21 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:22 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:23 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:24 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:25 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:26 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:27 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:28 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:29 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:30 | DEBUG    | 12129  | network       | out loop, intialising
Tue, 25 Nov 2014 21:30:31 | DEBUG    | 12129  | wire          | Attempting connection to 172.30.174.129
Tue, 25 Nov 2014 21:30:33 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  SENDING FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 00BF 0104 FDF2 00B4 AA1E AE82 A202 3040 2E80 B400 0102 8000 0286 8000 0280 8000 0104 8000 0185 8000 0186 8000 0201 8000 0285 8000 0180 8000 0101 8000 1941 8002 0601 0400 0100 0102 0601 0400 0100 0202 0601 0400 0100 0402 0601 0400 0100 8002 0601 0400 0100 8502 0601 0400 0100 8602 0601 0400 0200 0102 0601 0400 0200 8002 0601 0400 0200 8502 0601 0400 0200 8602 0601 0400 1900 4102 0645 0400 0101 0102 0645 0400 0201 0102 0641 0400 00FD F2
Tue, 25 Nov 2014 21:30:33 | INFO     | 12129  | message       | Peer  172.30.174.129 ASN 65010   >> OPEN version=4 asn=65010 hold_time=180 router_id=170.30.174.130 capabilities=[Multiprotocol(ipv4 unicast,ipv4 multicast,ipv4 nlri-mpls,ipv4 mpls-vpn,ipv4 flow,ipv4 flow-vpn,ipv6 unicast,ipv6 mpls-vpn,ipv6 flow,ipv6 flow-vpn,l2vpn vpls), Graceful Restart Flags 0x8 Time 180 ipv4/multicast=0x80 ipv6/flow-vpn=0x80 ipv6/mpls-vpn=0x80 ipv4/nlri-mpls=0x80 ipv4/flow=0x80 ipv4/flow-vpn=0x80 ipv6/unicast=0x80 ipv6/flow=0x80 ipv4/mpls-vpn=0x80 ipv4/unicast=0x80 l2vpn/vpls=0x80, ASN4(65010), AddPath(receive ipv4 unicast,receive ipv6 unicast)]
Tue, 25 Nov 2014 21:30:33 | DEBUG    | 12129  | timers        | peer 172.30.174.129 ASN 65010   Receive Timer 59 second(s) left
Tue, 25 Nov 2014 21:30:33 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  RECEIVED FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0043 01
Tue, 25 Nov 2014 21:30:33 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  RECEIVED 04FD F200 5AAC 1EAA A926 0206 0104 0001 0001 0202 8000 0202 0200 0204 4002 0078 0206 4104 0000 FDF2 0206 4504 0001 0102
Tue, 25 Nov 2014 21:30:33 | INFO     | 12129  | message       | Peer  172.30.174.129 ASN 65010   << OPEN
Tue, 25 Nov 2014 21:30:33 | INFO     | 12129  | message       | Peer  172.30.174.129 ASN 65010   << OPEN version=4 asn=65010 hold_time=90 router_id=172.30.170.169 capabilities=[Multiprotocol(ipv4 unicast), Route Refresh, Graceful Restart Flags 0x0 Time 120 , ASN4(65010), AddPath(send ipv4 unicast), Route Refresh]
Tue, 25 Nov 2014 21:30:33 | DEBUG    | 12129  | timers        | peer 172.30.174.129 ASN 65010   Receive Timer 59 second(s) left
Tue, 25 Nov 2014 21:30:33 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  SENDING FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
Tue, 25 Nov 2014 21:30:33 | INFO     | 12129  | message       | Peer  172.30.174.129 ASN 65010   >> KEEPALIVE (OPENCONFIRM)
Tue, 25 Nov 2014 21:30:33 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  RECEIVED FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
Tue, 25 Nov 2014 21:30:33 | INFO     | 12129  | message       | Peer  172.30.174.129 ASN 65010   << KEEPALIVE
Tue, 25 Nov 2014 21:30:33 | DEBUG    | 12129  | timers        | peer 172.30.174.129 ASN 65010   Receive Timer 89 second(s) left
Tue, 25 Nov 2014 21:30:33 | INFO     | 12129  | network       | Connected to peer neighbor 172.30.174.129 local-ip 172.30.174.130 local-as 65010 peer-as 65010 router-id 170.30.174.130 family-allowed in-open (out)
Tue, 25 Nov 2014 21:30:33 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  RECEIVED FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
Tue, 25 Nov 2014 21:30:33 | INFO     | 12129  | message       | Peer  172.30.174.129 ASN 65010   << KEEPALIVE
Tue, 25 Nov 2014 21:30:33 | DEBUG    | 12129  | timers        | peer 172.30.174.129 ASN 65010   Receive Timer 89 second(s) left
Tue, 25 Nov 2014 21:30:33 | DEBUG    | 12129  | timers        | peer 172.30.174.129 ASN 65010   Receive Timer 89 second(s) left
Tue, 25 Nov 2014 21:30:33 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  SENDING FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0017 0200 0000 00
Tue, 25 Nov 2014 21:30:33 | INFO     | 12129  | message       | peer 172.30.174.129 ASN 65010   >> EOR(s)
Tue, 25 Nov 2014 21:30:33 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  RECEIVED FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0044 02
Tue, 25 Nov 2014 21:30:33 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  RECEIVED 0000 0023 4001 0100 4002 0040 0304 AC1E AAA7 4005 0400 0000 6480 0904 AC1E AAA7 800A 04AC 1EAA A91D 6666 6600 20AC D1D1 D1
Tue, 25 Nov 2014 21:30:33 | INFO     | 12129  | parser        | no withdrawn NLRI
Tue, 25 Nov 2014 21:30:33 | INFO     | 12129  | parser        | parsing 1/1 nlri payload 1D66 6666 0020 ACD1 D1D1
Tue, 25 Nov 2014 21:30:33 | INFO     | 12129  | parser        | parsed announce nlri 0.0.0.0/0 path-information 29.102.102.102 next-hop 172.30.170.167 payload 1D66 6666 00
Tue, 25 Nov 2014 21:30:33 | INFO     | 12129  | parser        | parsing 1/1 nlri payload 20AC D1D1 D1
Tue, 25 Nov 2014 21:30:33 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  SENDING FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 004D 0303 0A6E 6F74 2065 6E6F 7567 6820 6461 7461 2066 6F72 2074 6865 206D 6173 6B20 7072 6F76 6964 6564 2074 6F20 6465 636F 6465 2074 6865 204E 4C52 49
Tue, 25 Nov 2014 21:30:33 | INFO     | 12129  | message       | Peer  172.30.174.129 ASN 65010   >> NOTIFICATION (3,10,"not enough data for the mask provided to decode the NLRI")
Tue, 25 Nov 2014 21:30:33 | INFO     | 12129  | network       | Peer  172.30.174.129 ASN 65010   out loop, peer reset, message [notification sent (3,10)] error[UPDATE message error / Invalid Network Field / not enough data for the mask provided to decode the NLRI]
Tue, 25 Nov 2014 21:30:33 | DEBUG    | 12129  | wire          | session 1 outgoing, closing connection from 172.30.174.130 to 172.30.174.129
Tue, 25 Nov 2014 21:30:34 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:35 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:36 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:37 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:38 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:39 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:40 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:41 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:42 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:43 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:44 | DEBUG    | 12129  | network       | out loop, intialising
Tue, 25 Nov 2014 21:30:45 | DEBUG    | 12129  | wire          | Attempting connection to 172.30.174.129
Tue, 25 Nov 2014 21:30:47 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  SENDING FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 00BF 0104 FDF2 00B4 AA1E AE82 A202 3040 2E80 B400 0102 8000 0286 8000 0280 8000 0104 8000 0185 8000 0186 8000 0201 8000 0285 8000 0180 8000 0101 8000 1941 8002 0601 0400 0100 0102 0601 0400 0100 0202 0601 0400 0100 0402 0601 0400 0100 8002 0601 0400 0100 8502 0601 0400 0100 8602 0601 0400 0200 0102 0601 0400 0200 8002 0601 0400 0200 8502 0601 0400 0200 8602 0601 0400 1900 4102 0645 0400 0101 0102 0645 0400 0201 0102 0641 0400 00FD F2
Tue, 25 Nov 2014 21:30:47 | INFO     | 12129  | message       | Peer  172.30.174.129 ASN 65010   >> OPEN version=4 asn=65010 hold_time=180 router_id=170.30.174.130 capabilities=[Multiprotocol(ipv4 unicast,ipv4 multicast,ipv4 nlri-mpls,ipv4 mpls-vpn,ipv4 flow,ipv4 flow-vpn,ipv6 unicast,ipv6 mpls-vpn,ipv6 flow,ipv6 flow-vpn,l2vpn vpls), Graceful Restart Flags 0x8 Time 180 ipv4/multicast=0x80 ipv6/flow-vpn=0x80 ipv6/mpls-vpn=0x80 ipv4/nlri-mpls=0x80 ipv4/flow=0x80 ipv4/flow-vpn=0x80 ipv6/unicast=0x80 ipv6/flow=0x80 ipv4/mpls-vpn=0x80 ipv4/unicast=0x80 l2vpn/vpls=0x80, ASN4(65010), AddPath(receive ipv4 unicast,receive ipv6 unicast)]
Tue, 25 Nov 2014 21:30:47 | DEBUG    | 12129  | timers        | peer 172.30.174.129 ASN 65010   Receive Timer 59 second(s) left
Tue, 25 Nov 2014 21:30:47 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  RECEIVED FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0043 01
Tue, 25 Nov 2014 21:30:47 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  RECEIVED 04FD F200 5AAC 1EAA A926 0206 0104 0001 0001 0202 8000 0202 0200 0204 4002 0078 0206 4104 0000 FDF2 0206 4504 0001 0102
Tue, 25 Nov 2014 21:30:47 | INFO     | 12129  | message       | Peer  172.30.174.129 ASN 65010   << OPEN
Tue, 25 Nov 2014 21:30:47 | INFO     | 12129  | message       | Peer  172.30.174.129 ASN 65010   << OPEN version=4 asn=65010 hold_time=90 router_id=172.30.170.169 capabilities=[Multiprotocol(ipv4 unicast), Route Refresh, Graceful Restart Flags 0x0 Time 120 , ASN4(65010), AddPath(send ipv4 unicast), Route Refresh]
Tue, 25 Nov 2014 21:30:47 | DEBUG    | 12129  | timers        | peer 172.30.174.129 ASN 65010   Receive Timer 59 second(s) left
Tue, 25 Nov 2014 21:30:47 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  SENDING FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
Tue, 25 Nov 2014 21:30:47 | INFO     | 12129  | message       | Peer  172.30.174.129 ASN 65010   >> KEEPALIVE (OPENCONFIRM)
Tue, 25 Nov 2014 21:30:47 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  RECEIVED FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
Tue, 25 Nov 2014 21:30:47 | INFO     | 12129  | message       | Peer  172.30.174.129 ASN 65010   << KEEPALIVE
Tue, 25 Nov 2014 21:30:47 | DEBUG    | 12129  | timers        | peer 172.30.174.129 ASN 65010   Receive Timer 89 second(s) left
Tue, 25 Nov 2014 21:30:47 | INFO     | 12129  | network       | Connected to peer neighbor 172.30.174.129 local-ip 172.30.174.130 local-as 65010 peer-as 65010 router-id 170.30.174.130 family-allowed in-open (out)
Tue, 25 Nov 2014 21:30:47 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  RECEIVED FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
Tue, 25 Nov 2014 21:30:47 | INFO     | 12129  | message       | Peer  172.30.174.129 ASN 65010   << KEEPALIVE
Tue, 25 Nov 2014 21:30:47 | DEBUG    | 12129  | timers        | peer 172.30.174.129 ASN 65010   Receive Timer 89 second(s) left
Tue, 25 Nov 2014 21:30:47 | DEBUG    | 12129  | timers        | peer 172.30.174.129 ASN 65010   Receive Timer 89 second(s) left
Tue, 25 Nov 2014 21:30:47 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  SENDING FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0017 0200 0000 00
Tue, 25 Nov 2014 21:30:47 | INFO     | 12129  | message       | peer 172.30.174.129 ASN 65010   >> EOR(s)
Tue, 25 Nov 2014 21:30:47 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  RECEIVED FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0044 02
Tue, 25 Nov 2014 21:30:47 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  RECEIVED 0000 0023 4001 0100 4002 0040 0304 AC1E AAA7 4005 0400 0000 6480 0904 AC1E AAA7 800A 04AC 1EAA A91D 6666 6600 20AC D1D1 D1
Tue, 25 Nov 2014 21:30:47 | INFO     | 12129  | parser        | no withdrawn NLRI
Tue, 25 Nov 2014 21:30:47 | INFO     | 12129  | parser        | parsing 1/1 nlri payload 1D66 6666 0020 ACD1 D1D1
Tue, 25 Nov 2014 21:30:47 | INFO     | 12129  | parser        | parsed announce nlri 0.0.0.0/0 path-information 29.102.102.102 next-hop 172.30.170.167 payload 1D66 6666 00
Tue, 25 Nov 2014 21:30:47 | INFO     | 12129  | parser        | parsing 1/1 nlri payload 20AC D1D1 D1
Tue, 25 Nov 2014 21:30:47 | DEBUG    | 12129  | wire          | session 1 outgoing 172.30.174.130 / 172.30.174.129  SENDING FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 004D 0303 0A6E 6F74 2065 6E6F 7567 6820 6461 7461 2066 6F72 2074 6865 206D 6173 6B20 7072 6F76 6964 6564 2074 6F20 6465 636F 6465 2074 6865 204E 4C52 49
Tue, 25 Nov 2014 21:30:47 | INFO     | 12129  | message       | Peer  172.30.174.129 ASN 65010   >> NOTIFICATION (3,10,"not enough data for the mask provided to decode the NLRI")
Tue, 25 Nov 2014 21:30:47 | INFO     | 12129  | network       | Peer  172.30.174.129 ASN 65010   out loop, peer reset, message [notification sent (3,10)] error[UPDATE message error / Invalid Network Field / not enough data for the mask provided to decode the NLRI]
Tue, 25 Nov 2014 21:30:47 | DEBUG    | 12129  | wire          | session 1 outgoing, closing connection from 172.30.174.130 to 172.30.174.129
Tue, 25 Nov 2014 21:30:48 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:49 | DEBUG    | 12129  | network       | out loop, skipping, not time yet
Tue, 25 Nov 2014 21:30:50 | DEBUG    | 12129  | network       | out loop, skipping, not time yet

Please let me know.

Thomas Mangin

unread,
Nov 26, 2014, 5:14:54 AM11/26/14
to exabgp...@googlegroups.com
Nikos,

        inactive: add-path {
<< OPEN AddPath(send ipv4 unicast)

Mean that add-path is not configured, but the OPEN we received says it is configured .. So it looks like a mismatch somewhere between what is on the wire and the configuration you gave me …
Sooo, JunOS wants send Add-Path updates

 capability {
 add-path receive;
 }
>> OPEN AddPath(receive ipv4 unicast,receive ipv6 unicast)

Mean we are want to receive path information prefixed updates

So :
Junos -> ExaBGP : Should use AddPath
ExaBGP -> Junos : Should use normal NLRI

./sbin/exabgp ./etc/exabgp/ibgp4-add-path-sendreceive --decode "0000 0023 4001 0100 4002 0040 0304 AC1E AAA7 4005 0400 0000 6480 0904 AC1E AAA7 800A 04AC 1EAA A91D 6666 6600 20AC D1D1 D1"

Wed, 26 Nov 2014 09:40:46 | INFO     | 39723  | parser        | parsing flag 40 type 01 (origin) len 01 payload 00
Wed, 26 Nov 2014 09:40:46 | INFO     | 39723  | parser        | parsing flag 40 type 02 (as-path) len 00
Wed, 26 Nov 2014 09:40:46 | INFO     | 39723  | parser        | parsing flag 40 type 03 (next-hop) len 04 payload AC1E AAA7
Wed, 26 Nov 2014 09:40:46 | INFO     | 39723  | parser        | parsing flag 40 type 05 (local-preference) len 04 payload 0000 0064
Wed, 26 Nov 2014 09:40:46 | INFO     | 39723  | parser        | parsing flag 80 type 09 (originator-id) len 04 payload AC1E AAA7
Wed, 26 Nov 2014 09:40:46 | INFO     | 39723  | parser        | parsing flag 80 type 0a (cluster-list) len 04 payload AC1E AAA9
Wed, 26 Nov 2014 09:40:46 | INFO     | 39723  | parser        | no withdrawn NLRI
Wed, 26 Nov 2014 09:40:46 | INFO     | 39723  | parser        | parsing 1/1 nlri payload 1D66 6666 0020 ACD1 D1D1
Wed, 26 Nov 2014 09:40:46 | INFO     | 39723  | parser        | parsed announce nlri 0.0.0.0/0 path-information 29.102.102.102 next-hop 172.30.170.167 payload 1D66 6666 00
Wed, 26 Nov 2014 09:40:46 | INFO     | 39723  | parser        | parsing 1/1 nlri payload 20AC D1D1 D1
Wed, 26 Nov 2014 09:40:46 | INFO     | 39723  | parser        | could not parse the message
Wed, 26 Nov 2014 09:40:46 | INFO     | 39723  | parser        | UPDATE message error / Invalid Network Field / not enough data for the mask provided to decode the NLRI

Decoding by hand as Add-Path

1D 66 66 66 Path-information
00 Netmask (default route)
20 AC D1 D1Path information
D1 mask
DATA missing !

Decoding as Normal NLRI

1D  -> 29 decimal
66 66 66 00
20 -> 32 decimal
AC D1 D1D1

To double check :

./sbin/exabgp ./etc/exabgp/ibgp4-simple.txt --decode "0000 0023 4001 0100 4002 0040 0304 AC1E AAA7 4005 0400 0000 6480 0904 AC1E AAA7 800A 04AC 1EAA A91D 6666 6600 20AC D1D1 D1" | grep decoded
Wed, 26 Nov 2014 10:12:09 | INFO     | 41200  | parser        | decoded update announced 102.102.102.0/29 next-hop 172.30.170.167 origin igp local-preference 100 originator-id 172.30.170.167 cluster-list [ 172.30.170.169 ]
Wed, 26 Nov 2014 10:12:09 | INFO     | 41200  | parser        | decoded update announced 172.209.209.209/32 next-hop 172.30.170.167 origin igp local-preference 100 originator-id 172.30.170.167 cluster-list [ 172.30.170.169 ]

Yup, seems right.

So the update looks like a normal update, without path information … I am not sure why JunOS would send a non add-path update when the OPEN negotiation says they should …
Nothing much I can do … Looks like a JunOS bug to me with the open negotiation.

I would force the configuration to be “send and receive” and see if this works better. Running a more recent version of JunOS may help too.
If you want to open a ticket with Juniper, feel free to point them to this thread, and tell them they can contact me if they want.

Thomas

--
You received this message because you are subscribed to the Google Groups "exabgp-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to exabgp-users...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

signature.asc

Nikos

unread,
Nov 26, 2014, 7:23:50 AM11/26/14
to exabgp...@googlegroups.com
Thanks Thomas.

After checking the logs on Juniper-side (please find attached),
it seems that sending all families was not accepted.
When specifying the "ipv4 unicast" the session is being established.
The router runs 12.3R6.6, which is modern I would say and what most ISPs are running nowadays.

Your input was very helpful. 
I don't know if Juniper when is receiving the IPv4 unicast NLRI should ignore the rest of the families instead of not establishing the session.
juniper-addpath.txt
Reply all
Reply to author
Forward
0 new messages