Commit Graph

10224 Commits

Author SHA1 Message Date
Quentin Young
b59555c6bf
doc: change info file name from FRR -> frr
conventions yo

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-02-22 12:27:12 -05:00
Quentin Young
6165030aa8
doc: fix hardcoded 'make' invocation
BSD systems need gmake to build FRR, hence why we use $(MAKE) instead of
directly invoking make. It looks like Sphinx generated makefiles
understand this, but contain a bug where the target for info files
hardcodes make instead of using $(MAKE). Fix this.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-02-22 12:10:47 -05:00
Quentin Young
adaf2d624b
doc: fallback to sphinx-1.0-build
Some platforms (actually just Centos6, again, of course) call
"sphinx-build" as "sphinx-1.0-build", and so to work around this
apparently useless name, fall back to sphinx-1.0-build when we can't
find sphinx-build before displaying an error message. I am not doing in
this the configure script because the sphinx makefiles are not Automake
files and the less Automake in tree the better.

Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
2018-02-20 12:29:30 -05:00
Quentin Young
9cb4ba0a3e
debianpkg: fixup bad target names
Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
2018-02-20 09:54:00 -05:00
Quentin Young
72a475e87c
debianpkg: update packaging for new docs
Incidentally this was all broken before anyway.

* Correctly ship all documents in frr-doc
* Ship manpages for all daemons in frr
* Update rules to build docs via Sphinx
* Use packaging install files correctly
2018-02-16 15:44:59 -05:00
Quentin Young
6be1a07b97
Merge branch 'master' into docuser
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-02-15 15:02:27 -05:00
Olivier Dugeon
7abe1e7e0d
Merge pull request #1738 from chiragshah6/ospfv3_dev
ospf6d: Handle Premature Aging of LSAs
2018-02-15 17:17:38 +01:00
Quentin Young
3f5050125b doc: put correct pkg for Centos6 2018-02-15 10:43:30 -05:00
Chirag Shah
76249532fa ospf6d: Handle Premature Aging of LSAs
RFC 2328 (14.1) Premature aging of LSAs from
routing domain :
When ospf6d is going away (router going down),
send MAXAGEd self originated LSAs to all
neighbors in routing domain to trigger
Premature aging to remove from resepective LSDBs.

Neighbor Router Reboot:
Upon receiving Self-originate MAXAGEd LSA, simply
discard, Current copy could be non maxaged latest.

For neighbor advertised LSA's (current copy in LSDB)
is set to MAXAGE but received new LSA with Non-MAXAGE
(with current age), discard the current MAXAGE LSA,
Send latest copy of LSA to neighbors and update the
LSDB with new LSA.

When a neighbor transition to FULL, trigger AS-External
LSAs update from external LSDB to new neighbor.

Testing:
R1 ---- DUT --- R5
| \
R2 R3
|
R4

Area 1: R5 and DUT
Area 0: DUT, R1, R2, R3
Area 2: R2 R4

Add IPv6 static routes at R5
Redistribute kernel routes at R5,
Validate routes at R4, redistributed via backbone
to area 2.
Stop n start frr.service at R5 and validated
MAXAGE LSAs then recent age LSAs in Database at DUT-R4.
Validated external routes installed DUT to R4.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-02-14 17:37:34 -08:00
Donald Sharp
d0a6f3e0c5 isisd: Free up some memory allocated.
The v4 and v6 prefixes were created but not deleted on
shutdown properly.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
(cherry picked from commit 25b1001dc9)
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-02-14 12:12:54 -02:00
Martin Winter
74a75bdbad
Merge pull request #1701 from donaldsharp/zapi_vrf_label
Zapi vrf label
2018-02-13 19:05:42 -08:00
Quentin Young
e53d58537c doc: document CLI BNF grammar, add DFA figures
Technical details on CLI implementation.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-02-13 18:09:58 -05:00
Martin Winter
4f2e2981ce
Merge pull request #1734 from donaldsharp/control_me
debianpkg: Update build dependencies to say we don't co-exist with qu…
2018-02-13 08:49:55 -08:00
Martin Winter
f53f7ac385
Merge pull request #1683 from donaldsharp/doc_debian
doc: Fix Debian 9 build instructions
2018-02-13 08:39:39 -08:00
Quentin Young
79120ae8d6
doc: add everything to makefile
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-02-12 13:34:41 -05:00
Quentin Young
241eff1636
doc: include manpage Makefile and conf.py in EXTRA_DIST
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-02-12 10:35:37 -05:00
Donald Sharp
420016643c
Merge pull request #1735 from LabNConsulting/working/master/pre-vpn-vrf-leak-indenting
Working/master/pre vpn vrf leak indenting
2018-02-10 09:24:40 -05:00
Donald Sharp
5651675e43
Merge pull request #1737 from mkanjari/build-failure
zebra: fix build breakage
2018-02-09 20:53:03 -05:00
mitesh
1f2129ecd3 zebra: fix build breakage
is_vni_l3 was removed as a part of PR1700. However, it seems to be used in master.
Causing the breakage. Made the changes to not use the API anymore.

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
2018-02-09 16:57:37 -08:00
Renato Westphal
b2a708904a
Merge pull request #1719 from donaldsharp/rip_split_fuckery
ripd: Fix crash when ip rip split-horizon poisoned-reverse is configed
2018-02-09 22:07:02 -02:00
Renato Westphal
84cc4cf9a3
Merge pull request #1731 from donaldsharp/zebra_stuff
zebra: sharp protocol needs a default admin distance.
2018-02-09 22:01:12 -02:00
Renato Westphal
1a6219e1a3
Merge pull request #1700 from mkanjari/evpn-symm-routing-enhancements-2.0
EVPN Symmetric routing enhancements 2.0
2018-02-09 21:20:27 -02:00
Renato Westphal
a97e5c1a80
Merge pull request #1722 from donaldsharp/vrf_mc_vrf
zebra: Fix vrf routes from assuming their nh's were in the default
2018-02-09 20:54:17 -02:00
G. Paul Ziemba
d316210b65 whitespace/comment fixes per qlyoung
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2018-02-09 13:14:22 -08:00
G. Paul Ziemba
a4d82a8adc bgpd: ran indent.py on some files prior to bgp vpn-vrf leaking changes
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2018-02-09 10:22:50 -08:00
G. Paul Ziemba
9611232b4c also protect ALIAS from indenting
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2018-02-09 10:18:35 -08:00
G. Paul Ziemba
70a94541f9 Merge branch 'working/master/json-bgp-vpn-fixes' of https://github.com/LabNConsulting/frr into working/master/json-bgp-vpn-fixes 2018-02-09 09:40:25 -08:00
G. Paul Ziemba
9386b58830 bgpd: json route table brace counting
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2018-02-09 09:39:32 -08:00
G. Paul Ziemba
4e5c876fcb bgpd: json route table brace counting 2018-02-09 09:29:39 -08:00
Donald Sharp
fc5cca9fa4 zebra: Use appropriate output function for label printing
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-02-08 20:38:16 -05:00
Donald Sharp
42567e0011 bgpd, lib, sharpd, zebra: Use MPLS_LABEL_NONE
Modify mpls.h to rename MPLS_LABEL_ILLEGAL to be MPLS_LABEL_NONE.
Fix all pre-existing code that used MPLS_LABEL_ILLEGAL.

Modify the zapi vrf label message to use MPLS_LABEL_NONE as the
signal to remove label associated with a vrf.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-02-08 20:38:14 -05:00
Donald Sharp
339e36d258 lib, sharpd, zebra: Add new enum for lsp type and pass it through.
Add the ability to pass the lsp owner type through the zapi
and in addition add a new label type for the sharp protocol
for testing.

Finally modify zebra_mpls.h to not have defaults specified
for the enum.  That way when we add a new LSP type the
compile fails and the person doing the addition knows
where he has to touch shit.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-02-08 20:35:14 -05:00
Donald Sharp
70e98a7fe7 *: Make code use a consisten definition of labels
Turns out we had 3 different ways to define labels
all of them overlapping with the same meanings.
Consolidate to 1.  This one choosen is consistent
naming wise with what the *bsd and linux kernels
use.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-02-08 20:31:37 -05:00
Donald Sharp
b9abd9adac zebra: Cleanup mpls handling to allow a NEXTHOP_TYPE_IFINDEX
Add the ability for the nexthops to be a NEXTHOP_TYPE_IFINDEX.
Since we are using this code for L3vpn pop and forward operations
and we know that the lo or vrf device name must exist we
trust that it is correct.

Update display to show the correct data with a 'show mpls table'

Update the mpls install into the kernel to treat
NEXTHOP_TYPE_IFINDEX as special and we do not need
to pass in the nexthop label.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-02-08 20:31:37 -05:00
Donald Sharp
75239f4f28 sharpd: Consolidate commands under 'sharp' keyword
The commands if not careful needed a way to isolate
themselves from each other and 'real' system commands
so let's put them under the sharp keyword.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-02-08 20:31:37 -05:00
Donald Sharp
ab18a4954f sharpd: Add some infrastructure to allow test of ZEBRA_VRF_LABEL
Add some infrastructure to allow the testing of ZEBRA_VRF_LABEL

Signed-off-by: Donald Sharp <sharp@cumulusnetworks.com>
2018-02-08 20:31:37 -05:00
Donald Sharp
c83c5e4482 lib, zebra: Add new api to specify a label associated with the vrf
For L3VPN's we need to create a label associated with the specified
vrf to be installed into the kernel to allow a pop and lookup
operation.

The new api is:
zclient_send_vrf_label(struct zclient *zclient, vrf_id_t vrf_id,
                       mpls_label_t label);

For the specified vrf_id associate the specified label for
a pop and lookup operation for forwarding.

To setup a POP and Forward use MPLS_LABEL_IMPLICIT_NULL
If the same label is passed in we ignore the call.
If the label is different we update entry.
If the label is MPLS_LABEL_NONE we remove
the entry.

This sets up the api.  Future commits will have the functionality
to actually install into the kernel.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-02-08 20:31:36 -05:00
Donald Sharp
44bdf1590d lib, zebra: Move nh_resolve_via_default to appropriate header
The nh_resolve_via_default function is an accessor function
for NHT in zebra.  Let's move this function to it's proper
place.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-02-08 19:36:18 -05:00
Donald Sharp
4a7371e9e2 *: Track vrfs per nexthop not per route entry
Track the vfrs on a per nexthop basis instead
of on a per route entry basis.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-02-08 19:35:53 -05:00
Donald Sharp
400a663bf2 zebra: sharp protocol needs a default admin distance.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-02-08 19:30:34 -05:00
Jafar Al-Gharaibeh
509d742fb3
Merge pull request #1720 from qlyoung/gitignore-changelog
debianpkg: .gitignore += changelog
2018-02-08 14:32:29 -06:00
Donald Sharp
f631926724 debianpkg: Update build dependencies to say we don't co-exist with quagga
The control files for all build platforms are not consistent.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-02-08 13:51:04 -05:00
Quentin Young
2f8c365e02
doc: change html theme, add svg logo
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-02-08 11:53:49 -05:00
Philippe Guibert
8e71b98f72
Merge pull request #1654 from mkanjari/evpn-symm-routing-enhancements
Evpn symmetric routing enhancements
2018-02-08 11:46:29 +01:00
Quentin Young
6c74945622
doc: use python 2.6 format strings
Centos 6 only has python 2.6 which requires numerical identifiers for
format strings

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-02-07 19:22:52 -05:00
Donald Sharp
dfce9b257d zebra: Fix vrf routes from assuming their nh's were in the default
Fix the read in of vrf routes on a start or restart that caused
the nexthop_vrf to be assumed to be the default vrf.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-02-07 18:22:15 -05:00
Quentin Young
4898758807
doc: fix makefiles again
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-02-07 16:18:52 -05:00
Quentin Young
50cc7127cf
Merge branch 'master' into docuser 2018-02-07 15:48:37 -05:00
Donald Sharp
25236dd35d
Merge pull request #1721 from opensourcerouting/isis-monitor-fds
isis: use descriptor polling instead of time
2018-02-07 14:35:08 -05:00
Rafael Zalamena
b0dd98e798 isis: use descriptor polling instead of time
Allow other supported Operating Systems (OS) to use file descriptor
polling, instead of doing timed fd checks. This should improve
performance greatly on modern OSes (e.g. that support polling on
filtered sockets).

The known OS that doesn't support this is FreeBSD < 5.0, but even then
FRR doesn't compile in these versions. OSes using DLPI method (e.g
Solaris) does not support select()/poll()ing fds as well, so it will be
disabled for it.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-02-07 16:36:05 -02:00