summaryrefslogtreecommitdiffstats
path: root/docs/gettingstarted/developers/fib20/debugging.rst
diff options
context:
space:
mode:
authorNathan Skrzypczak <nathan.skrzypczak@gmail.com>2021-08-19 11:38:06 +0200
committerDave Wallace <dwallacelf@gmail.com>2021-10-13 23:22:32 +0000
commit9ad39c026c8a3c945a7003c4aa4f5cb1d4c80160 (patch)
tree3cca19635417e28ae381d67ae31c75df2925032d /docs/gettingstarted/developers/fib20/debugging.rst
parentf47122e07e1ecd0151902a3cabe46c60a99bee8e (diff)
docs: better docs, mv doxygen to sphinx
This patch refactors the VPP sphinx docs in order to make it easier to consume for external readers as well as VPP developers. It also makes sphinx the single source of documentation, which simplifies maintenance and operation. Most important updates are: - reformat the existing documentation as rst - split RELEASE.md and move it into separate rst files - remove section 'events' - remove section 'archive' - remove section 'related projects' - remove section 'feature by release' - remove section 'Various links' - make (Configuration reference, CLI docs, developer docs) top level items in the list - move 'Use Cases' as part of 'About VPP' - move 'Troubleshooting' as part of 'Getting Started' - move test framework docs into 'Developer Documentation' - add a 'Contributing' section for gerrit, docs and other contributer related infos - deprecate doxygen and test-docs targets - redirect the "make doxygen" target to "make docs" Type: refactor Change-Id: I552a5645d5b7964d547f99b1336e2ac24e7c209f Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Diffstat (limited to 'docs/gettingstarted/developers/fib20/debugging.rst')
-rw-r--r--docs/gettingstarted/developers/fib20/debugging.rst106
1 files changed, 0 insertions, 106 deletions
diff --git a/docs/gettingstarted/developers/fib20/debugging.rst b/docs/gettingstarted/developers/fib20/debugging.rst
deleted file mode 100644
index e0a85fd736e..00000000000
--- a/docs/gettingstarted/developers/fib20/debugging.rst
+++ /dev/null
@@ -1,106 +0,0 @@
-.. _debugging:
-
-Debugging
----------
-
-the anatomy of a route:
-
-.. code-block:: console
-
- BGvpp# sh ip fib 1.1.1.3/32
- ipv4-VRF:0, fib_index:0, flow hash:[src dst sport dport proto ] epoch:0 flags:none locks:[adjacency:1, recursive-resolution:4, default-route:1, ]
- 1.1.1.0/24 fib:0 index:9 locks:2
- CLI refs:1 src-flags:added,contributing,active,
- path-list:[24] locks:4 flags:shared, uPRF-list:11 len:1 itfs:[1, ]
- path:[26] pl-index:24 ip4 weight=1 pref=0 attached-nexthop: oper-flags:resolved,
- 10.0.0.1 loop0
- [@0]: arp-ipv4: via 10.0.0.1 loop0
-
- forwarding: unicast-ip4-chain
- [@0]: dpo-load-balance: [proto:ip4 index:11 buckets:1 uRPF:11 to:[0:0]]
- [0] [@3]: arp-ipv4: via 10.0.0.1 loop0
-
-let's go line by line.
-
-.. code-block:: console
-
- ipv4-VRF:0, fib_index:0, flow hash:[src dst sport dport proto ] epoch:0 flags:none locks:[adjacency:1, recursive-resolution:4, default-route:1, ]
-
-Each field in turn:
-
-- ipv4-VRF:0: the name of the table (as given by the user, or
- automatically generated by VPP).
-- fib-index:0; in the VPP pool of FIB objects, this is index 0
-- flow hash:[src dst sport dport proto ]: When calculating the flow
- hash to use for load-balanacing, these are the fields in the packet
- that are used. There is an API to change this per-table.
-- epoch:0; Used during mark-n-sweep.
-- flags:none; use the force, to find the per-table flags.
-- locks: per-source reference counting, a table can only be deleted
- when all sources no longer reference it.
-
-next line:
-
-.. code-block:: console
-
- 1.1.1.0/24 fib:0 index:9 locks:2
-
-this shows the route that matched the show request. note that it is not
-an exact match, it's an LPM. The route is in FIB index 0, its index
-(in the VPP pool of fib_entry_t objects) is nine and there are two
-references to the entry.
-You'll get the same output if you type "sh fib entry 9"
-
-next line:
-
-.. code-block:: console
-
- CLI refs:1 src-flags:added,contributing,active,
-
-the 'CLI' has sourced this route (it was added via CLI). This source
-has been added (well duh) it is 'active', meaning it is the best
-source, and it is contributing a forwarding object. There are some
-scenarios where sources other than the active source contribute,
-namely interpose sources.
-
-next line:
-
-.. code-block:: console
-
- path-list:[24] locks:4 flags:shared, uPRF-list:11 len:1 itfs:[1, ]
-
-This is path-list inex 24 (see "sh fib path-list 24" this will also
-show the children), it is 'shared',
-meaning that if other prefixes were to use the same set of paths,
-then they would also use this path-list object. It has uRPF list 11 of
-length 1 containing interface index 1 (which is loop0, see "sh int").
-
-next line:
-
-.. code-block:: console
-
- path:[26] pl-index:24 ip4 weight=1 pref=0 attached-nexthop: oper-flags:resolved,
- 10.0.0.1 loop0
- [@0]: arp-ipv4: via 10.0.0.1 loop0
-
-This is path 26 (see "sh fib path 26"). It's a member of
-path-list 24. It's ip4 has a weight of 1 and a preference of 0. It's
-of type 'attached-nexthop' and currently resolved - woohoo.
-It is a path 'via 10.0.0.1 loop0'. It is contributing an incomplete adjacency.
-
-next line:
-
-.. code-block:: console
-
- forwarding: unicast-ip4-chain
- [@0]: dpo-load-balance: [proto:ip4 index:11 buckets:1 uRPF:11 to:[0:0]]
- [0] [@3]: arp-ipv4: via 10.0.0.1 loop0
-
-This section describes how packets of type 'unicast-ip4' will be
-forwarded. It is the result of processing the path information from
-above.
-Here we see load-balance object 11, which has 1 bucket/choice. It is
-also linked to uRPF instance 11 (which it got from path-list 24).
-In bucket 0 there is the incomplete adjacnecy that was contributed by
-path 26.
-