Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

unsupported AFI/SAFI pair BGP-LS #1074

Closed
ameencp533 opened this issue Apr 21, 2022 · 13 comments
Closed

unsupported AFI/SAFI pair BGP-LS #1074

ameencp533 opened this issue Apr 21, 2022 · 13 comments
Assignees
Labels

Comments

@ameencp533
Copy link

ameencp533 commented Apr 21, 2022

we are trying to implement bgp ls session between exabgp and csr1000v. the configurations are :

    process reader { 
            run /usr/bin/python3 /home/scripts/reader.py; 
            encoder json;
        }

    neighbor 192.168.255.60 {
        local-address 192.168.255.219;
        local-as 65000;  
        peer-as 65001; 
        family {
		bgp-ls bgp-ls;
	}
        api {
            processes [reader];
            receive {
                parsed;
                update;
            }
        }  
    } 

but when we are applying this configuration, router showing an error 'unsupported AFI/SAFI'. session is establishing when we use 'ipv4 unicast' as pair. but bgp-ls is not working . please check the logs also

09:22:35 | 82294  | welcome       | Thank you for using ExaBGP
09:22:35 | 82294  | version       | 4.2.17  
09:22:35 | 82294  | interpreter   | 3.8.10 (default, Mar 15 2022, 12:22:08)  [GCC 9.4.0]
09:22:35 | 82294  | os            | Linux ubuntu 5.4.0-66-generic #74-Ubuntu SMP Wed Jan 27 22:54:38 UTC 2021 x86_64
09:22:35 | 82294  | installation  | /usr/local
09:22:35 | 82294  | advice        | environment file missing
09:22:35 | 82294  | advice        | generate it using "exabgp --fi > /usr/local/etc/exabgp/exabgp.env"
09:22:35 | 82294  | cli           | could not find the named pipes (exabgp.in and exabgp.out) required for the cli
09:22:35 | 82294  | cli           | we scanned the following folders (the number is your PID):
09:22:35 | 82294  | cli control   |  - /run/exabgp/
09:22:35 | 82294  | cli control   |  - /run/0/
09:22:35 | 82294  | cli control   |  - /run/
09:22:35 | 82294  | cli control   |  - /var/run/exabgp/
09:22:35 | 82294  | cli control   |  - /var/run/0/
09:22:35 | 82294  | cli control   |  - /var/run/
09:22:35 | 82294  | cli control   |  - /usr/local/run/exabgp/
09:22:35 | 82294  | cli control   |  - /usr/local/run/0/
09:22:35 | 82294  | cli control   |  - /usr/local/run/
09:22:35 | 82294  | cli control   |  - /usr/local/var/run/exabgp/
09:22:35 | 82294  | cli control   |  - /usr/local/var/run/0/
09:22:35 | 82294  | cli control   |  - /usr/local/var/run/
09:22:35 | 82294  | cli control   | please make them in one of the folder with the following commands:
09:22:35 | 82294  | cli control   | > mkfifo /home/cisco/.local/bin/run/exabgp.{in,out}
09:22:35 | 82294  | cli control   | > chmod 600 /home/cisco/.local/bin/run/exabgp.{in,out}
09:22:35 | 82294  | configuration | performing reload of exabgp 4.2.17
09:22:35 | 82294  | configuration | > process          | 'syslog'
09:22:35 | 82294  | configuration | . run              | '/usr/bin/python3' '/home/scripts/reader.py'
09:22:35 | 82294  | configuration | . encoder          | 'json'
09:22:35 | 82294  | configuration | < process          | 
09:22:35 | 82294  | configuration | > neighbor         | '192.168.255.29'
09:22:35 | 82294  | configuration | . local-address    | '192.168.255.219'
09:22:35 | 82294  | configuration | . local-as         | '65001'
09:22:35 | 82294  | configuration | . peer-as          | '65001'
09:22:35 | 82294  | configuration | > api              | 
09:22:35 | 82294  | configuration | . processes        | '[' 'syslog' ']'
09:22:35 | 82294  | configuration | > receive          | 
09:22:35 | 82294  | configuration | . parsed           | 
09:22:35 | 82294  | configuration | . update           | 
09:22:35 | 82294  | configuration | < receive          | 
09:22:35 | 82294  | configuration | < api              | 
09:22:35 | 82294  | configuration | > family           | 
09:22:35 | 82294  | configuration | . bgp-ls           | 'bgp-ls'
09:22:35 | 82294  | configuration | < family           | 
09:22:35 | 82294  | configuration | < neighbor         | 
09:22:35 | 82294  | reactor       | new peer: neighbor 192.168.255.29 local-ip 192.168.255.219 local-as 65001 peer-as 65001 router-id 192.168.255.219 family-allowed in-open
09:22:35 | 82294  | reactor       | loaded new configuration successfully
09:22:35 | 82294  | process       | forked process syslog
.....................................trucated...................................
09:26:34 | 82294  | reactor       | initialising connection to peer-1
09:26:35 | 82294  | outgoing-17   | attempting connection to 192.168.255.29:179
09:26:35 | 82294  | outgoing-17   | sending TCP payload (  49) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0031 0104 FDE9 00B4 C0A8 FFDB 1402 0601 0440 0400 4702 0641 0400 00FD E902 0206 00
09:26:35 | 82294  | outgoing-17   | >> OPEN version=4 asn=65001 hold_time=180 router_id=192.168.255.219 capabilities=[Multiprotocol(bgp-ls bgp-ls), Extended Message(65535), ASN4(65001)]
09:26:35 | 82294  | outgoing-17   | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0018 03
09:26:35 | 82294  | outgoing-17   | received complete TCP payload (   5) 0208 0000 00
09:26:35 | 82294  | outgoing-17   | << message of type NOTIFICATION
09:26:35 | 82294  | outgoing-17   | peer reset, message [notification received (2,8)] error[OPEN message error / Grouping Conflict / ]
09:26:35 | 82294  | outgoing-17   | outgoing-17 192.168.255.219-192.168.255.29, closing connection

Then we used family as 'all'

family {
           all
}

it gave us this output log, hop its helpful for debugging

root@ubuntu:/home/cisco/.local/bin# exabgp -d ./conf.ini
09:36:57 | 82316  | welcome       | Thank you for using ExaBGP
09:36:57 | 82316  | version       | 4.2.17  
09:36:57 | 82316  | interpreter   | 3.8.10 (default, Mar 15 2022, 12:22:08)  [GCC 9.4.0]
09:36:57 | 82316  | os            | Linux ubuntu 5.4.0-66-generic #74-Ubuntu SMP Wed Jan 27 22:54:38 UTC 2021 x86_64
09:36:57 | 82316  | installation  | /usr/local
09:36:57 | 82316  | advice        | environment file missing
09:36:57 | 82316  | advice        | generate it using "exabgp --fi > /usr/local/etc/exabgp/exabgp.env"
09:36:57 | 82316  | cli           | could not find the named pipes (exabgp.in and exabgp.out) required for the cli
09:36:57 | 82316  | cli           | we scanned the following folders (the number is your PID):
09:36:57 | 82316  | cli control   |  - /run/exabgp/
09:36:57 | 82316  | cli control   |  - /run/0/
09:36:57 | 82316  | cli control   |  - /run/
09:36:57 | 82316  | cli control   |  - /var/run/exabgp/
09:36:57 | 82316  | cli control   |  - /var/run/0/
09:36:57 | 82316  | cli control   |  - /var/run/
09:36:57 | 82316  | cli control   |  - /usr/local/run/exabgp/
09:36:57 | 82316  | cli control   |  - /usr/local/run/0/
09:36:57 | 82316  | cli control   |  - /usr/local/run/
09:36:57 | 82316  | cli control   |  - /usr/local/var/run/exabgp/
09:36:57 | 82316  | cli control   |  - /usr/local/var/run/0/
09:36:57 | 82316  | cli control   |  - /usr/local/var/run/
09:36:57 | 82316  | cli control   | please make them in one of the folder with the following commands:
09:36:57 | 82316  | cli control   | > mkfifo /home/cisco/.local/bin/run/exabgp.{in,out}
09:36:57 | 82316  | cli control   | > chmod 600 /home/cisco/.local/bin/run/exabgp.{in,out}
09:36:57 | 82316  | configuration | performing reload of exabgp 4.2.17
09:36:57 | 82316  | configuration | > process          | 'syslog'
09:36:57 | 82316  | configuration | . run              | '/usr/bin/python3' '/home/scripts/reader.py'
09:36:57 | 82316  | configuration | . encoder          | 'json'
09:36:57 | 82316  | configuration | < process          | 
09:36:57 | 82316  | configuration | > neighbor         | '192.168.255.29'
09:36:57 | 82316  | configuration | . local-address    | '192.168.255.219'
09:36:57 | 82316  | configuration | . local-as         | '65001'
09:36:57 | 82316  | configuration | . peer-as          | '65001'
09:36:57 | 82316  | configuration | > api              | 
09:36:57 | 82316  | configuration | . processes        | '[' 'syslog' ']'
09:36:57 | 82316  | configuration | > receive          | 
09:36:57 | 82316  | configuration | . parsed           | 
09:36:57 | 82316  | configuration | . update           | 
09:36:57 | 82316  | configuration | < receive          | 
09:36:57 | 82316  | configuration | < api              | 
09:36:57 | 82316  | configuration | > family           | 
09:36:57 | 82316  | configuration | < family           | 
09:36:57 | 82316  | configuration | < neighbor         | 
09:36:57 | 82316  | reactor       | new peer: neighbor 192.168.255.29 local-ip 192.168.255.219 local-as 65001 peer-as 65001 router-id 192.168.255.219 family-allowed in-open
09:36:57 | 82316  | reactor       | loaded new configuration successfully
09:36:57 | 82316  | process       | forked process syslog
09:36:57 | 82316  | reactor       | initialising connection to peer-1
09:36:57 | 82316  | outgoing-1    | attempting connection to 192.168.255.29:179
09:36:57 | 82316  | outgoing-1    | sending TCP payload ( 177) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 00B1 0104 FDE9 00B4 C0A8 FFDB 9402 0601 0400 0100 0102 0601 0400 0100 0202 0601 0400 0100 0402 0601 0400 0100 8002 0601 0400 0100 8402 0601 0400 0100 8502 0601 0400 0100 8602 0601 0400 0200 0102 0601 0400 0200 0202 0601 0400 0200 0402 0601 0400 0200 8002 0601 0400 0200 8502 0601 0400 0200 8602 0601 0400 1900 4102 0601 0400 1900 4602 0601 0440 0400 4702 0601 0440 0400 4802 0641 0400 00FD E902 0206 00
09:36:57 | 82316  | outgoing-1    | >> OPEN version=4 asn=65001 hold_time=180 router_id=192.168.255.219 capabilities=[Multiprotocol(ipv4 unicast,ipv4 multicast,ipv4 nlri-mpls,ipv4 mpls-vpn,ipv4 rtc,ipv4 flow,ipv4 flow-vpn,ipv6 unicast,ipv6 multicast,ipv6 nlri-mpls,ipv6 mpls-vpn,ipv6 flow,ipv6 flow-vpn,l2vpn vpls,l2vpn evpn,bgp-ls bgp-ls,bgp-ls bgp-ls-vpn), Extended Message(65535), ASN4(65001)]
09:36:57 | 82316  | ka-outgoing-1 | receive-timer 60 second(s) left
09:36:57 | 82316  | outgoing-1    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0039 01
09:36:57 | 82316  | outgoing-1    | received complete TCP payload (  38) 04FD E900 B40A 0101 011C 0206 0104 0001 0001 0202 8000 0202 0200 0202 4600 0206 4104 0000 FDE9
09:36:57 | 82316  | outgoing-1    | << message of type OPEN
09:36:57 | 82316  | outgoing-1    | << OPEN version=4 asn=65001 hold_time=180 router_id=10.1.1.1 capabilities=[Multiprotocol(ipv4 unicast), Route Refresh, ASN4(65001), Enhanced Route Refresh, Route Refresh]
09:36:57 | 82316  | outgoing-1    | --------------------------------------------------------------------
09:36:57 | 82316  | outgoing-1    | the connection can not carry the following family/families
09:36:57 | 82316  | outgoing-1    |  - peer is not configured for ipv6/flow
09:36:57 | 82316  | outgoing-1    |  - peer is not configured for ipv6/nlri-mpls
09:36:57 | 82316  | outgoing-1    |  - peer is not configured for ipv4/multicast
09:36:57 | 82316  | outgoing-1    |  - peer is not configured for ipv6/unicast
09:36:57 | 82316  | outgoing-1    |  - peer is not configured for l2vpn/evpn
09:36:57 | 82316  | outgoing-1    |  - peer is not configured for ipv4/flow
09:36:57 | 82316  | outgoing-1    |  - peer is not configured for ipv4/nlri-mpls
09:36:57 | 82316  | outgoing-1    |  - peer is not configured for ipv4/mpls-vpn
09:36:57 | 82316  | outgoing-1    |  - peer is not configured for bgp-ls/bgp-ls-vpn
09:36:57 | 82316  | outgoing-1    |  - peer is not configured for ipv6/mpls-vpn
09:36:57 | 82316  | outgoing-1    |  - peer is not configured for ipv4/rtc
09:36:57 | 82316  | outgoing-1    |  - peer is not configured for ipv6/multicast
09:36:57 | 82316  | outgoing-1    |  - peer is not configured for ipv6/flow-vpn
09:36:57 | 82316  | outgoing-1    |  - peer is not configured for l2vpn/vpls
09:36:57 | 82316  | outgoing-1    |  - peer is not configured for bgp-ls/bgp-ls
09:36:57 | 82316  | outgoing-1    |  - peer is not configured for ipv4/flow-vpn
09:36:57 | 82316  | outgoing-1    | therefore no routes of this kind can be announced on the connection
09:36:57 | 82316  | outgoing-1    | --------------------------------------------------------------------
09:36:57 | 82316  | outgoing-1    | sending TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
09:36:57 | 82316  | outgoing-1    | >> KEEPALIVE (OPENCONFIRM)
09:36:57 | 82316  | outgoing-1    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
09:36:57 | 82316  | outgoing-1    | << message of type KEEPALIVE
09:36:57 | 82316  | ka-outgoing-1 | receive-timer 180 second(s) left
09:36:57 | 82316  | reactor       | connected to peer-1 with outgoing-1 192.168.255.219-192.168.255.29
09:36:57 | 82316  | outgoing-1    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
09:36:57 | 82316  | outgoing-1    | << message of type KEEPALIVE
09:36:57 | 82316  | outgoing-1    | sending TCP payload (  23) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0017 0200 0000 00
09:36:57 | 82316  | outgoing-1    | >> EOR ipv4 unicast
09:36:57 | 82316  | peer-1        | >> EOR(s)
09:36:57 | 82316  | outgoing-1    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0017 02
09:36:57 | 82316  | outgoing-1    | received complete TCP payload (   4) 0000 0000
09:36:57 | 82316  | outgoing-1    | << message of type UPDATE
09:36:57 | 82316  | parser        | parsing UPDATE (   4) 0000 0000
09:36:57 | 82316  | peer-1        | << UPDATE #1
09:36:57 | 82316  | peer-1        |    UPDATE #1 nlri  (   4) eor 1/1 (ipv4 unicast)
09:36:58 | 82316  | ka-outgoing-1 | receive-timer 179 second(s) left
09:36:58 | 82316  | ka-outgoing-1 | send-timer 59 second(s) left
09:36:59 | 82316  | ka-outgoing-1 | receive-timer 178 second(s) left
09:36:59 | 82316  | ka-outgoing-1 | send-timer 58 second(s) left
09:37:00 | 82316  | ka-outgoing-1 | receive-timer 177 second(s) left
09:37:00 | 82316  | ka-outgoing-1 | send-timer 57 second(s) left
09:37:00 | 82316  | ka-outgoing-1 | receive-timer 176 second(s) left
09:37:01 | 82316  | ka-outgoing-1 | send-timer 56 second(s) left

please help us to debug.
Thanks

@thomas-mangin
Copy link
Member

Your first negotiation with the peer only allows bgp-ls

❯ ./sbin/exabgp decode -c etc/exabgp/conf-ipv46routes4family.conf 'FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0031 0104 FDE9 00B4 C0A8 FFDB 1402 0601 0440 0400 4702 0641 0400 00FD E902 0206 00'
configuration performing reload of exabgp master-24bb7606fb1ecc0f13c3877011570e7fc84dfa11
reactor       loaded new configuration successfully
OPEN version=4 asn=65001 hold_time=180 router_id=192.168.255.219 capabilities=[Multiprotocol(bgp-ls bgp-ls), Extended Message(65535), ASN4(65001)]

I am not sure why the peer is replying "OPEN message error / Grouping Conflict". That OPEN is valid AFAICS.

On your second with all which only lead to have IPv4 being setup on the connection (something I will need to investigate, see the message the connection can not carry the following family/families), BGPLS is not setup.

The right answer to make your peer happy may be:

family {
   bgp-ls bgp-ls;
   ipv4 unicast;
}

Please do not truncate logs if you need more help. I know the logs are verbose but I need them ALL to diagnose issues.

The first config should have worked.

@ameencp533 ameencp533 changed the title unsupported AFI/SAFI pair unsupported AFI/SAFI pair BGP-LS Apr 21, 2022
@thomas-mangin
Copy link
Member

If exabgp did not complain with all you must have been running ExaBGP 3.x somewhere .. which does not have BGPLS support ...

Please see my comment about providing correct information, my time is not free. Thank you.

@ameencp533
Copy link
Author

ameencp533 commented Apr 21, 2022

Thank you for support.
we are running exabgp version

root@ubuntu:/home/cisco/.local/bin# exabgp -version
### ExaBGP : 4.2.17
Python : 3.8.10 (default, Mar 15 2022, 12:22:08)  [GCC 9.4.0]
Uname  : Linux ubuntu 5.4.0-66-generic #74-Ubuntu SMP Wed Jan 27 22:54:38 UTC 2021 x86_64
Root   : /usr/local

@thomas-mangin
Copy link
Member

I am then very confused

user: thomas master on  4.2 [?] via 🐍 v3.9.12 
at 11:54:35 ❯ cat xxxx 
neighbor 127.0.0.1 {
        description "a simple test for the new configuration format name";
        router-id 10.0.0.2;
        local-address 127.0.0.1;
        local-as 65533;
        peer-as 65533;
        hold-time 180;

        family {
                all;
        }
}

user: thomas master on  4.2 [?] via 🐍 v3.9.12 
at 11:54:38 ❯ ./sbin/exabgp xxxx
11:54:43 | 28469  | welcome       | Thank you for using ExaBGP
11:54:43 | 28469  | version       | 4.2.17  
11:54:43 | 28469  | interpreter   | 3.9.12 (main, Mar 26 2022, 15:44:31)  [Clang 13.1.6 (clang-1316.0.21.2)]
11:54:43 | 28469  | os            | Darwin MacBook-Pro-2.local 21.4.0 Darwin Kernel Version 21.4.0: Fri Mar 18 00:46:32 PDT 2022; root:xnu-8020.101.4~15/RELEASE_ARM64_T6000 arm64
11:54:43 | 28469  | installation  | /Users/thomas/Coding/exabgp/master
11:54:43 | 28469  | advice        | environment file missing
11:54:43 | 28469  | advice        | generate it using "exabgp --fi > /Users/thomas/Coding/exabgp/master/etc/exabgp/exabgp.env"
11:54:43 | 28469  | cli control   | named pipes for the cli are:
11:54:43 | 28469  | cli control   | to send commands  /Users/thomas/Coding/exabgp/master/run/exabgp.in
11:54:43 | 28469  | cli control   | to read responses /Users/thomas/Coding/exabgp/master/run/exabgp.out
11:54:43 | 28469  | configuration | performing reload of exabgp 4.2.17
11:54:43 | 28469  | configuration | not reloaded, no change found in the configuration
11:54:43 | 28469  | configuration |         
11:54:43 | 28469  | configuration | syntax error in section neighbor/family
11:54:43 | 28469  | configuration | line 9: all ;
11:54:43 | 28469  | configuration |         
11:54:43 | 28469  | configuration | invalid keyword "all"

user: thomas master on  4.2 [?] via 🐍 v3.9.12 
at 11:55:48 ❯ git co master     
Switched to branch 'master'
Your branch is up to date with 'origin/master'.

user: thomas master on  master [?] is 📦 v5.0.0 via 🐍 v3.9.12 
at 11:55:52 ❯ ./sbin/exabgp xxxx
welcome       Thank you for using ExaBGP
advice        environment file missing
advice        generate it using "exabgp env > /Users/thomas/Coding/exabgp/master/etc/exabgp/exabgp.env"
cli control   named pipes for the cli are:
cli control   to send commands  /Users/thomas/Coding/exabgp/master/run/exabgp.in
cli control   to read responses /Users/thomas/Coding/exabgp/master/run/exabgp.out
configuration performing reload of exabgp master-24bb7606fb1ecc0f13c3877011570e7fc84dfa11
configuration could not load/reload configuration
configuration         
configuration syntax error in section neighbor/family
configuration line 9: all ;
configuration         
configuration invalid keyword "all"

@thomas-mangin
Copy link
Member

ah! without the ; it works and the parsing is then buggy, I will fix.

@ameencp533
Copy link
Author

ok , thank you for ur support

@thomas-mangin
Copy link
Member

no worries. let me know if you get it working please.

@ameencp533
Copy link
Author

ameencp533 commented Apr 21, 2022

we are still facing issue in establishing bgp-ls session.

root@ubuntu:/home/cisco/.local/bin# pip install -U exabgp
Requirement already up-to-date: exabgp in /usr/local/lib/python3.8/dist-packages (4.2.17)
Requirement already satisfied, skipping upgrade: setuptools in /usr/lib/python3/dist-packages (from exabgp) (45.2.0)

root@ubuntu:/home/cisco/.local/bin# exabgp -d ./conf.ini
11:41:39 | 82389  | welcome       | Thank you for using ExaBGP
11:41:39 | 82389  | version       | 4.2.17  
11:41:39 | 82389  | interpreter   | 3.8.10 (default, Mar 15 2022, 12:22:08)  [GCC 9.4.0]
11:41:39 | 82389  | os            | Linux ubuntu 5.4.0-66-generic #74-Ubuntu SMP Wed Jan 27 22:54:38 UTC 2021 x86_64
11:41:39 | 82389  | installation  | /usr/local
11:41:39 | 82389  | advice        | environment file missing
11:41:39 | 82389  | advice        | generate it using "exabgp --fi > /usr/local/etc/exabgp/exabgp.env"
11:41:39 | 82389  | cli           | could not find the named pipes (exabgp.in and exabgp.out) required for the cli
11:41:39 | 82389  | cli           | we scanned the following folders (the number is your PID):
11:41:39 | 82389  | cli control   |  - /run/exabgp/
11:41:39 | 82389  | cli control   |  - /run/0/
11:41:39 | 82389  | cli control   |  - /run/
11:41:39 | 82389  | cli control   |  - /var/run/exabgp/
11:41:39 | 82389  | cli control   |  - /var/run/0/
11:41:39 | 82389  | cli control   |  - /var/run/
11:41:39 | 82389  | cli control   |  - /usr/local/run/exabgp/
11:41:39 | 82389  | cli control   |  - /usr/local/run/0/
11:41:39 | 82389  | cli control   |  - /usr/local/run/
11:41:39 | 82389  | cli control   |  - /usr/local/var/run/exabgp/
11:41:39 | 82389  | cli control   |  - /usr/local/var/run/0/
11:41:39 | 82389  | cli control   |  - /usr/local/var/run/
11:41:39 | 82389  | cli control   | please make them in one of the folder with the following commands:
11:41:39 | 82389  | cli control   | > mkfifo /home/cisco/.local/bin/run/exabgp.{in,out}
11:41:39 | 82389  | cli control   | > chmod 600 /home/cisco/.local/bin/run/exabgp.{in,out}
11:41:39 | 82389  | configuration | performing reload of exabgp 4.2.17
11:41:39 | 82389  | configuration | > process          | 'syslog'
11:41:39 | 82389  | configuration | . run              | '/usr/bin/python3' '/home/scripts/reader.py'
11:41:39 | 82389  | configuration | . encoder          | 'json'
11:41:39 | 82389  | configuration | < process          | 
11:41:39 | 82389  | configuration | > neighbor         | '192.168.255.29'
11:41:39 | 82389  | configuration | . local-address    | '192.168.255.219'
11:41:39 | 82389  | configuration | . local-as         | '65001'
11:41:39 | 82389  | configuration | . peer-as          | '65001'
11:41:39 | 82389  | configuration | > api              | 
11:41:39 | 82389  | configuration | . processes        | '[' 'syslog' ']'
11:41:39 | 82389  | configuration | > receive          | 
11:41:39 | 82389  | configuration | . parsed           | 
11:41:39 | 82389  | configuration | . update           | 
11:41:39 | 82389  | configuration | < receive          | 
11:41:39 | 82389  | configuration | < api              | 
11:41:39 | 82389  | configuration | > family           | 
11:41:39 | 82389  | configuration | . bgp-ls           | 'bgp-ls'
11:41:39 | 82389  | configuration | . ipv4             | 'unicast'
11:41:39 | 82389  | configuration | < family           | 
11:41:39 | 82389  | configuration | < neighbor         | 
11:41:39 | 82389  | reactor       | new peer: neighbor 192.168.255.29 local-ip 192.168.255.219 local-as 65001 peer-as 65001 router-id 192.168.255.219 family-allowed in-open
11:41:39 | 82389  | reactor       | loaded new configuration successfully
11:41:39 | 82389  | process       | forked process syslog
11:41:39 | 82389  | reactor       | initialising connection to peer-1
11:41:39 | 82389  | outgoing-1    | attempting connection to 192.168.255.29:179
11:41:39 | 82389  | outgoing-1    | sending TCP payload (  57) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0039 0104 FDE9 00B4 C0A8 FFDB 1C02 0601 0400 0100 0102 0601 0440 0400 4702 0641 0400 00FD E902 0206 00
11:41:39 | 82389  | outgoing-1    | >> OPEN version=4 asn=65001 hold_time=180 router_id=192.168.255.219 capabilities=[Multiprotocol(ipv4 unicast,bgp-ls bgp-ls), Extended Message(65535), ASN4(65001)]
11:41:39 | 82389  | ka-outgoing-1 | receive-timer 60 second(s) left
11:41:39 | 82389  | outgoing-1    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0039 01
11:41:39 | 82389  | outgoing-1    | received complete TCP payload (  38) 04FD E900 B40A 0101 011C 0206 0104 0001 0001 0202 8000 0202 0200 0202 4600 0206 4104 0000 FDE9
11:41:39 | 82389  | outgoing-1    | << message of type OPEN
11:41:39 | 82389  | outgoing-1    | << OPEN version=4 asn=65001 hold_time=180 router_id=10.1.1.1 capabilities=[Multiprotocol(ipv4 unicast), Route Refresh, ASN4(65001), Enhanced Route Refresh, Route Refresh]
11:41:39 | 82389  | outgoing-1    | --------------------------------------------------------------------
**11:41:39 | 82389  | outgoing-1    | the connection can not carry the following family/families
11:41:39 | 82389  | outgoing-1    |  - peer is not configured for bgp-ls/bgp-ls**
11:41:39 | 82389  | outgoing-1    | therefore no routes of this kind can be announced on the connection
11:41:39 | 82389  | outgoing-1    | --------------------------------------------------------------------
11:41:39 | 82389  | outgoing-1    | sending TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
11:41:39 | 82389  | outgoing-1    | >> KEEPALIVE (OPENCONFIRM)
11:41:39 | 82389  | outgoing-1    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
11:41:39 | 82389  | outgoing-1    | << message of type KEEPALIVE
11:41:39 | 82389  | ka-outgoing-1 | receive-timer 180 second(s) left
11:41:39 | 82389  | reactor       | connected to peer-1 with outgoing-1 192.168.255.219-192.168.255.29
11:41:39 | 82389  | outgoing-1    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
11:41:39 | 82389  | outgoing-1    | << message of type KEEPALIVE
11:41:39 | 82389  | outgoing-1    | sending TCP payload (  23) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0017 0200 0000 00
11:41:39 | 82389  | outgoing-1    | >> EOR ipv4 unicast
11:41:39 | 82389  | peer-1        | >> EOR(s)
11:41:39 | 82389  | outgoing-1    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0017 02
11:41:39 | 82389  | outgoing-1    | received complete TCP payload (   4) 0000 0000
11:41:39 | 82389  | outgoing-1    | << message of type UPDATE
11:41:39 | 82389  | parser        | parsing UPDATE (   4) 0000 0000
11:41:39 | 82389  | peer-1        | << UPDATE #1
11:41:39 | 82389  | peer-1        |    UPDATE #1 nlri  (   4) eor 1/1 (ipv4 unicast)
11:41:40 | 82389  | ka-outgoing-1 | receive-timer 179 second(s) left
11:41:40 | 82389  | ka-outgoing-1 | send-timer 59 second(s) left
11:41:41 | 82389  | ka-outgoing-1 | receive-timer 178 second(s) left
11:41:41 | 82389  | ka-outgoing-1 | send-timer 58 second(s) left
11:41:42 | 82389  | ka-outgoing-1 | receive-timer 177 second(s) left
11:41:42 | 82389  | ka-outgoing-1 | send-timer 57 second(s) left
11:41:43 | 82389  | ka-outgoing-1 | receive-timer 176 second(s) left
11:41:43 | 82389  | ka-outgoing-1 | send-timer 56 second(s) left
11:41:44 | 82389  | ka-outgoing-1 | receive-timer 175 second(s) left
11:41:44 | 82389  | ka-outgoing-1 | send-timer 55 second(s) left
11:41:45 | 82389  | ka-outgoing-1 | receive-timer 174 second(s) left
11:41:45 | 82389  | ka-outgoing-1 | send-timer 54 second(s) left

@ameencp533
Copy link
Author

i hop these are relevant lines :

11:41:39 | 82389 | outgoing-1 | the connection can not carry the following family/families
11:41:39 | 82389 | outgoing-1 | - peer is not configured for bgp-ls/bgp-ls
11:41:39 | 82389 | outgoing-1 | therefore no routes of this kind can be announced on the connection

@thomas-mangin
Copy link
Member

well, it says it:

11:41:39 | 82389  | outgoing-1    | << OPEN version=4 asn=65001 hold_time=180 router_id=10.1.1.1 capabilities=[Multiprotocol(ipv4 unicast), Route Refresh, ASN4(65001), Enhanced Route Refresh, Route Refresh]
11:41:39 | 82389  | outgoing-1    | --------------------------------------------------------------------
**11:41:39 | 82389  | outgoing-1    | the connection can not carry the following family/families
11:41:39 | 82389  | outgoing-1    |  - peer is not configured for bgp-ls/bgp-ls**
11:41:39 | 82389  | outgoing-1    | therefore no routes of this kind can be announced on the connection
11:41:39 | 82389  | outgoing-1    | --------------------------------------------------------------------

You do not have bgp-ls configured on the peer for that session: your Cisco router is not
configured to send BGP-LS on this session. This is a BGP configuration issue, not an issue with ExaBGP.

I do provide support for bugs and issues: I have fixed the parsing issue for "all" on master 👍; but I do not provide general BGP support - please investigate how to get your router to send BGP-LS (and it only) on your BGP session. Even if I wanted I could not tell you how to do it, as I have never configured it myself.

Good continuation.

@ameencp533
Copy link
Author

ameencp533 commented Apr 21, 2022

Thanks for your support, it was a mistake from our side. im apologizing for ur valuable time, but we got a new problem, getting an error while parsing the incoming message, pls check the logs

13:15:55 | 1170   | welcome       | Thank you for using ExaBGP
13:15:55 | 1170   | version       | 4.2.17  
13:15:55 | 1170   | interpreter   | 3.8.10 (default, Mar 15 2022, 12:22:08)  [GCC 9.4.0]
13:15:55 | 1170   | os            | Linux inserthostnamehere 5.4.0-109-generic #123-Ubuntu SMP Fri Apr 8 09:10:54 UTC 2022 x86_64
13:15:55 | 1170   | installation  | /usr/local
13:15:55 | 1170   | advice        | environment file missing
13:15:55 | 1170   | advice        | generate it using "exabgp --fi > /usr/local/etc/exabgp/exabgp.env"
13:15:55 | 1170   | cli           | could not find the named pipes (exabgp.in and exabgp.out) required for the cli
13:15:55 | 1170   | cli           | we scanned the following folders (the number is your PID):
13:15:55 | 1170   | cli control   |  - /run/exabgp/
13:15:55 | 1170   | cli control   |  - /run/0/
13:15:55 | 1170   | cli control   |  - /run/
13:15:55 | 1170   | cli control   |  - /var/run/exabgp/
13:15:55 | 1170   | cli control   |  - /var/run/0/
13:15:55 | 1170   | cli control   |  - /var/run/
13:15:55 | 1170   | cli control   |  - /usr/local/run/exabgp/
13:15:55 | 1170   | cli control   |  - /usr/local/run/0/
13:15:55 | 1170   | cli control   |  - /usr/local/run/
13:15:55 | 1170   | cli control   |  - /usr/local/var/run/exabgp/
13:15:55 | 1170   | cli control   |  - /usr/local/var/run/0/
13:15:55 | 1170   | cli control   |  - /usr/local/var/run/
13:15:55 | 1170   | cli control   | please make them in one of the folder with the following commands:
13:15:55 | 1170   | cli control   | > mkfifo /home/cisco/.local/bin/run/exabgp.{in,out}
13:15:55 | 1170   | cli control   | > chmod 600 /home/cisco/.local/bin/run/exabgp.{in,out}
13:15:55 | 1170   | configuration | performing reload of exabgp 4.2.17
13:15:55 | 1170   | configuration | > process          | 'syslog'
13:15:55 | 1170   | configuration | . run              | '/usr/bin/python3' '/home/scripts/reader.py'
13:15:55 | 1170   | configuration | . encoder          | 'json'
13:15:55 | 1170   | configuration | < process          | 
13:15:55 | 1170   | configuration | > neighbor         | '192.168.255.29'
13:15:55 | 1170   | configuration | . local-address    | '192.168.255.219'
13:15:55 | 1170   | configuration | . local-as         | '65000'
13:15:55 | 1170   | configuration | . peer-as          | '65001'
13:15:55 | 1170   | configuration | > api              | 
13:15:55 | 1170   | configuration | . processes        | '[' 'syslog' ']'
13:15:55 | 1170   | configuration | > receive          | 
13:15:55 | 1170   | configuration | . parsed           | 
13:15:55 | 1170   | configuration | . update           | 
13:15:55 | 1170   | configuration | < receive          | 
13:15:55 | 1170   | configuration | < api              | 
13:15:55 | 1170   | configuration | > family           | 
13:15:55 | 1170   | configuration | . bgp-ls           | 'bgp-ls'
13:15:55 | 1170   | configuration | < family           | 
13:15:55 | 1170   | configuration | < neighbor         | 
13:15:55 | 1170   | reactor       | new peer: neighbor 192.168.255.29 local-ip 192.168.255.219 local-as 65000 peer-as 65001 router-id 192.168.255.219 family-allowed in-open
13:15:55 | 1170   | reactor       | loaded new configuration successfully
13:15:55 | 1170   | process       | forked process syslog
13:15:55 | 1170   | reactor       | initialising connection to peer-1
13:15:55 | 1170   | outgoing-1    | attempting connection to 192.168.255.29:179
13:15:55 | 1170   | outgoing-1    | sending TCP payload (  49) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0031 0104 FDE8 00B4 C0A8 FFDB 1402 0601 0440 0400 4702 0641 0400 00FD E802 0206 00
13:15:55 | 1170   | outgoing-1    | >> OPEN version=4 asn=65000 hold_time=180 router_id=192.168.255.219 capabilities=[Multiprotocol(bgp-ls bgp-ls), Extended Message(65535), ASN4(65000)]
13:15:55 | 1170   | ka-outgoing-1 | receive-timer 60 second(s) left
13:15:55 | 1170   | outgoing-1    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0039 01
13:15:55 | 1170   | outgoing-1    | received complete TCP payload (  38) 04FD E900 B40A 0101 011C 0206 0104 4004 0047 0202 8000 0202 0200 0202 4600 0206 4104 0000 FDE9
13:15:55 | 1170   | outgoing-1    | << message of type OPEN
13:15:55 | 1170   | outgoing-1    | << OPEN version=4 asn=65001 hold_time=180 router_id=10.1.1.1 capabilities=[Multiprotocol(bgp-ls bgp-ls), Route Refresh, ASN4(65001), Enhanced Route Refresh, Route Refresh]
13:15:55 | 1170   | outgoing-1    | sending TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
13:15:55 | 1170   | outgoing-1    | >> KEEPALIVE (OPENCONFIRM)
13:15:55 | 1170   | outgoing-1    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
13:15:55 | 1170   | outgoing-1    | << message of type KEEPALIVE
13:15:55 | 1170   | ka-outgoing-1 | receive-timer 180 second(s) left
13:15:55 | 1170   | reactor       | connected to peer-1 with outgoing-1 192.168.255.219-192.168.255.29
13:15:55 | 1170   | outgoing-1    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
13:15:55 | 1170   | outgoing-1    | << message of type KEEPALIVE
13:15:55 | 1170   | outgoing-1    | sending TCP payload (  30) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 001E 0200 0000 0790 0F00 0340 0447
13:15:55 | 1170   | outgoing-1    | >> EOR bgp-ls bgp-ls
13:15:55 | 1170   | peer-1        | >> EOR(s)
13:15:55 | 1170   | outgoing-1    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0080 02
13:15:55 | 1170   | outgoing-1    | received complete TCP payload ( 109) 0000 0069 800E 4740 0447 04C0 A8FF 1D00 0003 003A 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0104 0101 0800 0101 0109 0004 180A 0104 4001 0100 4002 0602 0100 00FD E980 0404 0000 0000 801D 0804 8300 0400 0000 01
13:15:55 | 1170   | outgoing-1    | << message of type UPDATE
13:15:55 | 1170   | parser        | parsing UPDATE ( 109) 0000 0069 800E 4740 0447 04C0 A8FF 1D00 0003 003A 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0104 0101 0800 0101 0109 0004 180A 0104 4001 0100 4002 0602 0100 00FD E980 0404 0000 0000 801D 0804 8300 0400 0000 01
13:15:55 | 1170   | routes        | withdrawn NLRI none
13:15:55 | 1170   | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x47 payload 4004 4704 C0A8 FF1D 0000 0300 3A03 0000 0000 0000 0000 0100 0020 0200 0004 0000 FDE9 0201 0004 0000 0000 0202 0004 0000 0000 0203 0004 0A01 0401 0108 0001 0101 0900 0418 0A01 04
13:15:55 | 1170   | parser        | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 003A 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0104 0101 0800 0101 0109 0004 180A 0104
13:15:55 | 1170   | parser        | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00
13:15:55 | 1170   | parser        | attribute as-path            flag 0x40 type 0x02 len 0x06 payload 0201 0000 FDE9
13:15:55 | 1170   | parser        | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000
13:15:55 | 1170   | parser        | attribute bgp-ls             flag 0x80 type 0x1d len 0x08 payload 0483 0004 0000 0001
13:15:55 | 1170   | routes        | announced NLRI none
13:15:55 | 1170   | parser        | decoded UPDATE (   0) json { "exabgp": "4.0.1", "time": 1650546955.8635662, "host" : "inserthostnamehere", "pid" : 1170, "ppid" : 1169, "counter": 1, "type": "update", "neighbor": { "address": { "local": "192.168.255.219", "peer": "192.168.255.29" }, "asn": { "local": 65000, "peer": 65001 } , "direction": "in", "message": { "update": { "attribute": { "origin": "igp", "as-path": [ 65001 ], "confederation-path": [], "med": 0, "bgp-ls": { "prefix-metric": 1 } }, "announce": { "bgp-ls bgp-ls": { "192.168.255.29": [ { "ls-nlri-type": "bgpls-prefix-v4", "l3-routing-topology": 0, "protocol-id": 3, "node-descriptors": { "autonomous-system": 65001, "bgp-ls-identifier": "0", "ospf-area-id": "0.0.0.0", "router-id": "10.1.4.1" }, "ip-reachability-tlv": "10.1.4.0", "ip-reach-prefix": "10.1.4.0/24", "nexthop": "192.168.255.29", "ospf-route-type": 1 } ] } } } } } }
13:15:55 | 1170   | peer-1        | << UPDATE #1
13:15:55 | 1170   | peer-1        |    UPDATE #1 nlri  (   2) { "ls-nlri-type": "bgpls-prefix-v4", "l3-routing-topology": 0, "protocol-id": 3, "node-descriptors": { "autonomous-system": 65001, "bgp-ls-identifier": "0", "ospf-area-id": "0.0.0.0", "router-id": "10.1.4.1" }, "ip-reachability-tlv": "10.1.4.0", "ip-reach-prefix": "10.1.4.0/24", "nexthop": "192.168.255.29", "ospf-route-type": 1 }
13:15:55 | 1170   | outgoing-1    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0080 02
13:15:55 | 1170   | outgoing-1    | received complete TCP payload ( 109) 0000 0069 800E 4740 0447 04C0 A8FF 1D00 0003 003A 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0104 0101 0800 0101 0109 0004 180A 0102 4001 0100 4002 0602 0100 00FD E980 0404 0000 0000 801D 0804 8300 0400 0000 01
13:15:55 | 1170   | outgoing-1    | << message of type UPDATE
13:15:55 | 1170   | parser        | parsing UPDATE ( 109) 0000 0069 800E 4740 0447 04C0 A8FF 1D00 0003 003A 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0104 0101 0800 0101 0109 0004 180A 0102 4001 0100 4002 0602 0100 00FD E980 0404 0000 0000 801D 0804 8300 0400 0000 01
13:15:55 | 1170   | routes        | withdrawn NLRI none
13:15:55 | 1170   | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x47 payload 4004 4704 C0A8 FF1D 0000 0300 3A03 0000 0000 0000 0000 0100 0020 0200 0004 0000 FDE9 0201 0004 0000 0000 0202 0004 0000 0000 0203 0004 0A01 0401 0108 0001 0101 0900 0418 0A01 02
13:15:55 | 1170   | parser        | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 003A 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0104 0101 0800 0101 0109 0004 180A 0102
13:15:55 | 1170   | parser        | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00
13:15:55 | 1170   | parser        | attribute as-path            flag 0x40 type 0x02 len 0x06 payload 0201 0000 FDE9
13:15:55 | 1170   | parser        | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000
13:15:55 | 1170   | parser        | attribute bgp-ls             flag 0x80 type 0x1d len 0x08 payload 0483 0004 0000 0001
13:15:55 | 1170   | routes        | announced NLRI none
13:15:55 | 1170   | parser        | decoded UPDATE (   0) json { "exabgp": "4.0.1", "time": 1650546955.9523659, "host" : "inserthostnamehere", "pid" : 1170, "ppid" : 1169, "counter": 3, "type": "update", "neighbor": { "address": { "local": "192.168.255.219", "peer": "192.168.255.29" }, "asn": { "local": 65000, "peer": 65001 } , "direction": "in", "message": { "update": { "attribute": { "origin": "igp", "as-path": [ 65001 ], "confederation-path": [], "med": 0, "bgp-ls": { "prefix-metric": 1 } }, "announce": { "bgp-ls bgp-ls": { "192.168.255.29": [ { "ls-nlri-type": "bgpls-prefix-v4", "l3-routing-topology": 0, "protocol-id": 3, "node-descriptors": { "autonomous-system": 65001, "bgp-ls-identifier": "0", "ospf-area-id": "0.0.0.0", "router-id": "10.1.4.1" }, "ip-reachability-tlv": "10.1.2.0", "ip-reach-prefix": "10.1.2.0/24", "nexthop": "192.168.255.29", "ospf-route-type": 1 } ] } } } } } }
13:15:55 | 1170   | peer-1        | << UPDATE #2
13:15:55 | 1170   | peer-1        |    UPDATE #2 nlri  (   2) { "ls-nlri-type": "bgpls-prefix-v4", "l3-routing-topology": 0, "protocol-id": 3, "node-descriptors": { "autonomous-system": 65001, "bgp-ls-identifier": "0", "ospf-area-id": "0.0.0.0", "router-id": "10.1.4.1" }, "ip-reachability-tlv": "10.1.2.0", "ip-reach-prefix": "10.1.2.0/24", "nexthop": "192.168.255.29", "ospf-route-type": 1 }
13:15:55 | 1170   | outgoing-1    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 00AA 02
13:15:55 | 1170   | outgoing-1    | received complete TCP payload ( 151) 0000 0093 800E 7240 0447 04C0 A8FF 1D00 0002 0065 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0101 0101 0100 2402 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 080A 0104 010A 0101 0201 0300 040A 0101 0101 0400 040A 0101 0240 0101 0040 0206 0201 0000 FDE9 8004 0400 0000 0080 1D07 0447 0003 0000 01
13:15:55 | 1170   | outgoing-1    | << message of type UPDATE
13:15:55 | 1170   | parser        | parsing UPDATE ( 151) 0000 0093 800E 7240 0447 04C0 A8FF 1D00 0002 0065 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0101 0101 0100 2402 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 080A 0104 010A 0101 0201 0300 040A 0101 0101 0400 040A 0101 0240 0101 0040 0206 0201 0000 FDE9 8004 0400 0000 0080 1D07 0447 0003 0000 01
13:15:56 | 1170   | routes        | withdrawn NLRI none
13:15:56 | 1170   | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x72 payload 4004 4704 C0A8 FF1D 0000 0200 6503 0000 0000 0000 0000 0100 0020 0200 0004 0000 FDE9 0201 0004 0000 0000 0202 0004 0000 0000 0203 0004 0A01 0101 0101 0024 0200 0004 0000 FDE9 0201 0004 0000 0000 0202 0004 0000 0000 0203 0008 0A01 0401 0A01 0102 0103 0004 0A01 0101 0104 0004 0A01 0102
13:15:56 | 1170   | parser        | NLRI      bgp-ls bgp-ls      without path-information     payload 0002 0065 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0101 0101 0100 2402 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 080A 0104 010A 0101 0201 0300 040A 0101 0101 0400 040A 0101 02
13:15:56 | 1170   | parser        | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00
13:15:56 | 1170   | parser        | attribute as-path            flag 0x40 type 0x02 len 0x06 payload 0201 0000 FDE9
13:15:56 | 1170   | parser        | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000
13:15:56 | 1170   | parser        | attribute bgp-ls             flag 0x80 type 0x1d len 0x07 payload 0447 0003 0000 01
13:15:56 | 1170   | routes        | announced NLRI none
### error
13:15:56 | 1170   | outgoing-1    | could not decode message "2"
13:15:56 | 1170   | outgoing-1    | int() argument must be a string, a bytes-like object or a number, not 'list'
13:15:56 | 1170   | outgoing-1    | Traceback (most recent call last):
13:15:56 | 1170   | outgoing-1    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/reactor/protocol.py", line 240, in read_message
13:15:56 | 1170   | outgoing-1    |     message = Message.unpack(msg_id, body, Direction.IN, self.negotiated)
13:15:56 | 1170   | outgoing-1    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/bgp/message/message.py", line 180, in unpack
13:15:56 | 1170   | outgoing-1    |     return cls.klass(message).unpack_message(data, direction, negotiated)
13:15:56 | 1170   | outgoing-1    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/bgp/message/update/__init__.py", line 295, in unpack_message
13:15:56 | 1170   | outgoing-1    |     logger.debug(LazyFormat('decoded UPDATE', '', parsed), 'parser')
13:15:56 | 1170   | outgoing-1    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/logger.py", line 355, in debug
13:15:56 | 1170   | outgoing-1    |     self._report(message, source, level)
13:15:56 | 1170   | outgoing-1    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/logger.py", line 347, in _report
13:15:56 | 1170   | outgoing-1    |     for line in message.split('\n'):
13:15:56 | 1170   | outgoing-1    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/logger.py", line 53, in split
13:15:56 | 1170   | outgoing-1    |     return str(self).split(char)
13:15:56 | 1170   | outgoing-1    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/logger.py", line 56, in __str__
13:15:56 | 1170   | outgoing-1    |     formated = self.formater(self.message)
13:15:56 | 1170   | outgoing-1    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/bgp/message/update/__init__.py", line 293, in parsed
13:15:56 | 1170   | outgoing-1    |     return 'json %s' % Response.JSON(json_version).update(negotiated.neighbor, 'in', update, None, '', '')
13:15:56 | 1170   | outgoing-1    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/reactor/api/response/json.py", line 321, in update
13:15:56 | 1170   | outgoing-1    |     message = self._update(update)
13:15:56 | 1170   | outgoing-1    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/reactor/api/response/json.py", line 312, in _update
13:15:56 | 1170   | outgoing-1    |     attributes = '' if not update.attributes else '"attribute": { %s }' % update.attributes.json()
13:15:56 | 1170   | outgoing-1    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/bgp/message/update/attribute/attributes.py", line 272, in json
13:15:56 | 1170   | outgoing-1    |     self._json = ', '.join(self._generate_json())
13:15:56 | 1170   | outgoing-1    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/bgp/message/update/attribute/attributes.py", line 174, in _generate_json
13:15:56 | 1170   | outgoing-1    |     yield '"%s": %s' % (name, presentation % attribute.json())
13:15:56 | 1170   | outgoing-1    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/bgp/message/update/attribute/bgpls/linkstate.py", line 70, in json
13:15:56 | 1170   | outgoing-1    |     content = ', '.join(d.json() for d in self.ls_attrs)
13:15:56 | 1170   | outgoing-1    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/bgp/message/update/attribute/bgpls/linkstate.py", line 70, in <genexpr>
13:15:56 | 1170   | outgoing-1    |     content = ', '.join(d.json() for d in self.ls_attrs)
13:15:56 | 1170   | outgoing-1    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/bgp/message/update/attribute/bgpls/link/igpmetric.py", line 62, in json
13:15:56 | 1170   | outgoing-1    |     return '"igp-metric": %d' % int(self.igpmetric)
13:15:56 | 1170   | outgoing-1    | TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'
13:15:56 | 1170   | outgoing-1    |         
13:15:56 | 1170   | outgoing-1    | sending TCP payload (  62) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 003E 0301 0063 616E 206E 6F74 2064 6563 6F64 6520 7570 6461 7465 206D 6573 7361 6765 206F 6620 7479 7065 2022 3222
13:15:56 | 1170   | outgoing-1    | >> NOTIFICATION (1,0,"can not decode update message of type "2"")
13:15:56 | 1170   | outgoing-1    | peer reset, message [notification sent (1,0)] error[Message header error / Unspecific / can not decode update message of type "2"]
13:15:56 | 1170   | outgoing-1    | outgoing-1 192.168.255.219-192.168.255.29, closing connection
13:15:56 | 1170   | reactor       | initialising connection to peer-1
13:15:56 | 1170   | outgoing-2    | attempting connection to 192.168.255.29:179
13:15:56 | 1170   | outgoing-2    | sending TCP payload (  49) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0031 0104 FDE8 00B4 C0A8 FFDB 1402 0601 0440 0400 4702 0641 0400 00FD E802 0206 00
13:15:56 | 1170   | outgoing-2    | >> OPEN version=4 asn=65000 hold_time=180 router_id=192.168.255.219 capabilities=[Multiprotocol(bgp-ls bgp-ls), Extended Message(65535), ASN4(65000)]
13:15:56 | 1170   | ka-outgoing-2 | receive-timer 60 second(s) left
13:15:56 | 1170   | outgoing-2    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0039 01
13:15:56 | 1170   | outgoing-2    | received complete TCP payload (  38) 04FD E900 B40A 0101 011C 0206 0104 4004 0047 0202 8000 0202 0200 0202 4600 0206 4104 0000 FDE9
13:15:56 | 1170   | outgoing-2    | << message of type OPEN
13:15:56 | 1170   | outgoing-2    | << OPEN version=4 asn=65001 hold_time=180 router_id=10.1.1.1 capabilities=[Multiprotocol(bgp-ls bgp-ls), Route Refresh, ASN4(65001), Enhanced Route Refresh, Route Refresh]
13:15:56 | 1170   | outgoing-2    | sending TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
13:15:56 | 1170   | outgoing-2    | >> KEEPALIVE (OPENCONFIRM)
13:15:56 | 1170   | outgoing-2    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
13:15:56 | 1170   | outgoing-2    | << message of type KEEPALIVE
13:15:56 | 1170   | ka-outgoing-2 | receive-timer 180 second(s) left
13:15:56 | 1170   | reactor       | connected to peer-1 with outgoing-2 192.168.255.219-192.168.255.29
13:15:56 | 1170   | outgoing-2    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
13:15:56 | 1170   | outgoing-2    | << message of type KEEPALIVE
13:15:56 | 1170   | outgoing-2    | sending TCP payload (  30) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 001E 0200 0000 0790 0F00 0340 0447
13:15:56 | 1170   | outgoing-2    | >> EOR bgp-ls bgp-ls
13:15:56 | 1170   | peer-1        | >> EOR(s)
13:15:56 | 1170   | outgoing-2    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0080 02
13:15:56 | 1170   | outgoing-2    | received complete TCP payload ( 109) 0000 0069 800E 4740 0447 04C0 A8FF 1D00 0003 003A 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0104 0101 0800 0101 0109 0004 180A 0104 4001 0100 4002 0602 0100 00FD E980 0404 0000 0000 801D 0804 8300 0400 0000 01
13:15:56 | 1170   | outgoing-2    | << message of type UPDATE
13:15:56 | 1170   | parser        | parsing UPDATE ( 109) 0000 0069 800E 4740 0447 04C0 A8FF 1D00 0003 003A 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0104 0101 0800 0101 0109 0004 180A 0104 4001 0100 4002 0602 0100 00FD E980 0404 0000 0000 801D 0804 8300 0400 0000 01
13:15:56 | 1170   | routes        | withdrawn NLRI none
13:15:56 | 1170   | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x47 payload 4004 4704 C0A8 FF1D 0000 0300 3A03 0000 0000 0000 0000 0100 0020 0200 0004 0000 FDE9 0201 0004 0000 0000 0202 0004 0000 0000 0203 0004 0A01 0401 0108 0001 0101 0900 0418 0A01 04
13:15:56 | 1170   | parser        | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 003A 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0104 0101 0800 0101 0109 0004 180A 0104
13:15:56 | 1170   | parser        | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00
13:15:56 | 1170   | parser        | attribute as-path            flag 0x40 type 0x02 len 0x06 payload 0201 0000 FDE9
13:15:56 | 1170   | parser        | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000
13:15:56 | 1170   | parser        | attribute bgp-ls             flag 0x80 type 0x1d len 0x08 payload 0483 0004 0000 0001
13:15:56 | 1170   | routes        | announced NLRI none
13:15:56 | 1170   | parser        | decoded UPDATE (   0) json { "exabgp": "4.0.1", "time": 1650546956.2383618, "host" : "inserthostnamehere", "pid" : 1170, "ppid" : 1169, "counter": 5, "type": "update", "neighbor": { "address": { "local": "192.168.255.219", "peer": "192.168.255.29" }, "asn": { "local": 65000, "peer": 65001 } , "direction": "in", "message": { "update": { "attribute": { "origin": "igp", "as-path": [ 65001 ], "confederation-path": [], "med": 0, "bgp-ls": { "prefix-metric": 1 } }, "announce": { "bgp-ls bgp-ls": { "192.168.255.29": [ { "ls-nlri-type": "bgpls-prefix-v4", "l3-routing-topology": 0, "protocol-id": 3, "node-descriptors": { "autonomous-system": 65001, "bgp-ls-identifier": "0", "ospf-area-id": "0.0.0.0", "router-id": "10.1.4.1" }, "ip-reachability-tlv": "10.1.4.0", "ip-reach-prefix": "10.1.4.0/24", "nexthop": "192.168.255.29", "ospf-route-type": 1 } ] } } } } } }
13:15:56 | 1170   | peer-1        | << UPDATE #1
13:15:56 | 1170   | peer-1        |    UPDATE #1 nlri  (   2) { "ls-nlri-type": "bgpls-prefix-v4", "l3-routing-topology": 0, "protocol-id": 3, "node-descriptors": { "autonomous-system": 65001, "bgp-ls-identifier": "0", "ospf-area-id": "0.0.0.0", "router-id": "10.1.4.1" }, "ip-reachability-tlv": "10.1.4.0", "ip-reach-prefix": "10.1.4.0/24", "nexthop": "192.168.255.29", "ospf-route-type": 1 }
13:15:56 | 1170   | outgoing-2    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0080 02
13:15:56 | 1170   | outgoing-2    | received complete TCP payload ( 109) 0000 0069 800E 4740 0447 04C0 A8FF 1D00 0003 003A 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0104 0101 0800 0101 0109 0004 180A 0102 4001 0100 4002 0602 0100 00FD E980 0404 0000 0000 801D 0804 8300 0400 0000 01
13:15:56 | 1170   | outgoing-2    | << message of type UPDATE
13:15:56 | 1170   | parser        | parsing UPDATE ( 109) 0000 0069 800E 4740 0447 04C0 A8FF 1D00 0003 003A 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0104 0101 0800 0101 0109 0004 180A 0102 4001 0100 4002 0602 0100 00FD E980 0404 0000 0000 801D 0804 8300 0400 0000 01
13:15:56 | 1170   | routes        | withdrawn NLRI none
13:15:56 | 1170   | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x47 payload 4004 4704 C0A8 FF1D 0000 0300 3A03 0000 0000 0000 0000 0100 0020 0200 0004 0000 FDE9 0201 0004 0000 0000 0202 0004 0000 0000 0203 0004 0A01 0401 0108 0001 0101 0900 0418 0A01 02
13:15:56 | 1170   | parser        | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 003A 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0104 0101 0800 0101 0109 0004 180A 0102
13:15:56 | 1170   | parser        | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00
13:15:56 | 1170   | parser        | attribute as-path            flag 0x40 type 0x02 len 0x06 payload 0201 0000 FDE9
13:15:56 | 1170   | parser        | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000
13:15:56 | 1170   | parser        | attribute bgp-ls             flag 0x80 type 0x1d len 0x08 payload 0483 0004 0000 0001
13:15:56 | 1170   | routes        | announced NLRI none
13:15:56 | 1170   | parser        | decoded UPDATE (   0) json { "exabgp": "4.0.1", "time": 1650546956.3183548, "host" : "inserthostnamehere", "pid" : 1170, "ppid" : 1169, "counter": 7, "type": "update", "neighbor": { "address": { "local": "192.168.255.219", "peer": "192.168.255.29" }, "asn": { "local": 65000, "peer": 65001 } , "direction": "in", "message": { "update": { "attribute": { "origin": "igp", "as-path": [ 65001 ], "confederation-path": [], "med": 0, "bgp-ls": { "prefix-metric": 1 } }, "announce": { "bgp-ls bgp-ls": { "192.168.255.29": [ { "ls-nlri-type": "bgpls-prefix-v4", "l3-routing-topology": 0, "protocol-id": 3, "node-descriptors": { "autonomous-system": 65001, "bgp-ls-identifier": "0", "ospf-area-id": "0.0.0.0", "router-id": "10.1.4.1" }, "ip-reachability-tlv": "10.1.2.0", "ip-reach-prefix": "10.1.2.0/24", "nexthop": "192.168.255.29", "ospf-route-type": 1 } ] } } } } } }
13:15:56 | 1170   | peer-1        | << UPDATE #2
13:15:56 | 1170   | peer-1        |    UPDATE #2 nlri  (   2) { "ls-nlri-type": "bgpls-prefix-v4", "l3-routing-topology": 0, "protocol-id": 3, "node-descriptors": { "autonomous-system": 65001, "bgp-ls-identifier": "0", "ospf-area-id": "0.0.0.0", "router-id": "10.1.4.1" }, "ip-reachability-tlv": "10.1.2.0", "ip-reach-prefix": "10.1.2.0/24", "nexthop": "192.168.255.29", "ospf-route-type": 1 }
13:15:56 | 1170   | outgoing-2    | received complete TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 00AA 02
13:15:56 | 1170   | outgoing-2    | received complete TCP payload ( 151) 0000 0093 800E 7240 0447 04C0 A8FF 1D00 0002 0065 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0101 0101 0100 2402 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 080A 0104 010A 0101 0201 0300 040A 0101 0101 0400 040A 0101 0240 0101 0040 0206 0201 0000 FDE9 8004 0400 0000 0080 1D07 0447 0003 0000 01
13:15:56 | 1170   | outgoing-2    | << message of type UPDATE
13:15:56 | 1170   | parser        | parsing UPDATE ( 151) 0000 0093 800E 7240 0447 04C0 A8FF 1D00 0002 0065 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0101 0101 0100 2402 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 080A 0104 010A 0101 0201 0300 040A 0101 0101 0400 040A 0101 0240 0101 0040 0206 0201 0000 FDE9 8004 0400 0000 0080 1D07 0447 0003 0000 01
13:15:56 | 1170   | routes        | withdrawn NLRI none
13:15:56 | 1170   | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x72 payload 4004 4704 C0A8 FF1D 0000 0200 6503 0000 0000 0000 0000 0100 0020 0200 0004 0000 FDE9 0201 0004 0000 0000 0202 0004 0000 0000 0203 0004 0A01 0101 0101 0024 0200 0004 0000 FDE9 0201 0004 0000 0000 0202 0004 0000 0000 0203 0008 0A01 0401 0A01 0102 0103 0004 0A01 0101 0104 0004 0A01 0102
13:15:56 | 1170   | parser        | NLRI      bgp-ls bgp-ls      without path-information     payload 0002 0065 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0101 0101 0100 2402 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 080A 0104 010A 0101 0201 0300 040A 0101 0101 0400 040A 0101 02
13:15:56 | 1170   | parser        | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00
13:15:56 | 1170   | parser        | attribute as-path            flag 0x40 type 0x02 len 0x06 payload 0201 0000 FDE9
13:15:56 | 1170   | parser        | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000
13:15:56 | 1170   | parser        | attribute bgp-ls             flag 0x80 type 0x1d len 0x07 payload 0447 0003 0000 01
13:15:56 | 1170   | routes        | announced NLRI none
13:15:56 | 1170   | outgoing-2    | could not decode message "2"
13:15:56 | 1170   | outgoing-2    | int() argument must be a string, a bytes-like object or a number, not 'list'
13:15:56 | 1170   | outgoing-2    | Traceback (most recent call last):
13:15:56 | 1170   | outgoing-2    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/reactor/protocol.py", line 240, in read_message
13:15:56 | 1170   | outgoing-2    |     message = Message.unpack(msg_id, body, Direction.IN, self.negotiated)
13:15:56 | 1170   | outgoing-2    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/bgp/message/message.py", line 180, in unpack
13:15:56 | 1170   | outgoing-2    |     return cls.klass(message).unpack_message(data, direction, negotiated)
13:15:56 | 1170   | outgoing-2    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/bgp/message/update/__init__.py", line 295, in unpack_message
13:15:56 | 1170   | outgoing-2    |     logger.debug(LazyFormat('decoded UPDATE', '', parsed), 'parser')
13:15:56 | 1170   | outgoing-2    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/logger.py", line 355, in debug
13:15:56 | 1170   | outgoing-2    |     self._report(message, source, level)
13:15:56 | 1170   | outgoing-2    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/logger.py", line 347, in _report
13:15:56 | 1170   | outgoing-2    |     for line in message.split('\n'):
13:15:56 | 1170   | outgoing-2    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/logger.py", line 53, in split
13:15:56 | 1170   | outgoing-2    |     return str(self).split(char)
13:15:56 | 1170   | outgoing-2    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/logger.py", line 56, in __str__
13:15:56 | 1170   | outgoing-2    |     formated = self.formater(self.message)
13:15:56 | 1170   | outgoing-2    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/bgp/message/update/__init__.py", line 293, in parsed
13:15:56 | 1170   | outgoing-2    |     return 'json %s' % Response.JSON(json_version).update(negotiated.neighbor, 'in', update, None, '', '')
13:15:56 | 1170   | outgoing-2    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/reactor/api/response/json.py", line 321, in update
13:15:56 | 1170   | outgoing-2    |     message = self._update(update)
13:15:56 | 1170   | outgoing-2    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/reactor/api/response/json.py", line 312, in _update
13:15:56 | 1170   | outgoing-2    |     attributes = '' if not update.attributes else '"attribute": { %s }' % update.attributes.json()
13:15:56 | 1170   | outgoing-2    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/bgp/message/update/attribute/attributes.py", line 272, in json
13:15:56 | 1170   | outgoing-2    |     self._json = ', '.join(self._generate_json())
13:15:56 | 1170   | outgoing-2    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/bgp/message/update/attribute/attributes.py", line 174, in _generate_json
13:15:56 | 1170   | outgoing-2    |     yield '"%s": %s' % (name, presentation % attribute.json())
13:15:56 | 1170   | outgoing-2    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/bgp/message/update/attribute/bgpls/linkstate.py", line 70, in json
13:15:56 | 1170   | outgoing-2    |     content = ', '.join(d.json() for d in self.ls_attrs)
13:15:56 | 1170   | outgoing-2    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/bgp/message/update/attribute/bgpls/linkstate.py", line 70, in <genexpr>
13:15:56 | 1170   | outgoing-2    |     content = ', '.join(d.json() for d in self.ls_attrs)
13:15:56 | 1170   | outgoing-2    |   File "/usr/local/lib/python3.8/dist-packages/exabgp/bgp/message/update/attribute/bgpls/link/igpmetric.py", line 62, in json
13:15:56 | 1170   | outgoing-2    |     return '"igp-metric": %d' % int(self.igpmetric)
13:15:56 | 1170   | outgoing-2    | TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'
13:15:56 | 1170   | outgoing-2    |         
13:15:56 | 1170   | outgoing-2    | sending TCP payload (  62) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 003E 0301 0063 616E 206E 6F74 2064 6563 6F64 6520 7570 6461 7465 206D 6573 7361 6765 206F 6620 7479 7065 2022 3222
13:15:56 | 1170   | outgoing-2    | >> NOTIFICATION (1,0,"can not decode update message of type "2"")
13:15:56 | 1170   | outgoing-2    | peer reset, message [notification sent (1,0)] error[Message header error / Unspecific / can not decode update message of type "2"]
13:15:56 | 1170   | outgoing-2    | outgoing-2 192.168.255.219-192.168.255.29, closing connection
^C13:15:56 | 1170   | reactor       | ^C received
13:15:56 | 1170   | reactor       | performing shutdown
13:15:56 | 1170   | process       | terminating process syslog

@thomas-mangin
Copy link
Member

I believe the issue you are seeing has been resolved in master (as I refactored some of the BGPLS code - I was not the original author), but it will not be backported to 4.2.

If you need to use pip and want to pin the version, it can be done:
https://adamj.eu/tech/2019/03/11/pip-install-from-a-git-repository/

@thomas-mangin
Copy link
Member

Yes, it was fixed on master :-)

at 12:20:01 ❯ ./sbin/exabgp decode -c etc/exabgp/conf-bgpls.conf  '0000 0093 800E 7240 0447 04C0 A8FF 1D00 0002 0065 0300 0000 0000 0000 0001 0000 2002 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 040A 0101 0101 0100 2402 0000 0400 00FD E902 0100 0400 0000 0002 0200 0400 0000 0002 0300 080A 0104 010A 0101 0201 0300 040A 0101 0101 0400 040A 0101 0240 0101 0040 0206 0201 0000 FDE9 8004 0400 0000 0080 1D07 0447 0003 0000 01' 

configuration performing reload of exabgp master-f2985d7d8bd888d4b25d6ed4abcea470d5b57008
reactor       loaded new configuration successfully
parser        decoded update 1 { "ls-nlri-type": "bgpls-link", "l3-routing-topology": 0, "protocol-id": 3, "local-node-descriptors": { "autonomous-system": 65001, "bgp-ls-identifier": "0", "ospf-area-id": "0.0.0.0", "router-id": "10.1.1.1" }, "remote-node-descriptors": { "autonomous-system": 65001, "bgp-ls-identifier": "0", "ospf-area-id": "0.0.0.0", "designated-router-id": "10.1.1.2", "router-id": "10.1.4.1" }, "interface-address": { "interface-address": "10.1.1.1" }, "neighbor-address": { "neighbor-address": "10.1.1.2" } } origin igp as-path ( 65001 ) med 0 bgp-ls IGP Metric: 1
parser        update json { "exabgp": "5.0.0", "time": 1650626426.632694, "host" : "MacBook-Pro-2.local", "pid" : 79933, "ppid" : 36810, "counter": 1, "type": "update", "neighbor": {     "address": { "local": "127.0.0.1", "peer": "127.0.0.1" },     "asn": { "local": 1, "peer": 1 }     , "direction": "in", "message": { "update": { "attribute": { "origin": "igp", "as-path": {"0": {"element": "as-sequence", "value": [65001]}}, "med": 0, "bgp-ls": { "igp-metric": 1 } }, "announce": { "bgp-ls bgp-ls": { "192.168.255.29": [ { "ls-nlri-type": "bgpls-link", "l3-routing-topology": 0, "protocol-id": 3, "local-node-descriptors": { "autonomous-system": 65001, "bgp-ls-identifier": "0", "ospf-area-id": "0.0.0.0", "router-id": "10.1.1.1" }, "remote-node-descriptors": { "autonomous-system": 65001, "bgp-ls-identifier": "0", "ospf-area-id": "0.0.0.0", "designated-router-id": "10.1.1.2", "router-id": "10.1.4.1" }, "interface-address": { "interface-address": "10.1.1.1" }, "neighbor-address": { "neighbor-address": "10.1.1.2" } } ] } } } } } }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants