Commit Graph

568 Commits

Author SHA1 Message Date
Quentin Young
b7ca0bc360 doc: update docs details in release procedure
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-11-09 15:12:37 -05:00
Quentin Young
4bdfe95e2e doc: use sphinx auto-numbering in release docs
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-11-09 15:08:54 -05:00
Quentin Young
5b80c10d1f doc: update release process
Clarify process for editing changelog and updating the configure.ac
project version, as well as procedure for doing sanity testing prior to
creating the release tag.

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-11-08 13:50:18 -05:00
David Lamparter
e1111c5faf doc/developer: add _member and _anywhere
New members in the typesafe.h API club.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-10-19 14:55:39 +02:00
David Lamparter
4c0e52367a doc/developer: fix duplicate const prototypes
The const ones have const in the name.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-10-14 19:19:44 +02:00
David Lamparter
8c69c8f743 doc/developer: use :c:macro: where appropriate
Sphinx tries to parse :c:function: as function prototype, which doesn't
quite work with macros.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-10-14 19:17:30 +02:00
David Lamparter
e8713b62d1 doc/developer: fix warnings in topotests doc
Sphinx warns about a few nits here, just fix.  (Note :option:`-E` can't
be used without a "option:: -E" definition, it's intended as a cross
reference.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-10-14 19:12:01 +02:00
David Lamparter
936c12d71b doc/developer: fix C struct references
Sphinx wants `c:struct:: foo` rather than `c:type:: struct foo`.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-10-14 19:02:31 +02:00
Donald Sharp
c6c39c05b5
Merge pull request #9684 from opensourcerouting/printfrr-false-positive
*: `frr-format` with unmodified GCC
2021-10-14 07:34:20 -04:00
David Lamparter
16044e7ff7 doc/developer: document dev tag on master
We have `frr-X.Y-dev` tags on master after pulling stable branches,
otherwise the `gitversion` tooling / `--with-pkg-git-version` gets
_very_ confused (it'll print something like:

```
FRRouting 8.2-dev-g210a75e65dad (areia).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
This is a git build of frr-8.1-rc1-8-g210a75e65dad
```

(Note the conflicting version numbers.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-10-06 18:15:23 +02:00
David Lamparter
f62de63c6a *: frr-format with unmodified GCC
Since there's very few locations where the `frr-format` actually prints
false positive warnings, consensus seems to be to just work around the
false positives even if the code is correct.

In fact, there is only one pattern of false positives currently, in
`bfdd/dplane.c` which does `vty_out("%"PRIu64, (uint64_t)be64toh(...))`.
The workaround/fix for this is a replacement `be64toh` whose type is
always `uint64_t` regardless of what OS we're on, making the cast
unnecessary.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-09-28 11:20:32 +02:00
Christian Hopps
fe226e844a
doc: add sudo environment setup info for topotests
Signed-off-by: Christian Hopps <chopps@labn.net>
2021-09-26 19:14:49 -04:00
Quentin Young
a3941e8126
Merge pull request #9659 from idryzhov/dev-doc-fix
doc: fix code block in grpc docs
2021-09-24 14:14:44 -04:00
Igor Ryzhov
98059bbca6 doc: fix code block in grpc docs
The code block after the :: is not displayed correctly without an empty
line in between.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-09-23 12:08:12 +03:00
David Lamparter
161ed8a690 doc/workflow: prefer typesafe containers
The typesafe containers have been around for quite a while now and
haven't gone up in a blaze of flames, so let's add a "strong
recommendation" to use them for new code and refactors.

For the nhrpd custom lists I'm already working to remove them; meanwhile
the old skiplists are primarily used in RFAPI (4 users outside of that),
so those could be next.

What remains are the old `list_*` and `hash_*`, which have >300 and >100
users respectively, making them a much harder problem to tackle.  And
the new hash implementation doesn't have the same level of
debug/introspection yet (it's on my TODO.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-09-22 12:09:47 +02:00
Donald Sharp
827ddd5a1d
Merge pull request #9596 from LabNConsulting/ziemba/printfrr-nexthop
printfrr %pNHcg, %pNHci
2021-09-15 20:23:30 -04:00
G. Paul Ziemba
016cfe701e lib,doc,tests: printfrr %pNHcg, %pNHci
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2021-09-14 10:06:57 -07:00
Donald Sharp
b9d2f3f58d
Merge pull request #9558 from LabNConsulting/ziemba/doc-cli-new-node
doc/developer: how to add a CLI node
2021-09-13 08:36:26 -04:00
Donald Sharp
0d39b8f2f0
Merge pull request #9573 from LabNConsulting/chopps/update-template
tests: update the test template and doc
2021-09-10 10:49:00 -04:00
Quentin Young
32acb4a7ad
Merge pull request #9497 from opensourcerouting/cli-better-no 2021-09-09 12:22:53 -04:00
Christian Hopps
9b6f04c07c tests: update the test template and doc
- Update the template and documentation to use newer pytest fixutres for
setup and teardown, as well as skipping tests when the suite fails.

Signed-off-by: Christian Hopps <chopps@labn.net>
2021-09-08 13:09:41 -04:00
Donald Sharp
4fcda740dc
Merge pull request #9566 from LabNConsulting/chopps/easy-fancy-json-setup
tests: new improved simple JSON template w/ doc update
2021-09-08 11:29:52 -04:00
G. Paul Ziemba
d3bb30f588 doc/developer: adding a CLI node: mention frr-reload.py and VTY_PUSH_XPATH
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2021-09-07 09:51:49 -07:00
Hiroki Shirokura
1994c6bc05 doc: don't use abbreviate
Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
2021-09-07 07:11:20 +00:00
Hiroki Shirokura
e03862c34a topotests: to create pid file of topotest router
Create a pid file for the router created by topotest.
By executing nsenter directly against this pid, developers
can execute commands directly from outside the unet shell.
This allows the developer to use script, tab completion, etc.,
and improves efficiency.

Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
2021-09-07 03:55:04 +00:00
Donald Sharp
3702e8577f
Merge pull request #9563 from opensourcerouting/build-strict-prototypes
build: `-Wstrict-prototypes` (+ BSD `sed`)
2021-09-06 12:28:33 -04:00
Christian Hopps
36c1949730
tests: new improved simple JSON template w/ doc update
Utilizes new pytest fixtures to completely factor out setup and teardown
functionality. Supply the JSON config and write your tests.

"The best topotest template yet!"

Signed-off-by: Christian Hopps <chopps@labn.net>
2021-09-05 02:45:13 -04:00
Christian Hopps
77f3acb45e doc: minor update based on mininet removal
Signed-off-by: Christian Hopps <chopps@labn.net>
2021-09-04 09:04:46 -04:00
G. Paul Ziemba
c6a3a68548 doc/developer: how to add a CLI node
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2021-09-03 09:55:22 -07:00
David Lamparter
e5af0fc869 doc/developer: add warning pointers
These two warnings are easy to get confused by, note down some pointers
on what they actually mean.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-09-02 13:00:35 +02:00
David Lamparter
90c8406c20 lib: add ![...] syntax for easy "no" forms
This allows defining a CLI command like this:
  `[no] some setting ![VALUE]`
with VALUE being optional for the "no" form, but required for the
positive form.  It's just a `[...]` where the empty branch can only be
taken for commands starting with `no`.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-08-26 21:03:44 +02:00
Donald Sharp
061bf350dd
Merge pull request #9271 from opensourcerouting/workflow-release-sched
workflow: document release scheduling discussed
2021-08-14 09:06:23 -04:00
David Lamparter
dc1c0bc2b3 workflow: document release scheduling discussed
As discussed in the weekly meeting today, this is what we're trying to
work with for the time being.

(Date calculator included as a bonus goodie ;)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-08-11 16:37:46 +02:00
Donald Lee
5141fd7f8e doc: fix unrelated typo
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-08-10 07:35:32 +08:00
Donald Lee
c42f38b8df doc: Update for consecutive frrscript_call
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-08-10 07:35:32 +08:00
Quentin Young
41d3d77496
Merge pull request #8982 from dlqs/lua-func-stack 2021-08-02 13:51:35 +00:00
Donald Lee
c5f9744c33 docs: update parens
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-07-29 05:52:22 +08:00
Donald Lee
84c92002d2 lib: formatting
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-07-26 23:48:23 +08:00
Donald Lee
78f1ac2574 lib: Add new MTYPE for script results
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-07-26 23:27:56 +08:00
Donald Lee
fe80e6019b doc: typo
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-07-24 03:35:09 +08:00
Donald Lee
aed6f883a0 doc: Update documentation
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-07-18 06:32:03 +08:00
David Lamparter
424117e52c doc/workflow: YANG is a hard requirement
The text didn't reflect the YANG requirement decision yet.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-07-07 15:48:39 +02:00
David Lamparter
b6660a6527 doc/workflow: add guidelines for config knobs
This is pretty much common sense ("runtime knobs are easier to adjust
than a compile-time setting"), but maybe it should be said just for
reference.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-07-07 14:57:00 +02:00
Quentin Young
e15106149f
Merge pull request #8508 from opensourcerouting/systemd-no-lib 2021-07-06 14:54:25 +00:00
Quentin Young
71bae95e4a
Merge pull request #8888 from dlqs/lua-call 2021-07-05 04:13:20 +00:00
Ondřej Surý
c4783c325a doc: Use dpkg-buildpackage to build packages (add note about debuild)
The debuild command fails when we are doing source package only build
because it expects the arch-dependent .changes file to be present.  Thus
in the instructions we switch to using dpkg-buildpackage directly and
add a note about using debuild in more complicated scenarios.

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2021-07-03 17:02:37 +02:00
Ondřej Surý
4c65fb08f7 doc: Add instructions on how to build only source packages
In the CI, it's better to build the source package only once and then
instead of checking out the whole repository, only distribute the source
packages to the individual jobs.

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2021-07-03 17:02:37 +02:00
Ondřej Surý
f36c3644e7 doc: Update debian packaging instructions
The debian packaging instructions have been updated, so they actually
work.

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2021-07-03 17:02:37 +02:00
Ondřej Surý
aa1e17f5ca debian: Remove now obsolete tarsource.sh script
Signed-off-by: Ondřej Surý <ondrej@sury.org>
2021-07-03 17:02:37 +02:00
Ondřej Surý
06417e9f18 debian: Remove the changelog-auto automation in favor of dch
Signed-off-by: Ondřej Surý <ondrej@sury.org>
2021-07-03 17:02:37 +02:00
Ondřej Surý
25785834af debian: Adjust tarsource.sh to use native debian/changelog
Signed-off-by: Ondřej Surý <ondrej@sury.org>
2021-07-03 17:02:37 +02:00
Donald Lee
cd3c3a98e2 doc: space code block
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-07-03 04:43:50 +08:00
David Lamparter
ab140d61cd build, doc: extricate --enable-systemd
Ouch, that is a *lot* of places to update...

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-06-29 17:57:09 +02:00
Donald Lee
a9a8bb1c9e doc: fix formatting
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-28 05:38:23 +08:00
Donald Lee
951f084976 doc: Update documentation for new api
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-25 17:29:15 +08:00
David Lamparter
2ee5fdba02 build: remove --enable-exampledir
This is no longer used with the recent config example removal.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-06-24 16:42:58 +02:00
Christian Hopps
e58133a78e tests: add valgrind memleaks run options and detection
Signed-off-by: Christian Hopps <chopps@labn.net>
2021-06-16 02:56:15 -04:00
Donatas Abraitis
b00436316e
Merge pull request #8789 from FRRouting/doctest
doc: bump sphinx version to 4.0.2, remove deprecated API
2021-06-07 17:19:07 +03:00
Quentin Young
d6ba203d2f doc: use add_css_file(); not deprecated
add_stylesheet() is deprecated and removed in Sphinx 4.x

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-06-03 16:32:00 -04:00
Donatas Abraitis
6ab47b0396 doc: Replace single tick with double tick under developer/topotests.rst
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-06-02 08:48:25 +03:00
Christian Hopps
250335d47c build: libyangv2 is mainlined, update
Signed-off-by: Christian Hopps <chopps@gmail.com>
2021-05-27 06:44:39 -04:00
Christian Hopps
640b04d9e9 doc: expand documentation on gRPC
Add C++ and Python examples, and add compiling info, and known gRPC
version that works.

Signed-off-by: Christian Hopps <chopps@gmail.com>
2021-05-20 15:42:48 +00:00
Mark Stapp
b1ffa01dcd
Merge pull request #8686 from idryzhov/fix-doc-index
doc: remove redundant index directives
2021-05-18 15:33:48 -04:00
Igor Ryzhov
dc47f2e726 doc: remove redundant index directives
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-18 15:29:59 +03:00
Christian Hopps
af1b88e990 lib: libyang2 add missed conversion
Signed-off-by: Christian Hopps <chopps@labn.net>
2021-05-17 22:13:59 -04:00
Martin Winter
d8baf3db2d
Merge pull request #8144 from LabNConsulting/chopps/ly2
libyang2
2021-05-14 01:12:06 +02:00
Christian Hopps
3bb513c399 lib: adapt to version 2 of libyang
Compile with v2.0.0 tag of `libyang2` branch of:
https://github.com/CESNET/libyang

staticd init load time of 10k routes now 6s vs ly1 time of 150s

Signed-off-by: Christian Hopps <chopps@labn.net>
2021-05-13 16:24:48 -04:00
Donatas Abraitis
f101a83b46 doc: Require topotests directory to be consistent with others
Just add a requirement to avoid hyphens in directory naming.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-05-11 14:14:26 +03:00
David Lamparter
507e0e5d66 lib: add *_swap_all to typesafe containers
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-05-03 20:55:04 +02:00
Javier Garcia
9af46face2 doc: clang in openbsd is the default and update compiler.
Also
 - update info about new packages needed as libcares.
 - create proper links to libyang so ld can find the lib.

Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
2021-04-28 18:53:20 +02:00
Quentin Young
8a0a716f83
Merge pull request #8356 from LabNConsulting/working/lb/docker-ci-v2 2021-04-14 16:27:39 +00:00
David Lamparter
9c2a14e753
Merge pull request #8100 from qlyoung/remove-sample-conf-files 2021-04-13 02:20:53 +02:00
Lou Berger
d7026eff4c doc: add Ubuntu18.04 and 20.04 container info to building-docker.rst
Signed-off-by: Lou Berger <lberger@labn.net>
2021-04-12 17:14:10 -04:00
Jafar Al-Gharaibeh
8435eae7bb
Merge pull request #8440 from qlyoung/doc-describe-acceptable-commit-messages
doc: describe acceptable commit messages
2021-04-10 23:07:49 -05:00
Quentin Young
b832909b42 *: remove *.conf.sample files
Most of these are many, many years out of date. All of them vary
randomly in quality. They show up by default in packages where they
aren't really useful now that we use integrated config. Remove them.

The useful ones have been moved to the docs.

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-04-09 13:14:30 -04:00
Quentin Young
7bd4560bbd doc: describe acceptable commit messages
Update workflow.rst to state that commit messages consisting solely of
program output, or that otherwise fail to adequately summarize the
changes being made, are unacceptable.

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-04-09 12:55:33 -04:00
Donald Sharp
248e7b3af1 doc: Check for convergence, not sleep for convergence
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-04-09 12:24:22 -04:00
Mark Stapp
e2efe13327
Merge pull request #8350 from opensourcerouting/printfrr-revamp
lib: `printfrr()` care package
2021-03-31 09:10:30 -04:00
David Lamparter
19b1a1c6a9 doc/developer: improve printfrr extension docs
The table is getting rather clunky, let's just break this out and make
it pretty there.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-30 22:34:56 +02:00
David Lamparter
a4cb97a6c1 lib: add %*pHX + %*pHS hexdump in printfrr
(I'll get to `zlog_hexdump()` in a separate pass.)

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-30 22:34:51 +02:00
David Lamparter
9c4380daee lib: add %pVA recursive printfrr
Analogous to Linux kernel `%pV` (but our mechanism expects 2 specifier
chars and `%pVA` is clearer anyway.)

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-30 22:32:59 +02:00
Russ White
a2d351d19e
Merge pull request #8137 from Orange-OpenSource/ospf_ls
ospfd: Add Link State support
2021-03-30 10:28:37 -04:00
Donald Sharp
1a6aa9d098
Merge pull request #8341 from simondeziel/systemd-onfailure
systemd's %n already includes the type suffix (.service)
2021-03-25 15:00:13 -04:00
Simon Deziel
489faf5e4a tools: fix systemd OnFailure directive
systemd's %n already includes the type suffix (.service)

Signed-off-by: Simon Deziel <simon@sdeziel.info>
2021-03-25 10:37:23 -04:00
Donald Sharp
ecf9b1bb50
Merge pull request #8167 from LabNConsulting/chopps/tests-add-gdb
tests: add option for auto-launching gdb
2021-03-25 10:27:50 -04:00
Mark Stapp
ef0a84eda5 doc: fix url for pip 2 in dev doc
Use updated url for python2 version of pip.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-03-24 16:21:49 -04:00
Olivier Dugeon
b0c0b43348 lib: Update Link State Database
Add new status for Vertex, Edge and Subnet to manage their
respective states in the data base.

Add new functions:
 - to register/unregister server and client
 - to show content of the Database (VTY and Json output)
 - to update and compare subnets
 - to clean vertex and ted from ORPHAN elements
 - to convert message or stream into a Link State Element and update
   Link State Database accordingly to message event

Change Edge and Vertex key computation by using the host order systematically.
This impact mostly key based on IPv4 addresses where `ntohl()` function must
be used when searching a Vertex or Edge by key.

Update the documentation accordingly

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2021-03-23 15:39:29 +01:00
Pat Ruddy
b69bc6fe0d doc: add libsnmp-dev install line
Do not assume libsnmp-dev is installed.

Signed-off-by: Pat Ruddy <pat@voltanet.io>
2021-03-23 10:18:16 +00:00
Christian Hopps
3f950192fe tests: add options for debugging topotest failures
Signed-off-by: Christian Hopps <chopps@labn.net>
2021-03-19 12:45:37 -04:00
David Lamparter
80413c2073 *: require semicolon after FRR_DAEMON_INFO & co.
... again ...

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-17 06:18:39 +01:00
David Lamparter
960b9a5383 *: require semicolon after DEFINE_<typesafe...>
Again, see previous commits.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-17 06:18:39 +01:00
David Lamparter
8451921b70 *: require semicolon after DEFINE_HOOK & co.
See previous commit.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-17 06:18:17 +01:00
David Lamparter
bf8d3d6aca *: require semicolon after DEFINE_MTYPE & co
Back when I put this together in 2015, ISO C11 was still reasonably new
and we couldn't require it just yet.  Without ISO C11, there is no
"good" way (only bad hacks) to require a semicolon after a macro that
ends with a function definition.  And if you added one anyway, you'd get
"spurious semicolon" warnings on some compilers...

With C11, `_Static_assert()` at the end of a macro will make it so that
the semicolon is properly required, consumed, and not warned about.

Consistently requiring semicolons after "file-level" macros matches
Linux kernel coding style and helps some editors against mis-syntax'ing
these macros.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-17 06:18:17 +01:00
Donald Sharp
48e85d2296
Merge pull request #8268 from mjstapp/doc_dev_topo_notes
doc: add info to topotest dev doc
2021-03-16 18:22:02 -04:00
Donald Sharp
3406c16cbe
Merge pull request #7963 from volta-networks/feat_pceplib_into_frr_github
pceplib: Integrate pcelib into frr
2021-03-16 14:03:34 -04:00
Mark Stapp
b43be6b8f6 doc: add more notes about new topotests
Add some extra notes to the dev doc section about writing new
topotests: check for OS/kernel support if necessary; avoid
volatile or unstable data like ifindices or link-locals.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-03-16 11:28:25 -04:00
Mark Stapp
4f32d35ca9 doc: fix warnings in dev docs
Fix a couple of warnings in dev doc rst files.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-03-16 11:27:59 -04:00
Rafael Zalamena
e12114f2f7 doc: update the FRR format table
Let other developers know that we have `%pIA` to print `struct ipaddr *`.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2021-03-14 14:07:52 -03:00
Russ White
da0a277fae
Merge pull request #6807 from opensourcerouting/xref-extract
xrefs extraction tool
2021-03-09 07:58:43 -05:00
Javier Garcia
749714731e pceplib: Integrate pcelib into frr
Signed-off-by: Brady Johnson <brady@voltanet.io>
Co-authored-by: Javier Garcia <javier.garcia@voltanet.io>
Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
2021-03-05 12:12:47 +01:00
Igor Ryzhov
a113a35d6b doc: fix link for python2 get-pip.py
Script by the current link doesn't work with Python 2 anymore:
```
ERROR: This script does not work on Python 2.7 The minimum supported Python version is 3.6.
Please use https://bootstrap.pypa.io/2.7/get-pip.py instead.
```

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-03-04 00:13:44 +03:00
Donatas Abraitis
2993bf94a0
Merge pull request #8146 from qlyoung/doc-fix-tracing-indent
doc: fix indent depth in tracing doc
2021-02-25 09:54:50 +02:00
Mark Stapp
eb3e4dc35c
Merge pull request #8128 from qlyoung/docs-cleanup
General docs cleanup
2021-02-24 16:53:42 -05:00
Quentin Young
7f4d2e5aea doc: fix indent depth in tracing doc
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-02-24 14:53:33 -05:00
David Lamparter
3cb0eab36f doc: add libelf to build docs
Signed-off-by: David Lamparter <equinox@diac24.net>
2021-02-24 07:15:38 +01:00
Quentin Young
689d992703
Merge pull request #8134 from ton31337/fix/doc_formatting
doc: Format highlighted syntax properly for Systemtap examples
2021-02-23 18:50:18 -05:00
Mark Stapp
15869cd81d
Merge pull request #8035 from qlyoung/remove-more-sprintf
*: remove more sprintf()
2021-02-23 15:55:02 -05:00
Quentin Young
e1ac6ff442 doc: update docs on docs
- Don't document 'no' commands
- Don't use .. index:: for clicmds
- Don't document all possible variants

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-02-23 15:43:13 -05:00
Donatas Abraitis
ccc1af3998 doc: Format highlighted syntax properly for Systemtap examples
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-02-23 22:40:06 +02:00
David Lamparter
9e6c14a46b doc: quick HOWTO on python/xrelfo.py
Just a few paragraphs on what it does and how to invoke it.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-02-23 16:56:58 +01:00
Donatas Abraitis
c952f18422 doc: Instruction how to use Systemtap with FRRouting
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-02-22 23:36:01 +02:00
Quentin Young
9029461188 doc: document LD_PRELOAD workaround for lttng
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-02-12 18:14:53 -05:00
Quentin Young
7533cad751 *: remove more sprintf()
Should be just a couple non-development, non-test occurrences of this
function left now.

Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
2021-02-09 15:40:40 -05:00
Donald Sharp
6ddbc710cc
Merge pull request #7218 from kuldeepkash/multicast_pim_bsm
tests: Add multicast-pim-bsm-topo1 suite
2021-02-05 10:20:15 -05:00
Mark Stapp
7534d64f0f
Merge pull request #8007 from wesleycoakley/xcompile-writeup
doc: cross compilation guide
2021-02-04 13:31:49 -05:00
Wesley Coakley
8cc2aca441
doc: cross compilation guide
Wrote a little guide for cross-compiling FRR, gleaned from notes I took
while compiling for a RPi 3B+ on a Gentoo x86_64 system.

Care was taken to keep this documentation as generic as possible so
these steps could be applied to any cross-compile targeting a supported
architecture.

Signed-off-by: Wesley Coakley <wcoakley@nvidia.com>
2021-02-03 14:33:56 -05:00
David Lamparter
08a73c422d lib/xref: work around GCC bug 41091
gcc fucks up global variables with section attributes when they're used
in templated C++ code.  The template instantiation "magic" kinda breaks
down (it's implemented through COMDAT in the linker, which clashes with
the section attribute.)

The workaround provides full runtime functionality, but the xref
extraction tool (xrelfo.py) won't work on C++ code compiled by GCC.

FWIW, clang gets this right.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-02-03 00:55:07 +01:00
Donald Sharp
cc73a06499
Merge pull request #7314 from kuldeepkash/multicast-sm-topo1
Add multicast-pim-sm-topo1 test suite
2021-02-02 10:43:09 -05:00
David Lamparter
87d383171d doc/developer: xrefs
Signed-off-by: David Lamparter <equinox@diac24.net>
2021-02-01 17:28:11 +01:00
kuldeepkash
a91530499a doc: Updated topotest.rst doc with iperf
1. We are using iperf to send IGMP join and traffic for multicast suites. Iperf must be
   used to run all multicast suite

Signed-off-by: kuldeepkash <kashyapk@vmware.com>
2021-01-29 16:12:48 +00:00
kuldeepkash
ccdf4a5ea5 doc: topotests-markers typo error
Fixed topotests-markers typo error

Signed-off-by: kuldeepkash <kashyapk@vmware.com>
2021-01-27 19:45:31 +00:00
Russ White
a9294a8cbd
Merge pull request #7127 from opensourcerouting/ospf_ti-lfa
ospfd: add support for Topology Independent LFA (TI-LFA)
2021-01-26 07:32:04 -05:00
David Schweizer
c8bcb7bd37
doc: fixed confusing statements in topotest marker doc
Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
2021-01-22 15:14:18 +01:00
David Schweizer
0f84d13839
doc: developer documentation for pytest markers
Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
2021-01-21 16:22:39 +01:00
Donatas Abraitis
44ba9e779d
Merge pull request #7832 from pjdruddy/snmp-test-infra
Snmp test infra
2021-01-20 09:15:14 +02:00
GalaxyGorilla
3e94c9a4a3 doc: Add TI-LFA developer docs
Signed-off-by: GalaxyGorilla <sascha@netdef.org>
2021-01-19 15:32:13 +00:00
Russ White
c0b6ef23f7
Merge pull request #7639 from qlyoung/frr-lua
Scripting
2021-01-19 07:17:03 -05:00
Kuldeep Kashyap
bf17e2dffe doc: Updated topotest.rst doc with scapy details
1. Scapy, is a python tool, which would be used in multicast-pim-bsm-topo1
   suite automation. We have some BSM raw packets captured and saved in
   JSON file, these packets would be sent using scapy on tests demands.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2021-01-18 18:17:13 +00:00
Pat Ruddy
b638685c6c doc: add SNMP instructions for topotests
To run SNMP topotests some utilities and MIBs need to be
installed.

Signed-off-by: Pat Ruddy <pat@voltanet.io>
2021-01-12 20:00:06 +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
Russ White
7e9492a9a6
Merge pull request #6810 from Orange-OpenSource/link_state
Lib: Add Link State Database
2021-01-05 10:25:38 -05:00
Olivier Dugeon
bbd85e2038 lib: Add Link State Database
Define new models for Link State Database a.k.a TED
and functions to manipulate the new database as well as exchange Link State
information through ZAPI Opaque message.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2021-01-04 18:19:26 +01:00
Sebastien Merle
efba0985fc pathd: Add optional support for PCEP to pathd
This new dynamic module makes pathd behave as a PCC for dynamic candidate path
using the external library pcpelib https://github.com/volta-networks/pceplib .

The candidate paths defined as dynamic will trigger computation requests to the
configured PCE, and the PCE response will be used to update the policy.

It supports multiple PCE. The one with smaller precedence will be elected
as the master PCE, and only if the connection repeatedly fails, the PCC will
switch to another PCE.

Example of configuration:

segment-routing
 traffic-eng
  pcep
   pce-config CONF
    source-address ip 10.10.10.10
    sr-draft07
   !
   pce PCE1
    config CONF
    address ip 1.1.1.1
   !
   pce PCE2
    config CONF
    address ip 2.2.2.2
   !
   pcc
    peer PCE1 precedence 10
    peer PCE2 precedence 20
   !
  !
 !
!

Co-authored-by: Brady Johnson <brady@voltanet.io>
Co-authored-by: Emanuele Di Pascale <emanuele@voltanet.io>
Co-authored-by: GalaxyGorilla <sascha@netdef.org>
Co-authored-by: Javier Garcia <javier.garcia@voltanet.io>
Co-authored-by: Renato Westphal <renato@opensourcerouting.org>
Co-authored-by: Sebastien Merle <sebastien@netdef.org>
Signed-off-by: Sebastien Merle <sebastien@netdef.org>
2020-12-18 16:47:52 +01:00
Sebastien Merle
4d7b695d3a pathd: New SR-TE policy management daemon
This new daemon manages Segment-Routing Traffic-Engineering
(SR-TE) Policies and installs them into zebra. It provides
the usual yang support and vtysh commands to define or change
SR-TE Policies.

In a nutshell SR-TE Policies provide the possibility to steer
traffic through a (possibly dynamic) list of Segment Routing
segments to the endpoint of the policy. This list of segments
is part of a Candidate Path which again belongs to the SR-TE
Policy. SR-TE Policies are uniquely identified by their color
and endpoint. The color can be used to e.g. match BGP
communities on incoming traffic.

There can be multiple Candidate Paths for a single
policy, the active Candidate Path is chosen according to
certain conditions of which the most important is its
preference. Candidate Paths can be explicit (fixed list of
segments) or dynamic (list of segment comes from e.g. PCEP, see
below).

Configuration example:

segment-routing
 traffic-eng
  segment-list SL
   index 10 mpls label 1111
   index 20 mpls label 2222
  !
  policy color 4 endpoint 10.10.10.4
   name POL4
   binding-sid 104
   candidate-path preference 100 name exp explicit segment-list SL
   candidate-path preference 200 name dyn dynamic
  !
 !
!

There is an important connection between dynamic Candidate
Paths and the overall topic of Path Computation. Later on for
pathd a dynamic module will be introduced that is capable
of communicating via the PCEP protocol with a PCE (Path
Computation Element) which again is capable of calculating
paths according to its local TED (Traffic Engineering Database).
This dynamic module will be able to inject the mentioned
dynamic Candidate Paths into pathd based on calculated paths
from a PCE.

https://tools.ietf.org/html/draft-ietf-spring-segment-routing-policy-06

Co-authored-by: Sebastien Merle <sebastien@netdef.org>
Co-authored-by: Renato Westphal <renato@opensourcerouting.org>
Co-authored-by: GalaxyGorilla <sascha@netdef.org>
Co-authored-by: Emanuele Di Pascale <emanuele@voltanet.io>
Signed-off-by: Sebastien Merle <sebastien@netdef.org>
2020-12-18 16:34:02 +01:00
Javier Garcia
f5b17d200f doc: add building steps for openSUSE
Signed-off-by: Javier Garcia <rampxxxx@gmail.com>
2020-12-03 11:59:01 +01:00
Quentin Young
0833300a7a doc: add scripting docs
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2020-12-01 18:42:17 -05:00
Igor Ryzhov
fdac05fd9a doc: add description of the new memory macro
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2020-12-01 11:39:40 +03:00
Philippe Guibert
0dc861fa52 doc: topotest json typo error
fix the typo error.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2020-11-19 13:18:22 +00:00
Donald Sharp
7188145f63 doc: Update release procedure
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2020-11-17 07:39:42 -05:00
Quentin Young
e869d3f0c7 doc: use anonymous link refs
rst...

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2020-11-09 15:25:26 -05:00
Quentin Young
e862bcc572 doc: add docs on fuzzing stuff
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2020-11-09 15:25:26 -05:00
Quentin Young
d3f453457b doc: add developer docs for tracing
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2020-10-23 15:13:51 -04:00
Donald Sharp
ac86c0785e doc: Add %pBD print formatter to doc
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2020-10-17 08:52:35 -04:00
Quentin Young
3656e87b6b doc: document use of black for python formatting
Also moves "Exceptions" for C code under the C subsection.

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2020-10-08 12:53:13 -04:00
whitespace
701a01920e *: reformat python files
We are now using black.

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2020-10-07 17:22:26 -04:00
Donald Sharp
32d9e333b7 doc: Update Documentation to note Solaris Unsupported status
With the change of Solaris going from Supported -> UnSupported
the documentation needed to be updated to reflect the reality
on the ground.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2020-09-21 10:02:20 -04:00
Donatas Abraitis
428d9b5b3f
Merge pull request #7097 from mjstapp/fix_ubu20_doc_pip2
doc: clarify python and pip2 for ubuntu 20
2020-09-19 15:11:25 +03:00
Mark Stapp
e5f0ed147b tests: use .items instead of .iteritems in topotests
Avoid py2-only .iteritems() api.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2020-09-18 15:55:23 -04:00