Commit Graph

22620 Commits

Author SHA1 Message Date
Pat Ruddy
b300ed94b1 tests: sample snmp test to check infra
Simple test which creates a router running snmp and bgpd and
checks we can read the correct bgpVersion using snmp.

Signed-off-by: Pat Ruddy <pat@voltanet.io>
2021-01-12 19:59:56 +00:00
Mark Stapp
0a9720bda9 doc: fix sphinx warnings
Fix a couple of sphinx source processing warnings.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-01-12 13:31:07 -05:00
Mark Stapp
23f520ee2f doc: add missing files to index.rst and subdir.am
Some missing doc files, add them.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-01-12 13:30:14 -05:00
Mark Stapp
41cb383f3a doc: remind not to include 'no' in cli doc index statements
Remind folks not to include the 'no' in cli doc index lines.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-01-12 13:29:08 -05:00
Olivier Dugeon
4683138cda
Merge pull request #7707 from opensourcerouting/isisd-rlfa
isisd, ldpd: add Remote LFA support
2021-01-12 19:25:15 +01:00
Donald Sharp
484eabb1d7
Merge pull request #7439 from opensourcerouting/bgp-damp-profile2
bgpd: BGP route-flap dampening profiles for peers and peer groups
2021-01-12 11:45:41 -05:00
Mark Stapp
86fdb66ddd doc: remove 'no' from doc 'index' lines
Index based on the cli commands, not the possible 'no' form.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-01-12 11:34:42 -05:00
Russ White
f3c5ce84e2
Merge pull request #7247 from ton31337/feature/enhanced_route_refresh_capability
bgpd: Enhanced Route Refresh capability
2021-01-12 11:27:11 -05:00
Quentin Young
4813fe0a20
Merge pull request #7860 from mjstapp/fix_exec_perms
libs,nhrpd: remove exec perm
2021-01-12 11:26:39 -05:00
Russ White
50e091e4ad
Merge pull request #7733 from rgirada/ospf_json
ospfd: Adding authentication details to ospf interafce command o/p
2021-01-12 11:23:03 -05:00
vdhingra
ef4b6b2230 staticd: Backend cofiguration code to fix table-id problem
problem: table-id gets overwritten for a given route.

RCA: table-id was getting overwritten from the NB layer,
     So route was getting installed with the latest table-id.

Fix: make the table-id as the key in the NB layer.
     This will program the route in zebra correctly.

- Removed the table-id modify callbacks.
- Moved the validate and apply table-id changes to path-list creation

issue #7347

Signed-off-by: vishaldhingra <vdhingra@vmware.com>
2021-01-12 07:55:16 -08:00
Donald Sharp
6ffc0b6d3d
Merge pull request #7841 from volta-networks/fix_isis_mstyle_routes
isisd: ignore routes with incompatible metric style
2021-01-12 08:51:07 -05:00
Donald Sharp
7874422ad2
Merge pull request #7850 from mjstapp/build_dplane_plugin
zebra: build the sample dataplane plugin
2021-01-12 08:43:53 -05:00
Mark Stapp
fca58b0e4e libs,nhrpd: remove exec perm
Some source files got the exec bit set in a recent commit - undo
that.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-01-12 08:20:10 -05:00
Russ White
bc560f64d9
Merge pull request #7687 from gpnaveen/ospf_p2mp
tests: Adding ospf p2mp basic test.
2021-01-12 08:03:33 -05:00
Donald Sharp
8e699447d1 eigrpd: Cleanup eigrp_packet.h to our proper formatting
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-12 07:59:04 -05:00
Donnie Savage
e9f1847e25 eigrpd: Introduce eigrp_metric.[ch] and eigrp_types.h
Add these file and introduce some new fundamental types

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Signed-off-by: Donnie Savage <diivious@hotmail.com>
2021-01-12 07:45:48 -05:00
Donnie Savage
dc4accdd53 eigrpd: Rename nexthop_entry and prefix_entry to better names
Rename struct eigrp_nexthop_entry to struct eigrp_route_descriptor
Rename struct eigrp_prefix_entry to struct eigrp_prefix_descriptor

Fix all the associated function names as well.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Signed-off-by: Donnie SAvage <diivious@hotmail.com>
2021-01-12 07:45:48 -05:00
Donnie Savage
fb532db3f0 eigrpd: Create eigrp_yang.h and move stuff around
Move the prototypes for eigrp_yang that are in eigrpd.h
into eigrp_yang.h.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Signed-off-by: Donnie Savage <diivious@hotmail.com>
2021-01-12 07:43:32 -05:00
Donnie Savage
b66c8fbba5 eigrpd: Create eigrp_cli.h and move forward declarations
Move the forward declarations for eigrp_cli.c from eigrpd.h
into eigrp_cli.h.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Signed-off-by: Donnie Savage <diivious@hotmail.com>
2021-01-12 07:43:32 -05:00
Donnie Savage
f9db3455cc eigrpd: Move struct eigrp_master to eigrpd.h
The `struct eigrp_master` data structure belongs in the
eigrpd.h file.  Move it over, in addition start forward
thinking about the different TLV versions so we can
track them better in the future.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Signed-off-by: Donnie Savage <diivious@hotmail.com>
2021-01-12 07:43:32 -05:00
Russ White
7fbdb03103
Merge pull request #7670 from ton31337/fix/bgpd_nexhop_handling_for_zebra
bgpd: Handle IPv6 prefixes with IPv4 nexthops for zebra
2021-01-12 07:32:19 -05:00
nguggarigoud
26bbe9af5e tests: Static route cases with admin dist and tag.
1. Adding api to verify ip nht command.
2. 5 cases of static routes with admin dist and tag
3. Run time = 89Secs

Signed-off-by: nguggarigoud <nguggarigoud@vmware.com>
2021-01-12 17:13:26 +05:30
Mobashshera Rasool
87627de6c0 ospfd: deleting ospf process is leading to crash at no_router_ospf
Topology diagram:
    -------------------------
          +---+  A0       +---+
          +R1 +------------+R2 |
          +-+-+-           +--++
            |  --        --  |
            |    -- A0 --    |
          A0|      ----      |
            |      ----      | A0
            |    --    --    |
            |  --        --  |
          +-+-+-            +-+-+
          +R0 +-------------+R3 |
          +---+     A0     +---+

    Steps to reproduce:
    --------------------------
    1. Bring up the base config as per the topology
    2. Configure OSPF on all the routers of the topology.
    3. Configure 5 static routes from the same network on R0 , 5 static routes from different networks and redistribute in R0
    4. Configure External Route summary in R0 to summarise 5 routes to one route.
    5. Delete the configured summary
    6. configure the summary again and delete static routes .
    7. Add back static routes.
    8. Configure new static route which is matching the configured summary.
    9. Delete one of the static route.
    10. Configure redistribute connected and configure ospf external summary address to summarise the connected routes.
    11. Clear ospf process and check for any errors.

    [New LWP 2346]
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
    Core was generated by `/usr/lib/frr/ospfd'.
    Program terminated with signal SIGABRT, Aborted.
    54      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
    (gdb) bt
    0  0x00007f296f278428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
    1  0x00007f296f27a02a in __GI_abort () at abort.c:89
    2  0x00007f296fca4110 in core_handler (signo=11, siginfo=0x7ffcd52044f0, context=<optimized out>) at lib/sigevent.c:254
    3  <signal handler called>
    4  0x000055949b9dfdff in ospf_lsdb_lookup (lsdb=lsdb@entry=0x55949bfd3688, lsa=lsa@entry=0x55949bfe1290) at ospfd/ospf_lsdb.c:179
    5  0x000055949ba28fbe in ospf_ls_retransmit_lookup (lsa=0x55949bfe1290, nbr=0x55949bfd3610) at ospfd/ospf_flood.c:918
    6  ospf_ls_retransmit_delete_nbr_if (oi=oi@entry=0x55949bfd2590, lsa=lsa@entry=0x55949bfe1290) at ospfd/ospf_flood.c:932
    7  0x000055949ba2916b in ospf_ls_retransmit_delete_nbr_if (lsa=0x55949bfe1290, oi=0x55949bfd2590) at ospfd/ospf_flood.c:928
    8  ospf_ls_retransmit_delete_nbr_as (ospf=ospf@entry=0x55949bfbdb30, lsa=lsa@entry=0x55949bfe1290) at ospfd/ospf_flood.c:959
    9  0x000055949b9dcd7e in ospf_discard_from_db (ospf=ospf@entry=0x55949bfbdb30, lsdb=<optimized out>, lsa=lsa@entry=0x55949bfe1630) at ospfd/ospf_lsa.c:2552
    10 0x000055949b9df1b3 in ospf_maxage_lsa_remover (thread=0x55949bfde930) at ospfd/ospf_lsa.c:2848
    11 0x00007f296fcb1770 in thread_call (thread=0x55949bfde930) at lib/thread.c:1557
    12 0x00007f296fcb19d6 in funcname_thread_execute (m=0x55949be0a630, func=func@entry=0x55949b9df0a0 <ospf_maxage_lsa_remover>, arg=arg@entry=0x55949bfbdb30, val=val@entry=0,
        funcname=funcname@entry=0x55949ba31b41 "ospf_maxage_lsa_remover", schedfrom=schedfrom@entry=0x55949ba31917 "ospfd/ospf_lsa.c", fromln=3364) at lib/thread.c:1628
    13 0x000055949b9de90b in ospf_flush_self_originated_lsas_now (ospf=ospf@entry=0x55949bfbdb30) at ospfd/ospf_lsa.c:3364
    14 0x000055949ba19a55 in ospf_process_refresh_data (ospf=0x55949bfbdb30, reset=reset@entry=true) at ospfd/ospfd.c:138
    15 0x000055949ba1aeef in ospf_process_reset (ospf=<optimized out>) at ospfd/ospfd.c:206
    16 0x000055949ba0729b in clear_ip_ospf_process_magic (self=<optimized out>, vty=<optimized out>, argc=<optimized out>, argv=<optimized out>, instance_str=<optimized out>,
        instance=<optimized out>) at ospfd/ospf_vty.c:11930
    17 clear_ip_ospf_process (self=<optimized out>, vty=0x55949bfe2600, argc=<optimized out>, argv=<optimized out>) at ./ospfd/ospf_vty_clippy.c:306
    18 0x00007f296fc66523 in cmd_execute_command_real (vline=vline@entry=0x55949bfd2fb0, vty=vty@entry=0x55949bfe2600, cmd=cmd@entry=0x0, filter=FILTER_RELAXED) at lib/command.c:1060
    19 0x00007f296fc6869a in cmd_execute_command (vline=vline@entry=0x55949bfd2fb0, vty=vty@entry=0x55949bfe2600, cmd=0x0, vtysh=vtysh@entry=0) at lib/command.c:1119
    20 0x00007f296fc68817 in cmd_execute (vty=vty@entry=0x55949bfe2600, cmd=cmd@entry=0x55949bfe7f80 "clear ip ospf pro", matched=matched@entry=0x0, vtysh=vtysh@entry=0)
        at lib/command.c:1275
    21 0x00007f296fcb6c13 in vty_command (vty=vty@entry=0x55949bfe2600, buf=0x55949bfe7f80 "clear ip ospf pro") at lib/vty.c:514
    22 0x00007f296fcb6ea6 in vty_execute (vty=vty@entry=0x55949bfe2600) at lib/vty.c:1281
    23 0x00007f296fcb97f4 in vtysh_read (thread=<optimized out>) at lib/vty.c:2123
    24 0x00007f296fcb1770 in thread_call (thread=thread@entry=0x7ffcd5209590) at lib/thread.c:1557
    25 0x00007f296fc82e78 in frr_run (master=0x55949be0a630) at lib/libfrr.c:1026
    26 0x000055949b9d0f07 in main (argc=1, argv=0x7ffcd52098b8) at ospfd/ospf_main.c:230

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2021-01-12 11:31:17 +00:00
Mobashshera Rasool
f91ce319d3 ospfd: Clear ip ospf process and clear ip ospf neighbor
Implement the below 2 CLIs to clear the current data in the process
and neighbor data structure.
1. clear ip ospf process
2. clear ip ospf neighbor

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2021-01-12 10:52:42 +00:00
ckishimo
dc135f9eed ospfd: cosmetic function names in debug
Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
2021-01-12 11:34:34 +01:00
ckishimo
88b7d3e726 tests: move redistribute function into lib
Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
2021-01-12 11:18:22 +01:00
ckishimo
9458be1aec tests: fix ospf cosmetic output
Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
2021-01-12 11:18:22 +01:00
ckishimo
65980a0224 tests: remove old def for redistribution in ospf
Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
2021-01-12 11:18:22 +01:00
ckishimo
c6b59ef48c tests: use new def for redistribution in ospf
Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
2021-01-12 11:18:22 +01:00
ckishimo
881fa68f05 tests: add new def for redistribution in ospf
Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
2021-01-12 11:18:22 +01:00
nguggarigoud
dc5298d741 tests: Adding ospf p2mp basic test.
This test verifies basic p2mp test

Signed-off-by: nguggarigoud <nguggarigoud@vmware.com>
2021-01-12 09:28:50 +05:30
Mark Stapp
b9f15b49b2 zebra: add the sample dataplane plugin to the build
Build the sample dataplane plugin with debug/dev builds.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-01-11 16:33:55 -05:00
Mark Stapp
fb913e53a5 zebra: remove unused local in dplane sample plugin
Remove an unused local in the sample dataplane plugin.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-01-11 16:33:27 -05:00
Donald Sharp
7e010c4b78 zebra: notify installing protocol when nexthops cannot be resolved
In the case where a routes nexthops cannot be resolved as part
of route processing, immmediately notify the upper level protocol
that their routes failed to install if they are interested in
being informed about this issue.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-11 10:11:35 -05:00
Donald Sharp
aa6fdabb73
Merge pull request #7828 from mobash-rasool/pim-fixes-3
pimd: SPT-bit is not set to false as per RFC section in one flow
2021-01-11 09:51:24 -05:00
Donatas Abraitis
88ffa95dc3
Merge pull request #7823 from donaldsharp/zebra_delay_timer
Zebra delay timer
2021-01-11 16:46:23 +02:00
Donald Sharp
2a42b28470
Merge pull request #7847 from opensourcerouting/fix/skip-sr-te-topotest
pathd: Skip SR-TE topotests if pathd has been disabled
2021-01-11 09:44:46 -05:00
Babis Chalios
daee3312bf tests: add machinery to test SNMP
Add initial 'walk' and 'get' test APIs for SNMP

Signed-off-by: Babis Chalios <babis@voltanet.io>
Signed-off-by: Pat Ruddy <pat@voltanet.io>
2021-01-11 14:36:41 +00:00
Babis Chalios
92be50e63e tests: API to launch snmpd in a topotest scenario
Prepare the infrastructure to allow configuring and launching an SNMP
daemon as part of testing scenario.

Signed-off-by: Babis Chalios <babis@voltanet.io>
Signed-off-by: Pat Ruddy Chalios <pat@voltanet.io>
2021-01-11 14:36:40 +00:00
Donatas Abraitis
b96138fbf0
Merge pull request #7830 from volta-networks/misc_fixes_2021
Misc fixes (bgpd, pathd, tools)
2021-01-11 15:18:18 +02:00
Donatas Abraitis
73511c6a02
Merge pull request #7845 from cgoncalves/fix-broken-links
Fix BGP and resource certification reference links
2021-01-11 15:06:27 +02:00
Sebastien Merle
f7f6a796e8 pathd: Skip SR-TE topotests if pathd has been disabled
* If pathd binary is not found, skip the SR-TE topotests.
 * Fix some compilation warnings when pathd is not built.

Signed-off-by: Sebastien Merle <sebastien@netdef.org>
2021-01-11 12:52:15 +01:00
Carlos Goncalves
f4c847ff7d doc: fix reference links
The current securing BGP and resource certification reference links lead
to a page not found. This patch fixes that by pointing to their
corresponding PDF format resources.

Signed-off-by: Carlos Goncalves <cgoncalves@redhat.com>
2021-01-11 10:49:24 +01:00
Emanuele Di Pascale
c576dc6a4f bgpd: fix removal of rd vpn export
a missing '!' operator meant that correct rd strings were being
rejected in the destroy callback, making it impossible to remove
once configured.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2021-01-11 10:15:18 +01:00
Emanuele Di Pascale
174c5be33c bgpd: fix unsetting of multipath as-set
in the nortbound callback for the boolean leaf multi-path-as-set, the
actual value of the leaf was being ignored. As a result, going from
as-set to no-as-set was having no effect.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2021-01-11 10:15:18 +01:00
Adriano Marto Reis
733367c04e tests: tests for bgpd listing on multiple addresses
* Added a new topotest to test bgpd listening on multiple addresses.
* Updated the existing bgpd tests according to the parameter added to
bgp_master_init.

Signed-off-by: "Adriano Marto Reis" <adrianomarto@gmail.com>
2021-01-11 08:33:52 +00:00
Adriano Marto Reis
d1aed873ca doc: Explaining that bgpd can listen on multiple addresses
Updated the documentation clarifying that multiple addresses can be
specifyed via -l option.

Signed-off-by: "Adriano Marto Reis" <adrianomarto@gmail.com>
2021-01-11 08:33:37 +00:00
Adriano Marto Reis
85e9cd9aae bgpd: bgpd listening on multiple addresses
Changed bgpd so multiple IP addresses can be specified via -l option.

Signed-off-by: "Adriano Marto Reis" <adrianomarto@gmail.com>
2021-01-11 08:33:18 +00:00
Donatas Abraitis
3de83b7b81
Merge pull request #7810 from imzyxwvu/no-deforig
bgpd: Fix default-originate clearing from peer-groups.
2021-01-11 10:09:41 +02:00