summaryrefslogtreecommitdiffstats
path: root/bgpd (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #5528 from opensourcerouting/bmp-dns-fixingDonald Sharp2019-12-112-25/+77
|\ | | | | BMP: improve active outbound connection details
| * bgpd/bmp: print active outbound connectionsDavid Lamparter2019-12-111-2/+49
| | | | | | | | | | | | | | ... including timer & details about current state and last failure. Fixes: #5401 Signed-off-by: David Lamparter <equinox@diac24.net>
| * lib,nhrpd,bgpd/bmp: pass resolver failure detailsDavid Lamparter2019-12-112-5/+11
| | | | | | | | | | | | | | | | To keep the calling code agnostic of the DNS resolver libary used, pass a strerror-style string instead of a status code that would need extra handling. Signed-off-by: David Lamparter <equinox@diac24.net>
| * bgpd/bmp: actually print uptimeDavid Lamparter2019-12-111-2/+6
| | | | | | | | | | | | Forgot to replace the stub here when finishing up... Signed-off-by: David Lamparter <equinox@diac24.net>
| * lib/resolver: support/bypass IP literalsDavid Lamparter2019-12-111-18/+13
| | | | | | | | | | | | | | | | libc-ares doesn't do IP literals, so we have to do that before running off to do DNS. Since this isn't BMP specific, move to lib/ so NHRP can benefit too. Signed-off-by: David Lamparter <equinox@diac24.net>
* | bgpd: Allow failed hostname lookup to continue in bmp (#5399)David Lamparter2019-12-111-11/+19
|\| | | | | bgpd: Allow failed hostname lookup to continue in bmp
| * bgpd: Allow failed hostname lookup to continue in bmpDonald Sharp2019-12-041-11/+19
| | | | | | | | | | | | | | | | Add a bit of code to allow hostname lookup failure to not stall bmp communication. Fixes: #5382 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | Fix bgp transit double free (#5436)David Lamparter2019-12-102-66/+78
|\ \ | | | | | | Fix bgp transit double free
| * | bgpd: more attribute parsing cleanup & paranoiaQuentin Young2019-12-061-13/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Move VNC interning to the appropriate spot * Use existing bgp_attr_flush_encap to free encap sets * Assert that refcounts are correct before exiting to keep the demons contained in their fiery prison Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
| * | bgpd: clean up attribute parsing state before retQuentin Young2019-11-261-50/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | Early exits without appropriate cleanup were causing obscure double frees and other issues later on in the attribute parsing code. If we return anything except a hard attribute parse error, we have cleanup and refcounts to manage. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
| * | bgpd: ensure transit ptr is nulled on freeQuentin Young2019-11-262-10/+8
| | | | | | | | | | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* | | Merge pull request #5429 from Spantik/bug_fixDonatas Abraitis2019-12-101-0/+8
|\ \ \ | | | | | | | | BGP: BGP assert when it tries to access peer which is closed.
| * | | bgpd: BGP assert when it tries to access peer which is closed.Santosh P K2019-12-091-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: BGP peer pointer is present in keepalive hash table even when socket has been closed in some race condition. When keepalive tries to access this peer it asserts. RCA: Below sequence of events causing assert. 1. Config node peer has went down due to TCP reset it's FD has been set to -1. 2. Doppelganger peer goes to established state and it has been added to peer hash table for keepalive when it was in openconfirm state. 3. Config node parameters including FD are exchanged with doppelganger. Doppelganger will not have FD -1. 4. Doppelganger will be deleted as part of this it will remove it from the keepalive peer hash table. 5. While removing from hash table it tries to acquire lock. 6. During this time keepalive thread has the lock and in a loop trying to send keepalive for peers in hash table. 7. It tries to send keepalive for doppelganger peer with fd set to -1 and asserts. Signed-off-by: Santosh P K <sapk@vmware.com>
* | | | Merge pull request #4765 from opensourcerouting/defaults-v2Donald Sharp2019-12-067-1090/+1155
|\ \ \ \ | | | | | | | | | | lib/*: new config defaults system, v2
| * | | | bgpd: use new defaults system (v2)David Lamparter2019-12-065-48/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves all the DFLT_BGP_* stuff over to the new defaults mechanism. bgp_timers_nondefault() added to get better file-scoping. v2: moved everything into bgp_vty.c so that the core BGP code is independent of the CLI-specific defaults. This should make the future northbound conversion easier. Signed-off-by: David Lamparter <equinox@diac24.net>
| * | | | bgpd: move config-write to bgp_vty.cDavid Lamparter2019-12-064-1046/+1049
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no good reason to have this in bgpd.c; it's just there historically. Move it to bgp_vty.c where it makes more sense. Signed-off-by: David Lamparter <equinox@diac24.net>
| * | | | lib: rename memory_vty.c to lib_vty.cDavid Lamparter2019-12-062-2/+1
| | |_|/ | |/| | | | | | | | | | | | | | | | | | And memory_init() to lib_cmd_init(). Signed-off-by: David Lamparter <equinox@diac24.net>
* | | | Merge pull request #5332 from mjstapp/remove_zapi_label_flagDonald Sharp2019-12-061-7/+4
|\ \ \ \ | | | | | | | | | | *: revise zapi nexthop encoding
| * | | | *: revise zapi nexthop encodingMark Stapp2019-12-061-7/+4
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a per-nexthop flag to indicate the presence of labels; add some utility zapi encode/decode apis for nexthops; use the zapi apis more consistently. Signed-off-by: Mark Stapp <mjs@voltanet.io>
* / / / bgpd: remove bgp_attr_dupQuentin Young2019-12-0510-34/+29
|/ / / | | | | | | | | | | | | | | | yeah Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* | | Merge pull request #5305 from ↵Donald Sharp2019-12-046-7/+133
|\ \ \ | | | | | | | | | | | | | | | | ton31337/feature/draft-ietf-idr-deprecate-as-set-confed-set bgpd: Reject incoming and outgoing UPDATES for AS_SET and AS_CONFED_SET
| * | | bgpd: Reject routes having AS_SET or AS_CONFED_SETDonatas Abraitis2019-11-146-7/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the first step towards eliminating AS_SET and AS_CONFED_SET types and obsolete them in the future. More information: https://datatracker.ietf.org/doc/html/draft-ietf-idr-deprecate-as-set-confed-set-02 Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
* | | | bgpd: Autocomplete neighbor for clear bgp (#5434)David Lamparter2019-12-031-2/+2
|\ \ \ \ | | | | | | | | | | bgpd: Autocomplete neighbor for clear bgp
| * | | | bgpd: Autocomplete neighbor for clear bgpDonatas Abraitis2019-11-271-2/+2
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
* | | | | Merge pull request #5432 from chiragshah6/evpn_dev2Sri Mohana Singamsetty2019-12-031-19/+41
|\ \ \ \ \ | | | | | | | | | | | | bgpd: Handle possible non-selection of local route
| * | | | | bgpd: Handle possible non-selection of local routeChirag Shah2019-11-261-19/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In rare situations, the local route in a VNI may not get selected as the best route. One situation is during a race between bgp and zebra which was addressed in a prior commit. This change addresses another situation where due to a change of tunnel IP, it is possible that a received route may be selected as the best route if the path selection needs to take next hop IPs into consideration. This is a pretty convoluted scenario, but the code should handle it and delete and withdraw the local route as well as (re)install the received route. Ticket: CM-24114 Reviewed By: CCR-9487 Testing Done: 1. Manual tests - note, problem is not readily reproducible 2. evpn-smoke - results documented in the ticket Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
* | | | | | Merge pull request #5450 from donaldsharp/rpki_node_issuesSri Mohana Singamsetty2019-12-031-2/+9
|\ \ \ \ \ \ | | | | | | | | | | | | | | bgpd: Prevent crash in bgp_table_range_lookup
| * | | | | | bgpd: Prevent crash in bgp_table_range_lookupDonald Sharp2019-12-021-2/+9
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function bgp_table_range_lookup attempts to walk down the table node data structures to find a list of matching nodes. We need to guard against the current node from not matching and not having anything in the child nodes. Add a bit of code to guard against this. Traceback that lead me down this path: Nov 24 12:22:38 frr bgpd[20257]: Received signal 11 at 1574616158 (si_addr 0x2, PC 0x46cdc3); aborting... Nov 24 12:22:38 frr bgpd[20257]: Backtrace for 11 stack frames: Nov 24 12:22:38 frr bgpd[20257]: /lib64/libfrr.so.0(zlog_backtrace_sigsafe+0x67) [0x7fd1ad445957] Nov 24 12:22:38 frr bgpd[20257]: /lib64/libfrr.so.0(zlog_signal+0x113) [0x7fd1ad445db3]1ad445957] Nov 24 12:22:38 frr bgpd[20257]: /lib64/libfrr.so.0(+0x70e65) [0x7fd1ad465e65]ad445db3]1ad445957] Nov 24 12:22:38 frr bgpd[20257]: /lib64/libpthread.so.0(+0xf5f0) [0x7fd1abd605f0]45db3]1ad445957] Nov 24 12:22:38 frr bgpd[20257]: /usr/lib/frr/bgpd(bgp_table_range_lookup+0x63) [0x46cdc3]445957] Nov 24 12:22:38 frr bgpd[20257]: /usr/lib64/frr/modules/bgpd_rpki.so(+0x4f0d) [0x7fd1a934ff0d]57] Nov 24 12:22:38 frr bgpd[20257]: /lib64/libfrr.so.0(thread_call+0x60) [0x7fd1ad4736e0]934ff0d]57] Nov 24 12:22:38 frr bgpd[20257]: /lib64/libfrr.so.0(frr_run+0x128) [0x7fd1ad443ab8]e0]934ff0d]57] Nov 24 12:22:38 frr bgpd[20257]: /usr/lib/frr/bgpd(main+0x2e3) [0x41c043]1ad443ab8]e0]934ff0d]57] Nov 24 12:22:38 frr bgpd[20257]: /lib64/libc.so.6(__libc_start_main+0xf5) [0x7fd1ab9a5505]f0d]57] Nov 24 12:22:38 frr bgpd[20257]: /usr/lib/frr/bgpd() [0x41d9bb]main+0xf5) [0x7fd1ab9a5505]f0d]57] Nov 24 12:22:38 frr bgpd[20257]: in thread bgpd_sync_callback scheduled from bgpd/bgp_rpki.c:351#012; aborting... Nov 24 12:22:38 frr watchfrr[6779]: [EC 268435457] bgpd state -> down : read returned EOF Nov 24 12:22:38 frr zebra[5952]: [EC 4043309116] Client 'bgp' encountered an error and is shutting down. Nov 24 12:22:38 frr zebra[5952]: zebra/zebra_ptm.c:1345 failed to find process pid registration Nov 24 12:22:38 frr zebra[5952]: client 15 disconnected. 0 bgp routes removed from the rib I am not really 100% sure what we are really trying to do with this function, but we must guard against child nodes not having any data. Fixes: #5440 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | | | | | Merge pull request #5389 from opensourcerouting/constifyDonald Sharp2019-12-0215-173/+318
|\ \ \ \ \ \ | |/ / / / / |/| | | | | *: constify ALL the things
| * | | | | *: generously apply constDavid Lamparter2019-12-0212-21/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | const const const your boat, merrily down the stream... Signed-off-by: David Lamparter <equinox@diac24.net>
| * | | | | *: make frr_yang_module_info constDavid Lamparter2019-11-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Lamparter <equinox@diac24.net>
| * | | | | *: make all route_map_rule_cmd constDavid Lamparter2019-11-302-151/+295
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Lamparter <equinox@diac24.net>
* | | | | | bgpd: Fix memory leak in json output of show commandsDonald Sharp2019-12-011-1/+2
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When dumping a large bit of table data via bgp_show_table and if there is no information to display for a particular `struct bgp_node *` the data allocated via json_object_new_array() is leaked. Not a big deal on small tables but if you have a full bgp feed and issue a show command that does not match any of the route nodes ( say `vtysh -c "show bgp ipv4 large-community-list FOO"`) then we will leak memory. Before code change and issuing the above show bgp large-community-list command 15-20 times: Memory statistics for bgpd: System allocator statistics: Total heap allocated: > 2GB Holding block headers: 0 bytes Used small blocks: 0 bytes Used ordinary blocks: > 2GB Free small blocks: 31 MiB Free ordinary blocks: 616 KiB Ordinary blocks: 0 Small blocks: 0 Holding blocks: 0 After: Memory statistics for bgpd: System allocator statistics: Total heap allocated: 924 MiB Holding block headers: 0 bytes Used small blocks: 0 bytes Used ordinary blocks: 558 MiB Free small blocks: 26 MiB Free ordinary blocks: 340 MiB Ordinary blocks: 0 Small blocks: 0 Holding blocks: 0 Please note the 340mb of free ordinary blocks is from the fact I issued a `show bgp ipv4 uni json` command and generated a large amount of data. Fixes: #5445 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | | | | Merge pull request #5409 from qlyoung/bgpd-lcom-ecom-parse-fixesDavid Lamparter2019-11-273-138/+120
|\ \ \ \ \ | | | | | | | | | | | | bgp large & extended community parse fixes
| * | | | | bgpd: fix heap buffer overflow in lcom -> str encQuentin Young2019-11-221-19/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Spaces were not being accounted for in the heap buffer sizing, leading to a heap buffer overflow when encoding large communities to their string representations. This patch also uses safer functions to do the encoding instead of pointer math. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
| * | | | | bgpd: use safe functions to work with ecom attrsQuentin Young2019-11-222-118/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tons of insane just-so pointer math here where it is not needed. This is too smart. Use safer methods. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
| * | | | | bgpd: remove extra ecom attr ptr incrementQuentin Young2019-11-221-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Copy paste leads to invalid read of 1 byte off the heap when converting extended community attributes into strings. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* | | | | | Merge pull request #5437 from ton31337/fix/replace_magic_number_to_readableRuss White2019-11-275-15/+19
|\ \ \ \ \ \ | | | | | | | | | | | | | | bgpd: Replace magic number 1 for TTL to BGP_DEFAULT_TTL
| * | | | | | bgpd: Replace magic number 1 for TTL to BGP_DEFAULT_TTLDonatas Abraitis2019-11-275-15/+19
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | For readability and maintainability purposes. Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
* | | | | | Merge pull request #5356 from v00lk/masterDonatas Abraitis2019-11-271-1/+1
|\ \ \ \ \ \ | |/ / / / / |/| | | | | bgpd: IPv4 LU withdraw using 0x000000 label
| * | | | | bgpd: IPv4 LU withdraw using 0x000000 labelv00lk2019-11-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to RFC 8277 IPv4 LU NLRI can be withdrawn using label 0x000000. This RFC updates RFC3101 where it should be done only with 0x800000 label value. Juniper implementation sets value 0x000000 when prefix is being withdrawn. Page 12 RFC8277 states: [RFC3107] also made it possible to withdraw a binding without specifying the label explicitly, by setting the Compatibility field to 0x800000. However, some implementations set it to 0x000000. In order to ensure backwards compatibility, it is RECOMMENDED by this document that the Compatibility field be set to 0x800000, but it is REQUIRED that it be ignored upon reception. Now FRR drops BGP session when receives such BGP update. Signed-off-by: Aleksandr Klimenko <v00lk@bk.ru>
* | | | | | Merge pull request #5419 from adharkar/frr-master-nh_connectedDonatas Abraitis2019-11-271-2/+4
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | bgpd: Do not perform "connected" check for EVPN nexthop
| * | | | | bgpd: Do not perform "connected" check for EVPN nexthopAmeya Dharkar2019-11-231-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changeset follows the PR https://github.com/FRRouting/frr/pull/5334 Above PR adds nexthop tracking support for EVPN RT-5 nexthops. This route is marked VALID only if the BGP route has a valid nexthop. If the EVPN peer is an EBGP pee and "disable_connected_check" flag is not set, "connected" check is performed for the EVPN nexthop. But, usually EVPN nexthop is not the BGP peering address, but the VTEP address. Also, NEXTHOP_UNCHANGED flag is enabled by default for EVPN. As a result, in a common deployment for EVPN, EVPN nexthop is not connected. Thus, adding a fix to remove the "connected" check for EVPN nexthops. Signed-off-by: Ameya Dharkar <adharkar@vmware.com>
* | | | | | Merge pull request #4977 from chiragshah6/evpn_dev1Philippe Guibert2019-11-266-20/+416
|\ \ \ \ \ \ | | | | | | | | | | | | | | * evpn primary address advertisement
| * | | | | | bgpd: adv pip to throw warning under default vrfChirag Shah2019-11-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of CMD_WARNING, use CMD_WARNING_CONFIG_FAILED for any mis-configuration scenario. Testing Done: TOR(config)# router bgp 5548 TOR(config-router)# address-family l2vpn evpn TOR(config-router-af)# no advertise-pip This command is supported under L3VNI BGP EVPN VRF Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
| * | | | | | bgpd: adv pip update type-5 with correct rmacChirag Shah2019-11-221-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when a pip is disabled or mac-vlan is not present use anycast MAC as RMAC value. Ticket:CM-26923 Reviewed By:CCR-9417 Testing Done: Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
| * | | | | | bgpd: fix self type-2 routes rmac and nexhtopChirag Shah2019-11-221-22/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For self type-2 routes, do not assign system-rmac as attribute RMAC value if advertise-pip is disable or macvlan is not present. Ticket:CM-26923 Reviewed By:CCR-9397 Testing Done: pip is disabled under bgp vrf2 instance. Trigger frr-restart. Before fix: *> [2]:[0]:[48]:[00:02:00:00:00:2e]:[32]:[45.0.4.4] 36.0.0.11 32768 i ET:8 RT:5546:1004 RT:5546:4002 Rmac:00:02:00:00:00:2e After fix: *> [2]:[0]:[48]:[00:02:00:00:00:2e]:[32]:[45.0.4.4] 36.0.0.11 32768 i ET:8 RT:5546:1004 RT:5546:4002 Rmac:44:38:39:ff:ff:01 TOR# ifquery vlan1004 auto vlan1004 iface vlan1004 address 45.0.4.4/24 vlan-id 1004 vrf vrf2 VNI: 4002 (known to the kernel) Type: L3 Tenant VRF: vrf2 RD: 45.0.6.4:3 Originator IP: 36.0.0.11 Advertise-pip: Yes System-IP: 27.0.0.11 System-MAC: 00:02:00:00:00:2e Router-MAC: 44:38:39:ff:ff:01 Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
| * | | | | | bgpd: evpn pip convert ntoa to ntopChirag Shah2019-11-222-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
| * | | | | | bgpd: evpn pip display pip valuesChirag Shah2019-11-221-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Display pip system mac and ip values in per vni detail output. Ticket:CM-26190 Reviewed By: Testing Done: Following new values add to the below output for L3vni: System-IP: 27.0.0.11 System-MAC: 00:02:00:00:00:2e Router-MAC: 44:38:39:ff:ff:01 TORC11# show bgp l2vpn evpn vni 4002 VNI: 4002 (known to the kernel) Type: L3 Tenant VRF: vrf2 RD: 141.2.1.2:2 Originator IP: 36.0.0.11 Advertise-gw-macip : n/a Advertise-pip: Yes System-IP: 27.0.0.11 System-MAC: 00:02:00:00:00:2e Router-MAC: 44:38:39:ff:ff:01 Import Route Target: 5546:4002 Export Route Target: 5546:4002 Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
| * | | | | | bgpd: evpn pip handle svi ip routeChirag Shah2019-11-224-4/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default announct Self Type-2 routes with system IP as nexthop and system MAC as nexthop. An API to check type-2 is self route via checking ipv4/ipv6 address from connected interfaces list. An API to extract RMAC and nexthop for type-2 routes based on advertise-svi-ip knob is enabled. When advertise-pip is enabled/disabled, trigger type-2 route update. For self type-2 routes to use anycast or individual (rmac, nexthop) addresses. Ticket:CM-26190 Reviewed By: Testing Done: Enable 'advertise-svi-ip' knob in bgp default instance. the vrf instance svi ip is advertised with nexthop as default instance router-id and RMAC as system MAC. Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>