Exa-Networks / exabgp

The BGP swiss army knife of networking
Other
2.09k stars 448 forks source link

Not receiving full count of updates followed by session reset #842

Closed timho93 closed 6 years ago

timho93 commented 6 years ago

Hello guys,

perhaps you could help me with new occoured problems.

Following Topology (Imagine another ISIS Router behind the bottom cloud):

bildschirmfoto 2018-07-10 um 15 46 30

The router csr1000v_2 (right site) estblished a connection with exabgp. In this case only csr1000v_2 and the one behind building the topology (the left csr1000v_1 is down). According to the topology of the output of "show bgp link-state link-state" on router csr1000v_2:

     Network          Next Hop            Metric LocPrf Weight Path
 *>   [V][L1][I0x0][N[c1][b0.0.0.0][s0020.0200.2002.00]]
                      0.0.0.0                  0         32768 i
 *>   [V][L1][I0x0][N[c1][b0.0.0.0][s0030.0300.3003.00]]
                      0.0.0.0                  0         32768 i
 *>   [E][L1][I0x0][N[c1][b0.0.0.0][s0020.0200.2002.00]][R[c1][b0.0.0.0][s0030.0300.3003.00]][L[i10.10.12.1][n10.10.12.2][t0x0000]]
     Network          Next Hop            Metric LocPrf Weight Path
                      0.0.0.0                  0         32768 i
 *>   [E][L1][I0x0][N[c1][b0.0.0.0][s0030.0300.3003.00]][R[c1][b0.0.0.0][s0020.0200.2002.00]][L[i10.10.12.2][n10.10.12.1][t0x0000]]
                      0.0.0.0                  0         32768 i
 *>   [T4][L1][I0x0][N[c1][b0.0.0.0][s0020.0200.2002.00]][P[p10.10.10.0/24]]
                      0.0.0.0                  0         32768 i
 *>   [T4][L1][I0x0][N[c1][b0.0.0.0][s0020.0200.2002.00]][P[p10.10.12.0/24]]
                      0.0.0.0                  0         32768 i
 *>   [T4][L1][I0x0][N[c1][b0.0.0.0][s0020.0200.2002.00]][P[p192.168.2.0/24]]
                      0.0.0.0                  0         32768 i
 *>   [T4][L1][I0x0][N[c1][b0.0.0.0][s0020.0200.2002.00]][P[p192.168.56.0/24]]
                      0.0.0.0                  0         32768 i
 *>   [T4][L1][I0x0][N[c1][b0.0.0.0][s0020.0200.2002.00]][P[p2.2.2.2/32]]
                      0.0.0.0                  0         32768 i
 *>   [T4][L1][I0x0][N[c1][b0.0.0.0][s0030.0300.3003.00]][P[p10.10.11.0/24]]
                      0.0.0.0                  0         32768 i
 *>   [T4][L1][I0x0][N[c1][b0.0.0.0][s0030.0300.3003.00]][P[p10.10.12.0/24]]
                      0.0.0.0                  0         32768 i
 *>   [T4][L1][I0x0][N[c1][b0.0.0.0][s0030.0300.3003.00]][P[p3.3.3.3/32]]
                      0.0.0.0                  0         32768 i

All routers running ios xe 16.8.1. Every time i start my exabgp there is only one kind of Updates. Either "ls-nlri-type": 1 or "ls-nlri-type": 3 but never all together.

On csr1000v_2 i get the following messages:

Starting with …
*Jul 10 12:48:08.114: %BGP_SESSION-5-ADJCHANGE: neighbor 192.168.56.1 IPv4 Unicast topology base removed from session  Capability changed
*Jul 10 12:48:08.117: %BGP-5-ADJCHANGE: neighbor 192.168.56.1 Up 

After a while …
*Jul 10 12:51:08.132: %BGP-3-NOTIFICATION: sent to neighbor 192.168.56.1 4/0 (hold time expired) 0 bytes 
*Jul 10 12:51:08.133: %BGP-5-NBR_RESET: Neighbor 192.168.56.1 reset (BGP Notification sent)
*Jul 10 12:51:08.133: %BGP-5-ADJCHANGE: neighbor 192.168.56.1 Down BGP Notification sent
*Jul 10 12:51:08.133: %BGP_SESSION-5-ADJCHANGE: neighbor 192.168.56.1 link-state link-state topology base removed from session  BGP Notification sent

Some ideas what happens ?

Thank you

thomas-mangin commented 6 years ago

I would need the output of exabgp -d .. how many routes are you sending (if you are sending any) ?

timho93 commented 6 years ago

Configuration exabgp:

neighbor 192.168.56.3 {
    local-address 192.168.56.1;
    local-as 1;
    peer-as 1;
    family {
        ipv4 unicast;
                bgp-ls bgp-ls;
    }
        api {
        processes [bgplsupdate_process];
        receive {
            update;
                        open;
            parsed;
        }
        }
}

Configuration cisco:

router bgp 1
 bgp log-neighbor-changes
 neighbor 192.168.56.1 remote-as 1
 !
 address-family ipv4
  neighbor 192.168.56.1 activate
 exit-address-family
 !
 address-family link-state link-state
  neighbor 192.168.56.1 activate
 exit-address-family

(Debug Including parsed Content) ONLY INCLUDING "ls-nlri-type": 3

/Users/timhofer/Documents/ProgrammingStuff/Python/venv_networkautomation/bin/python /Users/timhofer/Documents/ProgrammingStuff/Python/networkautomation/restAPI.py
 * Serving Flask app "restAPI" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
2018-07-10 17:03:36,598 INFO     _internal.py     _log                             ||  * Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
b'17:03:36 | 38924  | welcome         | Thank you for using ExaBGP\n'
b'17:03:36 | 38924  | version         | 4.0.6-daa3d6ba\n'
b'17:03:36 | 38924  | interpreter     | 3.6.3 (v3.6.3:2c5fed86e0, Oct  3 2017, 00:32:08)  [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]\n'
b'17:03:36 | 38924  | os              | Darwin Tims-MacBook-Pro-3.local 16.7.0 Darwin Kernel Version 16.7.0: Tue Jan 30 11:27:06 PST 2018; root:xnu-3789.73.11~1/RELEASE_X86_64 x86_64\n'
b'17:03:36 | 38924  | installation    | /Users/timhofer/Documents/ProgrammingStuff/Python/venv_networkautomation\n'
b'17:03:41 | 38924  | advice          | \n'
b'17:03:41 | 38924  | advice          | Your OS is very slow when returning the host FQDN\n'
b'17:03:41 | 38924  | advice          | Most likely you do not have valid forward/reverse DNS setup\n'
b'17:03:41 | 38924  | advice          | Adding your hostname to the /etc/hosts file should fix the issue\n'
b'17:03:41 | 38924  | advice          | \n'
b'17:03:41 | 38924  | configuration   | performing reload of exabgp 4.0.6-daa3d6ba\n'
b"17:03:41 | 38924  | configuration   | > process          | 'bgplsupdate_process'\n"
b"17:03:41 | 38924  | configuration   | . run              | '/Users/timhofer/Documents/ProgrammingStuff/Python/networkautomation/helperscripts/rcv_bgpls_updates'\n"
b"17:03:41 | 38924  | configuration   | . encoder          | 'json'\n"
b'17:03:41 | 38924  | configuration   | < process          | \n'
b"17:03:41 | 38924  | configuration   | > neighbor         | '192.168.56.3'\n"
b"17:03:41 | 38924  | configuration   | . local-address    | '192.168.56.1'\n"
b"17:03:41 | 38924  | configuration   | . local-as         | '1'\n"
b"17:03:41 | 38924  | configuration   | . peer-as          | '1'\n"
b'17:03:41 | 38924  | configuration   | > family           | \n'
b"17:03:41 | 38924  | configuration   | . ipv4             | 'unicast'\n"
b"17:03:41 | 38924  | configuration   | . bgp-ls           | 'bgp-ls'\n"
b'17:03:41 | 38924  | configuration   | < family           | \n'
b'17:03:41 | 38924  | configuration   | > api              | \n'
b"17:03:41 | 38924  | configuration   | . processes        | '[' 'bgplsupdate_process' ']'\n"
b'17:03:41 | 38924  | configuration   | > receive          | \n'
b'17:03:41 | 38924  | configuration   | . update           | \n'
b'17:03:41 | 38924  | configuration   | . open             | \n'
b'17:03:41 | 38924  | configuration   | . parsed           | \n'
b'17:03:41 | 38924  | configuration   | < receive          | \n'
b'17:03:41 | 38924  | configuration   | < api              | \n'
b'17:03:41 | 38924  | configuration   | < neighbor         | \n'
b'17:03:41 | 38924  | reactor         | new peer: neighbor 192.168.56.3 local-ip 192.168.56.1 local-as 1 peer-as 1 router-id 192.168.56.1 family-allowed in-open\n'
b'17:03:41 | 38924  | reactor         | loaded new configuration successfully\n'
b'17:03:41 | 38924  | process         | forked process bgplsupdate_process\n'
b'17:03:41 | 38924  | reactor         | initialising connection to peer-1\n'
b'17:03:41 | 38924  | outgoing-1      | attempting connection to 192.168.56.3:179\n'
b'17:03:42 | 38924  | outgoing-1      | sending TCP payload (  57) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0039 0104 0001 00B4 C0A8 3801 1C02 0601 0400 0100 0102 0601 0440 0400 4702 0641 0400 0000 0102 0206 00\n'
b'17:03:42 | 38924  | outgoing-1      | >> OPEN version=4 asn=1 hold_time=180 router_id=192.168.56.1 capabilities=[Multiprotocol(ipv4 unicast,bgp-ls bgp-ls), Extended Message(65535), ASN4(1)]\n'
b'17:03:42 | 38924  | ka-outgoing-1   | receive-timer 60 second(s) left\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0041 01\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload (  46) 0400 0100 B402 0202 0224 0206 0104 4004 0047 0206 0104 0001 0001 0202 8000 0202 0200 0202 4600 0206 4104 0000 0001\n'
b'17:03:42 | 38924  | outgoing-1      | << message of type OPEN\n'
b'17:03:42 | 38924  | outgoing-1      | << OPEN version=4 asn=1 hold_time=180 router_id=2.2.2.2 capabilities=[Multiprotocol(bgp-ls bgp-ls,ipv4 unicast), Route Refresh, ASN4(1), Enhanced Route Refresh, Route Refresh]\n'
b'17:03:42 | 38924  | outgoing-1      | sending TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04\n'
b'17:03:42 | 38924  | outgoing-1      | >> KEEPALIVE (OPENCONFIRM)\n'
2018-07-10 17:03:42

{
    "exabgp": "4.0.1",
    "time": 1531235022.013178,
    "host": "Tims-MacBook-Pro-3.local",
    "pid": 38924,
    "ppid": 38923,
    "counter": 1,
    "type": "open",
    "neighbor": {
        "address": {
            "local": "192.168.56.1",
            "peer": "192.168.56.3"
        },
        "asn": {
            "local": 1,
            "peer": 1
        },
        "direction": "receive",
        "open": {
            "version": 4,
            "asn": 1,
            "hold_time": 180,
            "router_id": "2.2.2.2",
            "capabilities": {
                "1": {
                    "name": "multiprotocol",
                    "families": [
                        "bgp-ls/bgp-ls",
                        "ipv4/unicast"
                    ]
                },
                "128": {
                    "name": "route-refresh",
                    "variant": "RFC"
                },
                "2": {
                    "name": "route-refresh",
                    "variant": "RFC"
                },
                "70": {
                    "name": "enhanced-route-refresh"
                },
                "65": {
                    "name": "asn4",
                    "asn4": 1
                }
            }
        }
    }
}b'17:03:42 | 38924  | outgoing-1      | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04\n'
b'17:03:42 | 38924  | outgoing-1      | << message of type KEEPALIVE\n'
b'17:03:42 | 38924  | ka-outgoing-1   | receive-timer 180 second(s) left\n'
b'17:03:42 | 38924  | reactor         | connected to peer-1 with outgoing-1 192.168.56.1-192.168.56.3\n'

b'17:03:42 | 38924  | outgoing-1      | sending TCP payload (  30) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 001E 0200 0000 0790 0F00 0340 0447\n'
b'17:03:42 | 38924  | outgoing-1      | >> EOR bgp-ls bgp-ls\n'
b'17:03:42 | 38924  | outgoing-1      | sending TCP payload (  23) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0017 0200 0000 00\n'
b'17:03:42 | 38924  | outgoing-1      | >> EOR ipv4 unicast\n'
b'17:03:42 | 38924  | peer-1          | >> EOR(s)\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04\n'
b'17:03:42 | 38924  | outgoing-1      | << message of type KEEPALIVE\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 007B 02\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload ( 104) 0000 0064 800E 3C40 0447 04C0 A838 0300 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 0418 0A0A 0A40 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 0D04 8300 0400 0000 0A04 9200 0100\n'
b'17:03:42 | 38924  | outgoing-1      | << message of type UPDATE\n'
b'17:03:42 | 38924  | parser          | parsing UPDATE ( 104) 0000 0064 800E 3C40 0447 04C0 A838 0300 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 0418 0A0A 0A40 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 0D04 8300 0400 0000 0A04 9200 0100\n'
b'17:03:42 | 38924  | parser          | withdrawn NLRI none\n'
b'17:03:42 | 38924  | parser          | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x3c payload 4004 4704 C0A8 3803 0000 0300 2F01 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0020 0200 2002 0109 0004 180A 0A0A\n'
b'17:03:42 | 38924  | parser          | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 0418 0A0A 0A\n'
b'17:03:42 | 38924  | parser          | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00\n'
b'17:03:42 | 38924  | parser          | attribute as-path            flag 0x40 type 0x02 len 0x00\n'
b'17:03:42 | 38924  | parser          | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000\n'
b'17:03:42 | 38924  | parser          | attribute local-preference   flag 0x40 type 0x05 len 0x04 payload 0000 0064\n'
b'17:03:42 | 38924  | parser          | attribute bgp-ls             flag 0x80 type 0x1d len 0x0d payload 0483 0004 0000 000A 0492 0001 00\n'
b'17:03:42 | 38924  | parser          | announced NLRI none\n'
b'17:03:42 | 38924  | peer-1          | << UPDATE #1\n'
b'17:03:42 | 38924  | peer-1          |    UPDATE #1 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "002002002002" }, "ip-reachability-tlv": "10.10.10.0", "nexthop": "192.168.56.3" }\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 007B 02\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload ( 104) 0000 0064 800E 3C40 0447 04C0 A838 0300 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 0418 0A0A 0C40 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 0D04 8300 0400 0000 0A04 9200 0100\n'
b'17:03:42 | 38924  | outgoing-1      | << message of type UPDATE\n'
2018-07-10 17:03:42

{
    "exabgp": "4.0.1",
    "time": 1531235022.024726,
    "host": "Tims-MacBook-Pro-3.local",
    "pid": 38924,
    "ppid": 38923,
    "counter": 2,
    "type": "update",
    "neighbor": {
        "address": {
            "local": "192.168.56.1",
            "peer": "192.168.56.3"
        },
        "asn": {
            "local": 1,
            "peer": 1
        },
        "direction": "receive",
        "message": {
            "update": {
                "attribute": {
                    "origin": "igp",
                    "med": 0,
                    "local-preference": 100,
                    "bgp-ls": {
                        "prefix-metric": 10,
                        "sr-prefix-attribute-flags": {
                            "X": 0,
                            "R": 0,
                            "N": 0,
                            "RSV": 0
                        }
                    }
                },
                "announce": {
                    "bgp-ls bgp-ls": {
                        "192.168.56.3": [
                            {
                                "ls-nlri-type": 3,
                                "l3-routing-topology": 0,
                                "protocol-id": 1,
                                "node-descriptors": {
                                    "autonomous-system": 1,
                                    "bgp-ls-identifier": "0",
                                    "router-id": "002002002002"
                                },
                                "ip-reachability-tlv": "10.10.10.0",
                                "nexthop": "192.168.56.3"
                            }
                        ]
                    }
                }
            }
        }
    }
}b'17:03:42 | 38924  | parser          | parsing UPDATE ( 104) 0000 0064 800E 3C40 0447 04C0 A838 0300 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 0418 0A0A 0C40 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 0D04 8300 0400 0000 0A04 9200 0100\n'
b'17:03:42 | 38924  | parser          | withdrawn NLRI none\n'
b'17:03:42 | 38924  | parser          | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x3c payload 4004 4704 C0A8 3803 0000 0300 2F01 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0020 0200 2002 0109 0004 180A 0A0C\n'

b'17:03:42 | 38924  | parser          | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 0418 0A0A 0C\n'
b'17:03:42 | 38924  | parser          | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00\n'
b'17:03:42 | 38924  | parser          | attribute as-path            flag 0x40 type 0x02 len 0x00\n'
b'17:03:42 | 38924  | parser          | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000\n'
b'17:03:42 | 38924  | parser          | attribute local-preference   flag 0x40 type 0x05 len 0x04 payload 0000 0064\n'
b'17:03:42 | 38924  | parser          | attribute bgp-ls             flag 0x80 type 0x1d len 0x0d payload 0483 0004 0000 000A 0492 0001 00\n'
b'17:03:42 | 38924  | parser          | announced NLRI none\n'
b'17:03:42 | 38924  | peer-1          | << UPDATE #2\n'
b'17:03:42 | 38924  | peer-1          |    UPDATE #2 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "002002002002" }, "ip-reachability-tlv": "10.10.12.0", "nexthop": "192.168.56.3" }\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 007B 02\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload ( 104) 0000 0064 800E 3C40 0447 04C0 A838 0300 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 3003 0030 0301 0900 0418 0A0A 0B40 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 0D04 8300 0400 0000 0A04 9200 0100\n'
b'17:03:42 | 38924  | outgoing-1      | << message of type UPDATE\n'
b'17:03:42 | 38924  | parser          | parsing UPDATE ( 104) 0000 0064 800E 3C40 0447 04C0 A838 0300 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 3003 0030 0301 0900 0418 0A0A 0B40 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 0D04 8300 0400 0000 0A04 9200 0100\n'
b'17:03:42 | 38924  | parser          | withdrawn NLRI none\n'
b'17:03:42 | 38924  | parser          | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x3c payload 4004 4704 C0A8 3803 0000 0300 2F01 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0030 0300 3003 0109 0004 180A 0A0B\n'
2018-07-10 17:03:42

{
    "exabgp": "4.0.1",
    "time": 1531235022.028682,
    "host": "Tims-MacBook-Pro-3.local",
    "pid": 38924,
    "ppid": 38923,
    "counter": 3,
    "type": "update",
    "neighbor": {
        "address": {
            "local": "192.168.56.1",
            "peer": "192.168.56.3"
        },
        "asn": {
            "local": 1,
            "peer": 1
        },
        "direction": "receive",
        "message": {
            "update": {
                "attribute": {
                    "origin": "igp",
                    "med": 0,
                    "local-preference": 100,
                    "bgp-ls": {
                        "prefix-metric": 10,
                        "sr-prefix-attribute-flags": {
                            "X": 0,
                            "R": 0,
                            "N": 0,
                            "RSV": 0
                        }
                    }
                },
                "announce": {
                    "bgp-ls bgp-ls": {
                        "192.168.56.3": [
                            {
                                "ls-nlri-type": 3,
                                "l3-routing-topology": 0,
                                "protocol-id": 1,
                                "node-descriptors": {
                                    "autonomous-system": 1,
                                    "bgp-ls-identifier": "0",
                                    "router-id": "002002002002"
                                },
                                "ip-reachability-tlv": "10.10.12.0",
                                "nexthop": "192.168.56.3"
                            }
                        ]
                    }
                }
            }
        }
    }
}
b'17:03:42 | 38924  | parser          | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 3003 0030 0301 0900 0418 0A0A 0B\n'
b'17:03:42 | 38924  | parser          | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00\n'
b'17:03:42 | 38924  | parser          | attribute as-path            flag 0x40 type 0x02 len 0x00\n'
b'17:03:42 | 38924  | parser          | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000\n'
b'17:03:42 | 38924  | parser          | attribute local-preference   flag 0x40 type 0x05 len 0x04 payload 0000 0064\n'
b'17:03:42 | 38924  | parser          | attribute bgp-ls             flag 0x80 type 0x1d len 0x0d payload 0483 0004 0000 000A 0492 0001 00\n'
b'17:03:42 | 38924  | parser          | announced NLRI none\n'
b'17:03:42 | 38924  | peer-1          | << UPDATE #3\n'
b'17:03:42 | 38924  | peer-1          |    UPDATE #3 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "003003003003" }, "ip-reachability-tlv": "10.10.11.0", "nexthop": "192.168.56.3" }\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 007B 02\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload ( 104) 0000 0064 800E 3C40 0447 04C0 A838 0300 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 3003 0030 0301 0900 0418 0A0A 0C40 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 0D04 8300 0400 0000 0A04 9200 0100\n'
b'17:03:42 | 38924  | outgoing-1      | << message of type UPDATE\n'
2018-07-10 17:03:42

{
    "exabgp": "4.0.1",
    "time": 1531235022.032873,
    "host": "Tims-MacBook-Pro-3.local",
    "pid": 38924,
    "ppid": 38923,
    "counter": 4,
    "type": "update",
    "neighbor": {
        "address": {
            "local": "192.168.56.1",
            "peer": "192.168.56.3"
        },
        "asn": {
            "local": 1,
            "peer": 1
        },
        "direction": "receive",
        "message": {
            "update": {
                "attribute": {
                    "origin": "igp",
                    "med": 0,
                    "local-preference": 100,
                    "bgp-ls": {
                        "prefix-metric": 10,
                        "sr-prefix-attribute-flags": {
                            "X": 0,
                            "R": 0,
                            "N": 0,
                            "RSV": 0
                        }
                    }
                },
                "announce": {
                    "bgp-ls bgp-ls": {
                        "192.168.56.3": [
                            {
                                "ls-nlri-type": 3,
                                "l3-routing-topology": 0,
                                "protocol-id": 1,
                                "node-descriptors": {
                                    "autonomous-system": 1,
                                    "bgp-ls-identifier": "0",
                                    "router-id": "003003003003"
                                },
                                "ip-reachability-tlv": "10.10.11.0",
                                "nexthop": "192.168.56.3"
                            }
                        ]
                    }
                }
            }
        }
    }
}
b'17:03:42 | 38924  | parser          | parsing UPDATE ( 104) 0000 0064 800E 3C40 0447 04C0 A838 0300 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 3003 0030 0301 0900 0418 0A0A 0C40 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 0D04 8300 0400 0000 0A04 9200 0100\n'
b'17:03:42 | 38924  | parser          | withdrawn NLRI none\n'
b'17:03:42 | 38924  | parser          | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x3c payload 4004 4704 C0A8 3803 0000 0300 2F01 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0030 0300 3003 0109 0004 180A 0A0C\n'
b'17:03:42 | 38924  | parser          | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 3003 0030 0301 0900 0418 0A0A 0C\n'
b'17:03:42 | 38924  | parser          | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00\n'
b'17:03:42 | 38924  | parser          | attribute as-path            flag 0x40 type 0x02 len 0x00\n'
b'17:03:42 | 38924  | parser          | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000\n'
b'17:03:42 | 38924  | parser          | attribute local-preference   flag 0x40 type 0x05 len 0x04 payload 0000 0064\n'
b'17:03:42 | 38924  | parser          | attribute bgp-ls             flag 0x80 type 0x1d len 0x0d payload 0483 0004 0000 000A 0492 0001 00\n'
b'17:03:42 | 38924  | parser          | announced NLRI none\n'
b'17:03:42 | 38924  | peer-1          | << UPDATE #4\n'
b'17:03:42 | 38924  | peer-1          |    UPDATE #4 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "003003003003" }, "ip-reachability-tlv": "10.10.12.0", "nexthop": "192.168.56.3" }\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 007B 02\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload ( 104) 0000 0064 800E 3C40 0447 04C0 A838 0300 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 0418 C0A8 0240 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 0D04 8300 0400 0000 0004 9200 0100\n'
b'17:03:42 | 38924  | outgoing-1      | << message of type UPDATE\n'
2018-07-10 17:03:42

{
    "exabgp": "4.0.1",
    "time": 1531235022.0378659,
    "host": "Tims-MacBook-Pro-3.local",
    "pid": 38924,
    "ppid": 38923,
    "counter": 5,
    "type": "update",
    "neighbor": {
        "address": {
            "local": "192.168.56.1",
            "peer": "192.168.56.3"
        },
        "asn": {
            "local": 1,
            "peer": 1
        },
        "direction": "receive",
        "message": {
            "update": {
                "attribute": {
                    "origin": "igp",
                    "med": 0,
                    "local-preference": 100,
                    "bgp-ls": {
                        "prefix-metric": 10,
                        "sr-prefix-attribute-flags": {
                            "X": 0,
                            "R": 0,
                            "N": 0,
                            "RSV": 0
                        }
                    }
                },
                "announce": {
                    "bgp-ls bgp-ls": {
                        "192.168.56.3": [
                            {
                                "ls-nlri-type": 3,
                                "l3-routing-topology": 0,
                                "protocol-id": 1,
                                "node-descriptors": {
                                    "autonomous-system": 1,
                                    "bgp-ls-identifier": "0",
                                    "router-id": "003003003003"
                                },
                                "ip-reachability-tlv": "10.10.12.0",
                                "nexthop": "192.168.56.3"
                            }
                        ]
                    }
                }
            }
        }
    }
}
b'17:03:42 | 38924  | parser          | parsing UPDATE ( 104) 0000 0064 800E 3C40 0447 04C0 A838 0300 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 0418 C0A8 0240 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 0D04 8300 0400 0000 0004 9200 0100\n'
b'17:03:42 | 38924  | parser          | withdrawn NLRI none\n'
b'17:03:42 | 38924  | parser          | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x3c payload 4004 4704 C0A8 3803 0000 0300 2F01 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0020 0200 2002 0109 0004 18C0 A802\n'
b'17:03:42 | 38924  | parser          | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 0418 C0A8 02\n'
b'17:03:42 | 38924  | parser          | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00\n'
b'17:03:42 | 38924  | parser          | attribute as-path            flag 0x40 type 0x02 len 0x00\n'
b'17:03:42 | 38924  | parser          | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000\n'
b'17:03:42 | 38924  | parser          | attribute local-preference   flag 0x40 type 0x05 len 0x04 payload 0000 0064\n'
b'17:03:42 | 38924  | parser          | attribute bgp-ls             flag 0x80 type 0x1d len 0x0d payload 0483 0004 0000 0000 0492 0001 00\n'
b'17:03:42 | 38924  | parser          | announced NLRI none\n'
b'17:03:42 | 38924  | peer-1          | << UPDATE #5\n'
b'17:03:42 | 38924  | peer-1          |    UPDATE #5 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "002002002002" }, "ip-reachability-tlv": "192.168.2.0", "nexthop": "192.168.56.3" }\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 007B 02\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload ( 104) 0000 0064 800E 3C40 0447 04C0 A838 0300 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 0418 C0A8 3840 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 0D04 8300 0400 0000 0004 9200 0100\n'
b'17:03:42 | 38924  | outgoing-1      | << message of type UPDATE\n'
b'17:03:42 | 38924  | parser          | parsing UPDATE ( 104) 0000 0064 800E 3C40 0447 04C0 A838 0300 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 0418 C0A8 3840 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 0D04 8300 0400 0000 0004 9200 0100\n'
2018-07-10 17:03:42
b'17:03:42 | 38924  | parser          | withdrawn NLRI none\n'

{
    "exabgp": "4.0.1",
    "time": 1531235022.042763,
    "host": "Tims-MacBook-Pro-3.local",
    "pid": 38924,
    "ppid": 38923,
    "counter": 6,
    "type": "update",
    "neighbor": {
        "address": {
            "local": "192.168.56.1",
            "peer": "192.168.56.3"
        },
        "asn": {
            "local": 1,
            "peer": 1
        },
        "direction": "receive",
        "message": {
            "update": {
                "attribute": {
                    "origin": "igp",
                    "med": 0,
                    "local-preference": 100,
                    "bgp-ls": {
                        "prefix-metric": 0,
                        "sr-prefix-attribute-flags": {
                            "X": 0,
                            "R": 0,
                            "N": 0,
                            "RSV": 0
                        }
                    }
                },
                "announce": {
                    "bgp-ls bgp-ls": {
                        "192.168.56.3": [
                            {
                                "ls-nlri-type": 3,
                                "l3-routing-topology": 0,
                                "protocol-id": 1,
                                "node-descriptors": {
                                    "autonomous-system": 1,
                                    "bgp-ls-identifier": "0",
                                    "router-id": "002002002002"
                                },
                                "ip-reachability-tlv": "192.168.2.0",
                                "nexthop": "192.168.56.3"
                            }
                        ]
                    }
                }
            }
        }
    }
}
b'17:03:42 | 38924  | parser          | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x3c payload 4004 4704 C0A8 3803 0000 0300 2F01 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0020 0200 2002 0109 0004 18C0 A838\n'
b'17:03:42 | 38924  | parser          | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 0418 C0A8 38\n'
b'17:03:42 | 38924  | parser          | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00\n'
b'17:03:42 | 38924  | parser          | attribute as-path            flag 0x40 type 0x02 len 0x00\n'
b'17:03:42 | 38924  | parser          | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000\n'
b'17:03:42 | 38924  | parser          | attribute local-preference   flag 0x40 type 0x05 len 0x04 payload 0000 0064\n'
b'17:03:42 | 38924  | parser          | attribute bgp-ls             flag 0x80 type 0x1d len 0x0d payload 0483 0004 0000 0000 0492 0001 00\n'
b'17:03:42 | 38924  | parser          | announced NLRI none\n'
b'17:03:42 | 38924  | peer-1          | << UPDATE #6\n'
b'17:03:42 | 38924  | peer-1          |    UPDATE #6 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "002002002002" }, "ip-reachability-tlv": "192.168.56.0", "nexthop": "192.168.56.3" }\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0100 02\n'
b'17:03:42 | 38924  | outgoing-1      | received TCP payload ( 237) 0000 00E9 800E 6840 0447 04C0 A838 0300 0002 005B 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0100 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 3003 0030 0301 0300 040A 0A0C 0101 0400 040A 0A0C 0201 0700 0200 0040 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 6604 0400 0402 0202 0204 0600 0403 0303 0304 4000 0400 0000 0004 4100 044C EE6B 2804 4200 0400 0000 0004 4300 2000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0004 4400 0400 0000 0A04 4700 0300 000A 044B 0007 3000 0000 0000 11\n'
b'17:03:42 | 38924  | outgoing-1      | << message of type UPDATE\n'
2018-07-10 17:03:42

{
    "exabgp": "4.0.1",
    "time": 1531235022.047915,
    "host": "Tims-MacBook-Pro-3.local",
    "pid": 38924,
    "ppid": 38923,
    "counter": 7,
    "type": "update",
    "neighbor": {
        "address": {
            "local": "192.168.56.1",
            "peer": "192.168.56.3"
        },
        "asn": {
            "local": 1,
            "peer": 1
        },
        "direction": "receive",
        "message": {
            "update": {
                "attribute": {
                    "origin": "igp",
                    "med": 0,
                    "local-preference": 100,
                    "bgp-ls": {
                        "prefix-metric": 0,
                        "sr-prefix-attribute-flags": {
                            "X": 0,
                            "R": 0,
                            "N": 0,
                            "RSV": 0
                        }
                    }
                },
                "announce": {
                    "bgp-ls bgp-ls": {
                        "192.168.56.3": [
                            {
                                "ls-nlri-type": 3,
                                "l3-routing-topology": 0,
                                "protocol-id": 1,
                                "node-descriptors": {
                                    "autonomous-system": 1,
                                    "bgp-ls-identifier": "0",
                                    "router-id": "002002002002"
                                },
                                "ip-reachability-tlv": "192.168.56.0",
                                "nexthop": "192.168.56.3"
                            }
                        ]
                    }
                }
            }
        }
    }
}
b'17:03:42 | 38924  | parser          | parsing UPDATE ( 237) 0000 00E9 800E 6840 0447 04C0 A838 0300 0002 005B 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0100 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 3003 0030 0301 0300 040A 0A0C 0101 0400 040A 0A0C 0201 0700 0200 0040 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 6604 0400 0402 0202 0204 0600 0403 0303 0304 4000 0400 0000 0004 4100 044C EE6B 2804 4200 0400 0000 0004 4300 2000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0004 4400 0400 0000 0A04 4700 0300 000A 044B 0007 3000 0000 0000 11\n'
b'17:03:42 | 38924  | parser          | withdrawn NLRI none\n'
b'17:03:42 | 38924  | parser          | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x68 payload 4004 4704 C0A8 3803 0000 0200 5B01 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0020 0200 2002 0101 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0030 0300 3003 0103 0004 0A0A 0C01 0104 0004 0A0A 0C02 0107 0002 0000\n'
b'17:03:42 | 38924  | parser          | NLRI      bgp-ls bgp-ls      without path-information     payload 0002 005B 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0100 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 3003 0030 0301 0300 040A 0A0C 0101 0400 040A 0A0C 0201 0700 0200 00\n'
timho93 commented 6 years ago

Hey again,

perhaps more informations would help:

My Router (IOS XE 16.8.1) is running with following configuration:

router isis
 net 49.0001.0010.0100.1001.00
 is-type level-1
 advertise link attributes
 metric-style wide
 distribute link-state
 passive-interface default
 no passive-interface GigabitEthernet2
 no passive-interface GigabitEthernet3
!
router bgp 1
 bgp log-neighbor-changes
 neighbor 192.168.56.1 remote-as 1
 !
 address-family link-state link-state
  neighbor 192.168.56.1 activate
 exit-address-family
!

ExaBGP is running with following configuration:

neighbor 192.168.56.101 {
    router-id 192.169.56.1;
    local-as 1;
    peer-as 1;
    family {
            bgp-ls bgp-ls;
    }
}

and with folloging environment:

[exabgp.api]
ack = true
chunk = 1
cli = true
compact = false
encoder = json
pipename = 'exabgp'
respawn = true
terminate = false

[exabgp.bgp]
openwait = 60

[exabgp.cache]
attributes = true
nexthops = true

[exabgp.daemon]
daemonize = false
drop = true
pid = ''
umask = '0o137'
user = 'nobody'

[exabgp.log]
all = false
configuration = true
daemon = true
destination = 'stdout'
enable = true
level = DEBUG
message = false
network = true
packets = falses
parser = false
processes = true
reactor = true
rib = false
routes = false
short = false
timers = true

[exabgp.pdb]
enable = false

[exabgp.profile]
enable = false
file = ''

[exabgp.reactor]
speed = 1.0

[exabgp.tcp]
acl = false
bind = ''
delay = 0
once = false
port = 179

Problem description: The Router is running. If i start exabgp the connection establishement is successfully. BUT i only receive UPDATE wit nrli-type 3. What i should receive is more (Output of "show bgp link-state link-state on Router):

sdnlab_r1#show bgp link-state link-state 
BGP table version is 10, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, 
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, 
              x best-external, a additional-path, c RIB-compressed, 
              t secondary path, L long-lived-stale,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Prefix codes:E link, V node, T4 IPv4 reachable route, T6 IPv6 reachable route, I Identifier,
              N local node, R remote node, L link, P prefix,
              L1/L2 ISIS level-1/level-2, O OSPF, a area-ID, l link-ID,
              t topology-ID, s ISO-ID, c confed-ID/ASN, b bgp-identifier,
              r router-ID, i if-address, n nbr-address, o OSPF Route-type,
              p IP-prefix, d designated router address, u/U Unknown,
              x/X Unexpected, m/M Malformed

     Network          Next Hop            Metric LocPrf Weight Path
 *>   [V][L1][I0x0][N[c1][b0.0.0.0][s0010.0100.1001.00]]
                      0.0.0.0                  0         32768 i
 *>   [V][L1][I0x0][N[c1][b0.0.0.0][s0020.0200.2002.00]]
                      0.0.0.0                  0         32768 i
 *>   [E][L1][I0x0][N[c1][b0.0.0.0][s0010.0100.1001.00]][R[c1][b0.0.0.0][s0020.0200.2002.00]][L[i10.0.0.1][n10.0.0.2][t0x0000]]
     Network          Next Hop            Metric LocPrf Weight Path
                      0.0.0.0                  0         32768 i
 *>   [E][L1][I0x0][N[c1][b0.0.0.0][s0020.0200.2002.00]][R[c1][b0.0.0.0][s0010.0100.1001.00]][L[i10.0.0.2][n10.0.0.1][t0x0000]]
                      0.0.0.0                  0         32768 i
 *>   [T4][L1][I0x0][N[c1][b0.0.0.0][s0010.0100.1001.00]][P[p192.168.56.0/24]]
                      0.0.0.0                  0         32768 i
 *>   [T4][L1][I0x0][N[c1][b0.0.0.0][s0010.0100.1001.00]][P[p10.0.0.0/30]]
                      0.0.0.0                  0         32768 i
 *>   [T4][L1][I0x0][N[c1][b0.0.0.0][s0010.0100.1001.00]][P[p1.1.1.1/32]]
                      0.0.0.0                  0         32768 i
 *>   [T4][L1][I0x0][N[c1][b0.0.0.0][s0020.0200.2002.00]][P[p10.0.0.0/30]]
                      0.0.0.0                  0         32768 i
 *>   [T4][L1][I0x0][N[c1][b0.0.0.0][s0020.0200.2002.00]][P[p2.2.2.2/32]]
                      0.0.0.0                  0         32768 i

To rule out the case that the router does not send everything here is a a recording of the communication (All UPDATES are included):

bildschirmfoto 2018-07-26 um 11 46 31

BGP Logging of Router:

*Jul 26 09:25:45.874: %BGP_SESSION-5-ADJCHANGE: neighbor 192.168.56.1 IPv4 Unicast topology base removed from session  Capability changed
*Jul 26 09:25:45.876: %BGP-5-ADJCHANGE: neighbor 192.168.56.1 Up 
*Jul 26 09:28:45.907: %BGP-3-NOTIFICATION: sent to neighbor 192.168.56.1 4/0 (hold time expired) 0 bytes 
*Jul 26 09:28:45.908: %BGP-5-NBR_RESET: Neighbor 192.168.56.1 reset (BGP Notification sent)
*Jul 26 09:28:45.908: %BGP-5-ADJCHANGE: neighbor 192.168.56.1 Down BGP Notification sent
*Jul 26 09:28:45.908: %BGP_SESSION-5-ADJCHANGE: neighbor 192.168.56.1 link-state link-state topology

The DEBUG Information of exabgp show that only the nlri-type 3 UPDATES were received:

nethinks@sdnlab1-nbg1:~/Dokumente/venv_exabgp$ exabgp  exabgp_configuration.ini 
11:14:19 | 22653  | welcome       | Thank you for using ExaBGP
11:14:19 | 22653  | version       | 4.0.8-793a2931
11:14:19 | 22653  | interpreter   | 3.6.5 (default, Apr  1 2018, 05:46:30)  [GCC 7.3.0]
11:14:19 | 22653  | os            | Linux sdnlab1-nbg1 4.15.0-29-generic #31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018 x86_64
11:14:19 | 22653  | installation  | /home/nethinks/Dokumente/venv_exabgp
11:14:19 | 22653  | cli           | could not find the named pipes (exabgp.in and exabgp.out) required for the cli
11:14:19 | 22653  | cli           | we scanned the following folders (the number is your PID):
11:14:19 | 22653  | cli control   |  - /run/exabgp/
11:14:19 | 22653  | cli control   |  - /run/1000/
11:14:19 | 22653  | cli control   |  - /run/
11:14:19 | 22653  | cli control   |  - /var/run/exabgp/
11:14:19 | 22653  | cli control   |  - /var/run/1000/
11:14:19 | 22653  | cli control   |  - /var/run/
11:14:19 | 22653  | cli control   |  - /home/nethinks/Dokumente/venv_exabgp/run/exabgp/
11:14:19 | 22653  | cli control   |  - /home/nethinks/Dokumente/venv_exabgp/run/1000/
11:14:19 | 22653  | cli control   |  - /home/nethinks/Dokumente/venv_exabgp/run/
11:14:19 | 22653  | cli control   |  - /home/nethinks/Dokumente/venv_exabgp/var/run/exabgp/
11:14:19 | 22653  | cli control   |  - /home/nethinks/Dokumente/venv_exabgp/var/run/1000/
11:14:19 | 22653  | cli control   |  - /home/nethinks/Dokumente/venv_exabgp/var/run/
11:14:19 | 22653  | cli control   | please make them in one of the folder with the following commands:
11:14:19 | 22653  | cli control   | > mkfifo /home/nethinks/Dokumente/venv_exabgp/run/exabgp.{in,out}
11:14:19 | 22653  | cli control   | > chmod 600 /home/nethinks/Dokumente/venv_exabgp/run/exabgp.{in,out}
11:14:19 | 22653  | cli control   | > chown 1000:1000 /home/nethinks/Dokumente/venv_exabgp/run/exabgp.{in,out}
11:14:19 | 22653  | configuration | performing reload of exabgp 4.0.8-793a2931
11:14:19 | 22653  | configuration | > neighbor         | '192.168.56.101'
11:14:19 | 22653  | configuration | . router-id        | '192.169.56.1'
11:14:19 | 22653  | configuration | . local-as         | '1'
11:14:19 | 22653  | configuration | . peer-as          | '1'
11:14:19 | 22653  | configuration | > family           | 
11:14:19 | 22653  | configuration | . bgp-ls           | 'bgp-ls'
11:14:19 | 22653  | configuration | < family           | 
11:14:19 | 22653  | configuration | < neighbor         | 
11:14:19 | 22653  | reactor       | new peer: neighbor 192.168.56.101 local-ip None local-as 1 peer-as 1 router-id 192.169.56.1 family-allowed in-open
11:14:19 | 22653  | reactor       | loaded new configuration successfully
11:14:19 | 22653  | reactor       | initialising connection to peer-1
11:14:19 | 22653  | ka-outgoing-1 | receive-timer 60 second(s) left
11:14:19 | 22653  | ka-outgoing-1 | receive-timer 180 second(s) left
11:14:19 | 22653  | reactor       | connected to peer-1 with outgoing-1 192.168.56.1-192.168.56.101
11:14:19 | 22653  | peer-1        | >> EOR(s)
11:14:19 | 22653  | peer-1        | << UPDATE #1
11:14:19 | 22653  | peer-1        |    UPDATE #1 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "001001001001" }, "ip-reachability-tlv": "10.0.0.0", "ip-reach-prefix": "10.0.0.0/30", "nexthop": "192.168.56.101" }
11:14:19 | 22653  | peer-1        | << UPDATE #2
11:14:19 | 22653  | peer-1        |    UPDATE #2 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "002002002002" }, "ip-reachability-tlv": "10.0.0.0", "ip-reach-prefix": "10.0.0.0/30", "nexthop": "192.168.56.101" }
11:14:19 | 22653  | peer-1        | << UPDATE #3
11:14:19 | 22653  | peer-1        |    UPDATE #3 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "001001001001" }, "ip-reachability-tlv": "1.1.1.1", "ip-reach-prefix": "1.1.1.1/32", "nexthop": "192.168.56.101" }
11:14:19 | 22653  | peer-1        | << UPDATE #4
11:14:19 | 22653  | peer-1        |    UPDATE #4 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "002002002002" }, "ip-reachability-tlv": "2.2.2.2", "ip-reach-prefix": "2.2.2.2/32", "nexthop": "192.168.56.101" }
11:14:19 | 22653  | peer-1        | << UPDATE #5
11:14:19 | 22653  | peer-1        |    UPDATE #5 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "001001001001" }, "ip-reachability-tlv": "192.168.56.0", "ip-reach-prefix": "192.168.56.0/24", "nexthop": "192.168.56.101" }
^C11:14:25 | 22653  | reactor       | ^C received
11:14:25 | 22653  | reactor       | performing shutdown

Any idea whats wrong ?

thomas-mangin commented 6 years ago

Hello @timho93,

Thank you for providing the information requested, unfortunately you are providing me inconsistent information, for example:

Trying to be helpful ....

The ExaBGP logs allows me to say ...

There was a difference of IP between the PCAP and what ExaBGP logs received. Therefore while it looks like type 1/2/3 were sent on the connection from the PCAP, I do not have the matching ExaBGP logs to see what happened.

If you can provide me a log of ExaBGP with -d and the associated PCAP for the SAME conversation showing indeed that some UPDATE are sent but not parsed by ExaBGP, I will investigate this part more.

Regarding

*Jul 10 12:51:08.132: %BGP-3-NOTIFICATION: sent to neighbor 192.168.56.1 4/0 (hold time expired) 0 bytes

As you are doing your own flask magic, I have no idea what could be happening under the hood. I can not think of a reason for ExaBGP to not send KEEPALIVE. Perhaps a locking due to a pipe filling up like not ACKing the message received : https://github.com/Exa-Networks/exabgp/wiki/Migration-from-3.4-to-4.0

Good luck !

Thomas

thomas-mangin commented 6 years ago

For clarity, I have not written the bgp-ls code and have not logged into a production router for years, so I have no idea what the behaviour of bgp-ls should be.

timho93 commented 6 years ago

Sorry my bad,

currently i am working with another topology (it expanded with time): sdnlab_topology The sdnlab_r1 is communicating to ExaBGP. In context of my last comment only r1 and r2 where active. So the the output of "show bgp link-state link-state" is the correspondending topology informations provided through ISIS.

Now further ...

I expand the configuration as follows:

process bgplsupdate_process {
    run python3.6 rcv_bgpls_updates.py;
    encoder json;
}

neighbor 192.168.56.101 {
    router-id 192.169.56.1;
    local-as 1;
    peer-as 1;
    family {
        bgp-ls bgp-ls;
    }
    api {
        processes [bgplsupdate_process];
        receive {
            parsed;
            update;
        }
    }
}

In my environment i defined:

[exabgp.api]
ack = false

I activated no some more links in my topology and it seems, that the parser stops at some point. Following debug output:

(venv_exabgp) nethinks@sdnlab1-nbg1:~/Dokumente/venv_exabgp$ exabgp config.ini 
21:05:37 | 15199  | welcome       | Thank you for using ExaBGP
21:05:37 | 15199  | version       | 4.0.8-793a2931
21:05:37 | 15199  | interpreter   | 3.6.5 (default, Apr  1 2018, 05:46:30)  [GCC 7.3.0]
21:05:37 | 15199  | os            | Linux sdnlab1-nbg1 4.15.0-29-generic #31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018 x86_64
21:05:37 | 15199  | installation  | /home/nethinks/Dokumente/venv_exabgp
21:05:37 | 15199  | cli           | could not find the named pipes (exabgp.in and exabgp.out) required for the cli
21:05:37 | 15199  | cli           | we scanned the following folders (the number is your PID):
21:05:37 | 15199  | cli control   |  - /run/exabgp/
21:05:37 | 15199  | cli control   |  - /run/1000/
21:05:37 | 15199  | cli control   |  - /run/
21:05:37 | 15199  | cli control   |  - /var/run/exabgp/
21:05:37 | 15199  | cli control   |  - /var/run/1000/
21:05:37 | 15199  | cli control   |  - /var/run/
21:05:37 | 15199  | cli control   |  - /home/nethinks/Dokumente/venv_exabgp/run/exabgp/
21:05:37 | 15199  | cli control   |  - /home/nethinks/Dokumente/venv_exabgp/run/1000/
21:05:37 | 15199  | cli control   |  - /home/nethinks/Dokumente/venv_exabgp/run/
21:05:37 | 15199  | cli control   |  - /home/nethinks/Dokumente/venv_exabgp/var/run/exabgp/
21:05:37 | 15199  | cli control   |  - /home/nethinks/Dokumente/venv_exabgp/var/run/1000/
21:05:37 | 15199  | cli control   |  - /home/nethinks/Dokumente/venv_exabgp/var/run/
21:05:37 | 15199  | cli control   | please make them in one of the folder with the following commands:
21:05:37 | 15199  | cli control   | > mkfifo /home/nethinks/Dokumente/venv_exabgp/run/exabgp.{in,out}
21:05:37 | 15199  | cli control   | > chmod 600 /home/nethinks/Dokumente/venv_exabgp/run/exabgp.{in,out}
21:05:37 | 15199  | cli control   | > chown 1000:1000 /home/nethinks/Dokumente/venv_exabgp/run/exabgp.{in,out}
21:05:37 | 15199  | configuration | performing reload of exabgp 4.0.8-793a2931
21:05:37 | 15199  | configuration | > process          | 'bgplsupdate_process'
21:05:37 | 15199  | configuration | . run              | 'python' '/home/nethinks/Dokumente/venv_exabgp/rcv_bgpls_updates.py'
21:05:37 | 15199  | configuration | . encoder          | 'json'
21:05:37 | 15199  | configuration | < process          | 
21:05:37 | 15199  | configuration | > neighbor         | '192.168.56.101'
21:05:37 | 15199  | configuration | . router-id        | '192.169.56.1'
21:05:37 | 15199  | configuration | . local-as         | '1'
21:05:37 | 15199  | configuration | . peer-as          | '1'
21:05:37 | 15199  | configuration | > family           | 
21:05:37 | 15199  | configuration | . bgp-ls           | 'bgp-ls'
21:05:37 | 15199  | configuration | < family           | 
21:05:37 | 15199  | configuration | > api              | 
21:05:37 | 15199  | configuration | . processes        | '[' 'bgplsupdate_process' ']'
21:05:37 | 15199  | configuration | > receive          | 
21:05:37 | 15199  | configuration | . parsed           | 
21:05:37 | 15199  | configuration | . update           | 
21:05:37 | 15199  | configuration | < receive          | 
21:05:37 | 15199  | configuration | < api              | 
21:05:37 | 15199  | configuration | < neighbor         | 
21:05:37 | 15199  | reactor       | new peer: neighbor 192.168.56.101 local-ip None local-as 1 peer-as 1 router-id 192.169.56.1 family-allowed in-open
21:05:37 | 15199  | reactor       | loaded new configuration successfully
21:05:37 | 15199  | process       | forked process bgplsupdate_process
21:05:37 | 15199  | reactor       | initialising connection to peer-1
21:05:37 | 15199  | outgoing-1    | attempting connection to 192.168.56.101:179
21:05:37 | 15199  | outgoing-1    | sending TCP payload (  49) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0031 0104 0001 00B4 C0A9 3801 1402 0601 0440 0400 4702 0641 0400 0000 0102 0206 00
21:05:37 | 15199  | outgoing-1    | >> OPEN version=4 asn=1 hold_time=180 router_id=192.169.56.1 capabilities=[Multiprotocol(bgp-ls bgp-ls), Extended Message(65535), ASN4(1)]
21:05:37 | 15199  | ka-outgoing-1 | receive-timer 60 second(s) left
21:05:37 | 15199  | outgoing-1    | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0039 01
21:05:37 | 15199  | outgoing-1    | received TCP payload (  38) 0400 0100 B401 0101 011C 0206 0104 4004 0047 0202 8000 0202 0200 0202 4600 0206 4104 0000 0001
21:05:37 | 15199  | outgoing-1    | << message of type OPEN
21:05:37 | 15199  | outgoing-1    | << OPEN version=4 asn=1 hold_time=180 router_id=1.1.1.1 capabilities=[Multiprotocol(bgp-ls bgp-ls), Route Refresh, ASN4(1), Enhanced Route Refresh, Route Refresh]
21:05:37 | 15199  | outgoing-1    | sending TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
21:05:37 | 15199  | outgoing-1    | >> KEEPALIVE (OPENCONFIRM)
21:05:37 | 15199  | outgoing-1    | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
21:05:37 | 15199  | outgoing-1    | << message of type KEEPALIVE
21:05:37 | 15199  | ka-outgoing-1 | receive-timer 180 second(s) left
21:05:37 | 15199  | reactor       | connected to peer-1 with outgoing-1 192.168.56.1-192.168.56.101
21:05:37 | 15199  | outgoing-1    | sending TCP payload (  30) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 001E 0200 0000 0790 0F00 0340 0447
21:05:37 | 15199  | outgoing-1    | >> EOR bgp-ls bgp-ls
21:05:37 | 15199  | peer-1        | >> EOR(s)
21:05:37 | 15199  | outgoing-1    | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0013 04
21:05:37 | 15199  | outgoing-1    | << message of type KEEPALIVE
21:05:37 | 15199  | outgoing-1    | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 007C 02
21:05:37 | 15199  | outgoing-1    | received TCP payload ( 105) 0000 0065 800E 3D40 0447 04C0 A838 6500 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 1001 0010 0101 0900 051E 0A00 0000 4001 0100 4002 0080 0404 0000 0000 4005 0400 0000 6480 1D0D 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | outgoing-1    | << message of type UPDATE
21:05:37 | 15199  | parser        | parsing UPDATE ( 105) 0000 0065 800E 3D40 0447 04C0 A838 6500 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 1001 0010 0101 0900 051E 0A00 0000 4001 0100 4002 0080 0404 0000 0000 4005 0400 0000 6480 1D0D 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | parser        | withdrawn NLRI none
21:05:37 | 15199  | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x3d payload 4004 4704 C0A8 3865 0000 0300 3001 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0010 0100 1001 0109 0005 1E0A 0000 00
21:05:37 | 15199  | parser        | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 1001 0010 0101 0900 051E 0A00 0000
21:05:37 | 15199  | parser        | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00
21:05:37 | 15199  | parser        | attribute as-path            flag 0x40 type 0x02 len 0x00
21:05:37 | 15199  | parser        | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000
21:05:37 | 15199  | parser        | attribute local-preference   flag 0x40 type 0x05 len 0x04 payload 0000 0064
21:05:37 | 15199  | parser        | attribute bgp-ls             flag 0x80 type 0x1d len 0x0d payload 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | parser        | announced NLRI none
21:05:37 | 15199  | peer-1        | << UPDATE #1
21:05:37 | 15199  | peer-1        |    UPDATE #1 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "001001001001" }, "ip-reachability-tlv": "10.0.0.0", "ip-reach-prefix": "10.0.0.0/30", "nexthop": "192.168.56.101" }
21:05:37 | 15199  | outgoing-1    | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 007C 02
21:05:37 | 15199  | outgoing-1    | received TCP payload ( 105) 0000 0065 800E 3D40 0447 04C0 A838 6500 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 1001 0010 0101 0900 051E 0A00 0004 4001 0100 4002 0080 0404 0000 0000 4005 0400 0000 6480 1D0D 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | outgoing-1    | << message of type UPDATE
21:05:37 | 15199  | parser        | parsing UPDATE ( 105) 0000 0065 800E 3D40 0447 04C0 A838 6500 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 1001 0010 0101 0900 051E 0A00 0004 4001 0100 4002 0080 0404 0000 0000 4005 0400 0000 6480 1D0D 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | parser        | withdrawn NLRI none
21:05:37 | 15199  | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x3d payload 4004 4704 C0A8 3865 0000 0300 3001 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0010 0100 1001 0109 0005 1E0A 0000 04
21:05:37 | 15199  | parser        | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 1001 0010 0101 0900 051E 0A00 0004
21:05:37 | 15199  | parser        | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00
21:05:37 | 15199  | parser        | attribute as-path            flag 0x40 type 0x02 len 0x00
21:05:37 | 15199  | parser        | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000
21:05:37 | 15199  | parser        | attribute local-preference   flag 0x40 type 0x05 len 0x04 payload 0000 0064
21:05:37 | 15199  | parser        | attribute bgp-ls             flag 0x80 type 0x1d len 0x0d payload 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | parser        | announced NLRI none
21:05:37 | 15199  | peer-1        | << UPDATE #2
21:05:37 | 15199  | peer-1        |    UPDATE #2 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "001001001001" }, "ip-reachability-tlv": "10.0.0.4", "ip-reach-prefix": "10.0.0.4/30", "nexthop": "192.168.56.101" }
21:05:37 | 15199  | outgoing-1    | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 007C 02
21:05:37 | 15199  | outgoing-1    | received TCP payload ( 105) 0000 0065 800E 3D40 0447 04C0 A838 6500 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 051E 0A00 0000 4001 0100 4002 0080 0404 0000 0000 4005 0400 0000 6480 1D0D 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | outgoing-1    | << message of type UPDATE
21:05:37 | 15199  | parser        | parsing UPDATE ( 105) 0000 0065 800E 3D40 0447 04C0 A838 6500 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 051E 0A00 0000 4001 0100 4002 0080 0404 0000 0000 4005 0400 0000 6480 1D0D 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | parser        | withdrawn NLRI none
21:05:37 | 15199  | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x3d payload 4004 4704 C0A8 3865 0000 0300 3001 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0020 0200 2002 0109 0005 1E0A 0000 00
21:05:37 | 15199  | parser        | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 051E 0A00 0000
21:05:37 | 15199  | parser        | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00
21:05:37 | 15199  | parser        | attribute as-path            flag 0x40 type 0x02 len 0x00
21:05:37 | 15199  | parser        | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000
21:05:37 | 15199  | parser        | attribute local-preference   flag 0x40 type 0x05 len 0x04 payload 0000 0064
21:05:37 | 15199  | parser        | attribute bgp-ls             flag 0x80 type 0x1d len 0x0d payload 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | parser        | announced NLRI none
21:05:37 | 15199  | peer-1        | << UPDATE #3
21:05:37 | 15199  | peer-1        |    UPDATE #3 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "002002002002" }, "ip-reachability-tlv": "10.0.0.0", "ip-reach-prefix": "10.0.0.0/30", "nexthop": "192.168.56.101" }
21:05:37 | 15199  | outgoing-1    | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 007C 02
21:05:37 | 15199  | outgoing-1    | received TCP payload ( 105) 0000 0065 800E 3D40 0447 04C0 A838 6500 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 051E 0A00 0008 4001 0100 4002 0080 0404 0000 0000 4005 0400 0000 6480 1D0D 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | outgoing-1    | << message of type UPDATE
21:05:37 | 15199  | parser        | parsing UPDATE ( 105) 0000 0065 800E 3D40 0447 04C0 A838 6500 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 051E 0A00 0008 4001 0100 4002 0080 0404 0000 0000 4005 0400 0000 6480 1D0D 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | parser        | withdrawn NLRI none
21:05:37 | 15199  | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x3d payload 4004 4704 C0A8 3865 0000 0300 3001 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0020 0200 2002 0109 0005 1E0A 0000 08
21:05:37 | 15199  | parser        | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 051E 0A00 0008
21:05:37 | 15199  | parser        | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00
21:05:37 | 15199  | parser        | attribute as-path            flag 0x40 type 0x02 len 0x00
21:05:37 | 15199  | parser        | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000
21:05:37 | 15199  | parser        | attribute local-preference   flag 0x40 type 0x05 len 0x04 payload 0000 0064
21:05:37 | 15199  | parser        | attribute bgp-ls             flag 0x80 type 0x1d len 0x0d payload 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | parser        | announced NLRI none
21:05:37 | 15199  | peer-1        | << UPDATE #4
21:05:37 | 15199  | peer-1        |    UPDATE #4 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "002002002002" }, "ip-reachability-tlv": "10.0.0.8", "ip-reach-prefix": "10.0.0.8/30", "nexthop": "192.168.56.101" }
21:05:37 | 15199  | outgoing-1    | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 007C 02
21:05:37 | 15199  | outgoing-1    | received TCP payload ( 105) 0000 0065 800E 3D40 0447 04C0 A838 6500 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 051E 0A00 000C 4001 0100 4002 0080 0404 0000 0000 4005 0400 0000 6480 1D0D 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | outgoing-1    | << message of type UPDATE
21:05:37 | 15199  | parser        | parsing UPDATE ( 105) 0000 0065 800E 3D40 0447 04C0 A838 6500 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 051E 0A00 000C 4001 0100 4002 0080 0404 0000 0000 4005 0400 0000 6480 1D0D 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | parser        | withdrawn NLRI none
21:05:37 | 15199  | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x3d payload 4004 4704 C0A8 3865 0000 0300 3001 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0020 0200 2002 0109 0005 1E0A 0000 0C
21:05:37 | 15199  | parser        | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 051E 0A00 000C
21:05:37 | 15199  | parser        | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00
21:05:37 | 15199  | parser        | attribute as-path            flag 0x40 type 0x02 len 0x00
21:05:37 | 15199  | parser        | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000
21:05:37 | 15199  | parser        | attribute local-preference   flag 0x40 type 0x05 len 0x04 payload 0000 0064
21:05:37 | 15199  | parser        | attribute bgp-ls             flag 0x80 type 0x1d len 0x0d payload 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | parser        | announced NLRI none
21:05:37 | 15199  | peer-1        | << UPDATE #5
21:05:37 | 15199  | peer-1        |    UPDATE #5 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "002002002002" }, "ip-reachability-tlv": "10.0.0.12", "ip-reach-prefix": "10.0.0.12/30", "nexthop": "192.168.56.101" }
21:05:37 | 15199  | outgoing-1    | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 007C 02
21:05:37 | 15199  | outgoing-1    | received TCP payload ( 105) 0000 0065 800E 3D40 0447 04C0 A838 6500 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 051E 0A00 0010 4001 0100 4002 0080 0404 0000 0000 4005 0400 0000 6480 1D0D 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | outgoing-1    | << message of type UPDATE
21:05:37 | 15199  | parser        | parsing UPDATE ( 105) 0000 0065 800E 3D40 0447 04C0 A838 6500 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 051E 0A00 0010 4001 0100 4002 0080 0404 0000 0000 4005 0400 0000 6480 1D0D 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | parser        | withdrawn NLRI none
21:05:37 | 15199  | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x3d payload 4004 4704 C0A8 3865 0000 0300 3001 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0020 0200 2002 0109 0005 1E0A 0000 10
21:05:37 | 15199  | parser        | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 051E 0A00 0010
21:05:37 | 15199  | parser        | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00
21:05:37 | 15199  | parser        | attribute as-path            flag 0x40 type 0x02 len 0x00
21:05:37 | 15199  | parser        | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000
21:05:37 | 15199  | parser        | attribute local-preference   flag 0x40 type 0x05 len 0x04 payload 0000 0064
21:05:37 | 15199  | parser        | attribute bgp-ls             flag 0x80 type 0x1d len 0x0d payload 0483 0004 0000 000A 0492 0001 00
21:05:37 | 15199  | parser        | announced NLRI none
21:05:37 | 15199  | peer-1        | << UPDATE #6
21:05:37 | 15199  | peer-1        |    UPDATE #6 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "002002002002" }, "ip-reachability-tlv": "10.0.0.16", "ip-reach-prefix": "10.0.0.16/30", "nexthop": "192.168.56.101" }
21:05:37 | 15199  | outgoing-1    | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 007C 02
21:05:37 | 15199  | outgoing-1    | received TCP payload ( 105) 0000 0065 800E 3D40 0447 04C0 A838 6500 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 1001 0010 0101 0900 0520 0101 0101 4001 0100 4002 0080 0404 0000 0000 4005 0400 0000 6480 1D0D 0483 0004 0000 0000 0492 0001 20
21:05:37 | 15199  | outgoing-1    | << message of type UPDATE
21:05:37 | 15199  | parser        | parsing UPDATE ( 105) 0000 0065 800E 3D40 0447 04C0 A838 6500 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 1001 0010 0101 0900 0520 0101 0101 4001 0100 4002 0080 0404 0000 0000 4005 0400 0000 6480 1D0D 0483 0004 0000 0000 0492 0001 20
21:05:37 | 15199  | parser        | withdrawn NLRI none
21:05:37 | 15199  | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x3d payload 4004 4704 C0A8 3865 0000 0300 3001 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0010 0100 1001 0109 0005 2001 0101 01
21:05:37 | 15199  | parser        | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 1001 0010 0101 0900 0520 0101 0101
21:05:37 | 15199  | parser        | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00
21:05:37 | 15199  | parser        | attribute as-path            flag 0x40 type 0x02 len 0x00
21:05:37 | 15199  | parser        | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000
21:05:37 | 15199  | parser        | attribute local-preference   flag 0x40 type 0x05 len 0x04 payload 0000 0064
21:05:37 | 15199  | parser        | attribute bgp-ls             flag 0x80 type 0x1d len 0x0d payload 0483 0004 0000 0000 0492 0001 20
21:05:37 | 15199  | parser        | announced NLRI none
21:05:37 | 15199  | peer-1        | << UPDATE #7
21:05:37 | 15199  | peer-1        |    UPDATE #7 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "001001001001" }, "ip-reachability-tlv": "1.1.1.1", "ip-reach-prefix": "1.1.1.1/32", "nexthop": "192.168.56.101" }
21:05:37 | 15199  | outgoing-1    | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 007C 02
21:05:37 | 15199  | outgoing-1    | received TCP payload ( 105) 0000 0065 800E 3D40 0447 04C0 A838 6500 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 0520 0202 0202 4001 0100 4002 0080 0404 0000 0000 4005 0400 0000 6480 1D0D 0483 0004 0000 0000 0492 0001 20
21:05:37 | 15199  | outgoing-1    | << message of type UPDATE
21:05:37 | 15199  | parser        | parsing UPDATE ( 105) 0000 0065 800E 3D40 0447 04C0 A838 6500 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 0520 0202 0202 4001 0100 4002 0080 0404 0000 0000 4005 0400 0000 6480 1D0D 0483 0004 0000 0000 0492 0001 20
21:05:37 | 15199  | parser        | withdrawn NLRI none
21:05:37 | 15199  | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x3d payload 4004 4704 C0A8 3865 0000 0300 3001 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0020 0200 2002 0109 0005 2002 0202 02
21:05:37 | 15199  | parser        | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 0030 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0900 0520 0202 0202
21:05:37 | 15199  | parser        | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00
21:05:37 | 15199  | parser        | attribute as-path            flag 0x40 type 0x02 len 0x00
21:05:37 | 15199  | parser        | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000
21:05:37 | 15199  | parser        | attribute local-preference   flag 0x40 type 0x05 len 0x04 payload 0000 0064
21:05:37 | 15199  | parser        | attribute bgp-ls             flag 0x80 type 0x1d len 0x0d payload 0483 0004 0000 0000 0492 0001 20
21:05:37 | 15199  | parser        | announced NLRI none
21:05:37 | 15199  | peer-1        | << UPDATE #8
21:05:37 | 15199  | peer-1        |    UPDATE #8 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "002002002002" }, "ip-reachability-tlv": "2.2.2.2", "ip-reach-prefix": "2.2.2.2/32", "nexthop": "192.168.56.101" }
21:05:37 | 15199  | outgoing-1    | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 007B 02
21:05:37 | 15199  | outgoing-1    | received TCP payload ( 104) 0000 0064 800E 3C40 0447 04C0 A838 6500 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 1001 0010 0101 0900 0418 C0A8 3840 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 0D04 8300 0400 0000 0004 9200 0100
21:05:37 | 15199  | outgoing-1    | << message of type UPDATE
21:05:37 | 15199  | parser        | parsing UPDATE ( 104) 0000 0064 800E 3C40 0447 04C0 A838 6500 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 1001 0010 0101 0900 0418 C0A8 3840 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 0D04 8300 0400 0000 0004 9200 0100
21:05:37 | 15199  | parser        | withdrawn NLRI none
21:05:37 | 15199  | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x3c payload 4004 4704 C0A8 3865 0000 0300 2F01 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0010 0100 1001 0109 0004 18C0 A838
21:05:37 | 15199  | parser        | NLRI      bgp-ls bgp-ls      without path-information     payload 0003 002F 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 1001 0010 0101 0900 0418 C0A8 38
21:05:37 | 15199  | parser        | attribute origin             flag 0x40 type 0x01 len 0x01 payload 00
21:05:37 | 15199  | parser        | attribute as-path            flag 0x40 type 0x02 len 0x00
21:05:37 | 15199  | parser        | attribute med                flag 0x80 type 0x04 len 0x04 payload 0000 0000
21:05:37 | 15199  | parser        | attribute local-preference   flag 0x40 type 0x05 len 0x04 payload 0000 0064
21:05:37 | 15199  | parser        | attribute bgp-ls             flag 0x80 type 0x1d len 0x0d payload 0483 0004 0000 0000 0492 0001 00
21:05:37 | 15199  | parser        | announced NLRI none
21:05:37 | 15199  | peer-1        | << UPDATE #9
21:05:37 | 15199  | peer-1        |    UPDATE #9 nlri  (   2) { "ls-nlri-type": 3, "l3-routing-topology": 0, "protocol-id": 1, "node-descriptors": { "autonomous-system": 1, "bgp-ls-identifier": "0", "router-id": "001001001001" }, "ip-reachability-tlv": "192.168.56.0", "ip-reach-prefix": "192.168.56.0/24", "nexthop": "192.168.56.101" }
21:05:37 | 15199  | outgoing-1    | received TCP payload (  19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 00A1 02
21:05:37 | 15199  | outgoing-1    | received TCP payload ( 142) 0000 008A 800E 6840 0447 04C0 A838 6500 0002 005B 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 1001 0010 0101 0100 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0300 040A 0000 0101 0400 040A 0000 0201 0700 0200 0040 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 0704 4700 0300 000A
21:05:37 | 15199  | outgoing-1    | << message of type UPDATE
21:05:37 | 15199  | parser        | parsing UPDATE ( 142) 0000 008A 800E 6840 0447 04C0 A838 6500 0002 005B 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 1001 0010 0101 0100 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0300 040A 0000 0101 0400 040A 0000 0201 0700 0200 0040 0101 0040 0200 8004 0400 0000 0040 0504 0000 0064 801D 0704 4700 0300 000A
21:05:37 | 15199  | parser        | withdrawn NLRI none
21:05:37 | 15199  | parser        | attribute mp-reach-nlri      flag 0x80 type 0x0e len 0x68 payload 4004 4704 C0A8 3865 0000 0200 5B01 0000 0000 0000 0000 0100 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0010 0100 1001 0101 001A 0200 0004 0000 0001 0201 0004 0000 0000 0203 0006 0020 0200 2002 0103 0004 0A00 0001 0104 0004 0A00 0002 0107 0002 0000
21:05:37 | 15199  | parser        | NLRI      bgp-ls bgp-ls      without path-information     payload 0002 005B 0100 0000 0000 0000 0001 0000 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 1001 0010 0101 0100 1A02 0000 0400 0000 0102 0100 0400 0000 0002 0300 0600 2002 0020 0201 0300 040A 0000 0101 0400 040A 0000 0201 0700 0200 00

^C21:05:43 | 15199  | reactor       | ^C received
21:05:43 | 15199  | reactor       | performing shutdown
21:05:44 | 15199  | process       | terminating process bgplsupdate_process
21:05:44 | 15199  | outgoing-1    | outgoing-1 192.168.56.1-192.168.56.101, closing connection
21:05:44 | 15199  | outgoing-1    | connection to 192.168.56.101 closed
(venv_exabgp) nethinks@sdnlab1-nbg1:~/Dokumente/venv_exabgp$ packet_write_wait: Connection to 172.17.2.119 port 22: Broken pipe

As you can see at the end the parser stops at some point.

timho93 commented 6 years ago

The content of my script rcv_bgpls_updates.py:

import pika
import sys

connection = pika.BlockingConnection(pika.ConnectionParameters('127.0.0.1'))
channel = connection.channel()
channel.queue_declare(queue='updates')

while True:
    line = sys.stdin.readline()
    if line != "":
        channel.basic_publish(exchange='',
                                  routing_key='updates',
                                  body=line)
ruissalo commented 6 years ago

Hi @timho93

Thanks for providing the detailed info.

From the logs I can't see anything indicating some sort of parsing issue. Probably @thomas-mangin can spot something in the logs?

I don't think I've tested the implementation against Cisco XE. May I suggest the following: Try deploying another image running something like Cisco XR or Junos 17/16, if possible one of the versions listed in the wiki as known to work. Keep the same topology you have now, just add the new router and have ExaBGP peer with the new device. See if you still have the same issue. Make sure you make the new device part of your IGP as well and redistribute from there, don't use BGP to get the LS information from another XE router.

If you're seeing this problem in production as well with physical or virtual routers, you do the same if you can... peer with a Junos or XR device that is part of the IGP.

If that is not helpful I'll try to reproduce myself with the version you're using but it may take some time.

cheers, Evelio

timho93 commented 6 years ago

Hey,

thank you for yout help. I wanted to avoid the integration of another image. But i will try it. On the other hand it would be very interesting to know why it does not run like expected with IOS XE 16.8.1. My pcap always show full information was sent by ios xe. But exabgp every time only parsing one type of nlris. Do not know if this is helpful but:

thank you

thomas-mangin commented 6 years ago

@timho93 can we close the issue or is there something you need ?

timho93 commented 6 years ago

Sorry,

yes sure. I did not get the expected bahavior with exabgp and cisco ios xe 16.8.1 no matter what i tried. So i integrated a Juniper vMX into my cisco topology. Now it is working like charm.

Thank you for your help.