summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* *: style for EC replacementsQuentin Young2018-09-1384-571/+547
| | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* *: LIB_[ERR|WARN] -> EC_LIBQuentin Young2018-09-1394-441/+434
| | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* zebra: ZEBRA_[ERR|WARN] -> EC_ZEBRAQuentin Young2018-09-1330-334/+334
| | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* watchfrr: WATCHFRR_[ERR|WARN] -> EC_WATCHFRRQuentin Young2018-09-133-7/+7
| | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* ripd: RIP_[ERR|WARN] -> EC_RIPQuentin Young2018-09-133-3/+3
| | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* pimd: PIM_[ERR|WARN] -> EC_PIMQuentin Young2018-09-135-7/+7
| | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* isisd: ISIS_[ERR|WARN] -> EC_ISISQuentin Young2018-09-136-22/+22
| | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* eigrpd: EIGRP_[ERR|WARN] -> EC_EIGRPQuentin Young2018-09-136-8/+8
| | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* babeld: BABEL_[ERR|WARN] -> EC_BABELQuentin Young2018-09-139-64/+64
| | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* nhrpd: NHRP_[ERR|WARN] -> EC_NHRPQuentin Young2018-09-134-9/+9
| | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* ospfd: OSPF_[ERR|WARN] -> EC_OSPFQuentin Young2018-09-1315-232/+232
| | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* bgpd: BGP_[WARN|ERR] -> EC_BGPQuentin Young2018-09-1326-336/+336
| | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* Merge pull request #3007 from pacovn/static_analysis__shadow_variables2Donald Sharp2018-09-137-17/+15
|\ | | | | lib vtysh zebra: variable shadowing fixes
| * lib vtysh zebra: variable shadowing fixesF. Aragon2018-09-127-17/+15
| | | | | | | | Signed-off-by: F. Aragon <paco@voltanet.io>
* | Merge pull request #3006 from pacovn/static_analysis__shadow_variables1Donald Sharp2018-09-1317-51/+21
|\ \ | | | | | | bgpd isisd ospf6d ospfd: variable shadowing fixes
| * | bgpd isisd ospf6d ospfd: variable shadowing fixesF. Aragon2018-09-1217-51/+21
| |/ | | | | | | Signed-off-by: F. Aragon <paco@voltanet.io>
* | Merge pull request #3009 from pacovn/static_analysis__shadow_variables3Donald Sharp2018-09-136-21/+11
|\ \ | | | | | | pimd ripd ripngd: variable shadowing fixes
| * | pimd ripd ripngd: variable shadowing fixesF. Aragon2018-09-126-21/+11
| |/ | | | | | | Signed-off-by: F. Aragon <paco@voltanet.io>
* | Merge pull request #3013 from ↵Donald Sharp2018-09-131-2/+3
|\ \ | | | | | | | | | | | | pacovn/static_analysis__conditional_omitted_operand1 nhrpd: missing operand added
| * | nhrpd: missing operand addedF. Aragon2018-09-131-2/+3
|/ / | | | | | | | | | | Detected using -Wgnu-conditional-omitted-operand Signed-off-by: F. Aragon <paco@voltanet.io>
* | Merge branch 'warnings'David Lamparter2018-09-1293-1018/+2178
|\ \ | | | | | | | | | Signed-off-by: David Lamparter <equinox@diac24.net>
| * \ Merge remote-tracking branch 'frr/master' into warningsDavid Lamparter2018-09-12245-7477/+6961
| |\ \ | |/ / |/| | | | | | | | | | | | | | | | | Conflicts: zebra/if_ioctl_solaris.c zebra/rtread_getmsg.c Signed-off-by: David Lamparter <equinox@diac24.net>
* | | Merge pull request #3005 from patrasar/indentation_warningsDavid Lamparter2018-09-121-6/+6
|\ \ \ | |_|/ |/| | pimd: fix indentation warnings
| * | pimd: fix indentation warningsSarita Patra2018-09-121-6/+6
|/ / | | | | | | Signed-off-by: Sarita Patra <saritap@vmware.com>
* | Merge pull request #2944 from thbtcllt/masterRuss White2018-09-115-126/+50
|\ \ | | | | | | fix zebra crash when a vrf interface changes with netns implementation for vrf
| * | zebra/lib: code cleaningThibaut Collet2018-09-062-7/+3
| | | | | | | | | | | | | | | | | | | | | Remove useless parenthesis and explicit cast. Remove redundant code. Signed-off-by: Thibaut Collet <thibaut.collet@6wind.com>
| * | lib/if.c: fix CLANG warningThibaut Collet2018-08-301-22/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix CLANG warning: Report for if.c | 2 issues =============================================== < WARNING: else is not generally useful after a break or return < #390: FILE: /tmp/f1-28557/if.c:390: Signed-off-by: Thibaut Collet <thibaut.collet@6wind.com>
| * | zebra: fix crash when interface vrf changesThibaut Collet2018-08-304-123/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This crash occurs only with netns implementation. vrf meaning is different regarging its implementation (netns or vrf-lite) - With vrf-lite implementation vrf is a property of the interface that can be changed as the speed or the state (iproute2 command: "ip link set dev IF_NAME master VRF_NAME"). All interfaces of the system are in the same netns and so interface name is unique. - With netns implementation vrf is a characteristic of the interface that CANNOT be changed: it is the id of the netns where the interface is located. To change the vrf of an interface (iproute2 command to move an interface "ip netns exec VRF_NAME1 ip link set dev IF_NAME netns VRF_NAME2") the interface is deleted from the old vrf and created in the new vrf. Interface name is not unique, the same name can be present in the different netns (typically the lo interface) and search of interface must be done by the tuple (interface name, netns id). Current tests on the vrf implementation (vrf-lite or netns) are not sufficient. In some cases (for example when an interface is moved from a vrf X to the default vrf and then move back to VRF X) we can have a corruption message and then a crash of zebra. To avoid this corruption test on the vrf implementation, needed when an interface changes, has been rewritten: - For all interface changes except deletion the if_get_by_name function, that checks if an interface exists and creates or updates it if needed, is changed: * The vrf-lite implementation is unchanged: search of the interface is based only on the name and update the vrf-id if needed. * The netns implementation search of the interface is based on the (name, vrf-id) tuple and interface is created if not found, the vrf-id is never updated. - deletion of an interface (reception of a RTM_DELLINK netlink message): * The vrf-lite implementation is unchanged: the interface information are cleared and the interface is moved to the default vrf if it does not belong to (to allow vrf deletion) * The netns implementation is changed: only the interface information are cleared and the interface stays in its vrf to avoid conflict with interface with the same name in the default vrf. This implementation reverts (partially or totally): commit 393ec5424e35 ("zebra: fix missing node attribute set in ifp") commit e9e9b1150f0c ("lib: create interface even if name is the same") commit 9373219c67e1 ("zebra: improve logs when replacing interface to an other netns") Fixes: b53686c52a59 ("zebra: delete interface that disappeared") Signed-off-by: Thibaut Collet <thibaut.collet@6wind.com> Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
| * | vrf: return vrf implementation for default vrfThibaut Collet2018-08-301-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To correct potential crash with netns implementation of vrf (see next commit) it is necessary to allow any daemons to know the vrf implementation whatever the vrf. With current implementation the daemons do not know the vrf implementation for the default vrf. For this vrf the returned vrf implementation is always vrf-lite. To solve this issue a netns name is set to the default vrf to just test is presence to know the used implementation. For zebra a netns name (if needed) is set in the vrf_init function just before enabling the vrf. So this information is propagated to the other daemons thanks the zapi message called when the vrf is enable at zebra layer and override the default configuration (vrf-lite) of the daemon. Signed-off-by: Thibaut Collet <thibaut.collet@6wind.com>
* | | Merge branch 'pr2983'David Lamparter2018-09-111-0/+29
|\ \ \
| * | | lib: whitespace/spelling fixDavid Lamparter2018-09-111-3/+2
| | | | | | | | | | | | | | | | Signed-off-by: David Lamparter <equinox@diac24.net>
| * | | lib: Ensure FRR detects running of the second instance of a FRR daemon, ↵Biswajit Sadhu2018-09-061-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | doesnot allow it to run. Solution : The following procedures would be performed : 1. Verify if the pid file for each daemon is present or not. If the file is not present, that means the daemon is getting instantiated for the first time. So let it go ahead. If the file is present proceed to point ‘2’. 2. Try fetching the properties of the pid file. 3. If it has RW lock, that means one instance of this the daemon is already running. So stop moving ahead and do exit() else let it go ahead.
Please note all above procedure happen at the initial state of daemon’s instantiation, much before it starts any session with other process/allocates resources etc.. and this verification do not have any impact of any operations done later, if the verification succeeds. Signed-off-by: bisdhdh sadhub@vmware.com
* | | | Merge pull request #2985 from patrasar/Fix_1636Donald Sharp2018-09-112-46/+49
|\ \ \ \ | | | | | | | | | | pimd: create a new command "ip pim" configuring pim sm
| * | | | pimd: create a new command "ip pim" configuring pim smroot2018-09-112-46/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new command "ip pim" is created to configure pim sm on an interface, which replaces the existing commands "ip pim sm" and "ip pim ssm" and make "ip pim sm" and "ip pim ssm" as hidden commands. The command "ip multicast-routing" is removed since it is already enabled on FRR by default. Signed-off-by: Sarita Patra saritap@vmware.com
* | | | | Merge pull request #3001 from donaldsharp/bgp_origin_honorMartin Winter2018-09-111-2/+7
|\ \ \ \ \ | | | | | | | | | | | | bgpd: Honor origin change in bgp aggregates
| * | | | | bgpd: Honor origin change in bgp aggregatesDonald Sharp2018-09-101-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the origin changed we must honor and update the aggregate to the peer. This code adds a bit of code to the bgp_aggregate_info_same code to see if the origin has changed and to indicate that it has. Fixes: #2993 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | | | | | Merge pull request #2999 from donaldsharp/consistentDavid Lamparter2018-09-103-11/+11
|\ \ \ \ \ \ | | | | | | | | | | | | | | doc: Fixup to use consistent frrvty group name
| * | | | | | doc: Fixup to use consistent frrvty group nameDonald Sharp2018-09-103-11/+11
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some places we were using `frrvt` instead of `frrvty`. Make it consistent with every other place and use frrvty. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | | | | | Merge pull request #2979 from qlyoung/improve-readmeDavid Lamparter2018-09-109-2606/+79
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Improve readme
| * | | | | frr: add README.md to EXTRA_DISTQuentin Young2018-09-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
| * | | | | frr: improve READMEQuentin Young2018-09-105-19/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Friendly READMEs are all the rage! Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
| * | | | | frr: remove stale files, allow non-GNU AutomakeQuentin Young2018-09-106-2589/+3
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add 'foreign' option to allow Automake to ignore missing GNU standard files * Remove AUTHORS * Remove NEWS * Remove ChangeLog Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* | | | | Merge pull request #2977 from opensourcerouting/doc-fixDonald Sharp2018-09-0923-35/+49
|\ \ \ \ \ | | | | | | | | | | | | build: fix not building docs w/o sphinx
| * | | | | build: move SPHINXBUILD= to configure in rpm buildDavid Lamparter2018-09-093-11/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Need to pass this on configure now to work properly. Signed-off-by: David Lamparter <equinox@diac24.net>
| * | | | | build: fix not building docs w/o sphinxDavid Lamparter2018-09-0920-24/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Can't build manpages without sphinx-build, oops... Signed-off-by: David Lamparter <equinox@diac24.net>
* | | | | | Merge pull request #2965 from opensourcerouting/buildfoo-20180904Donald Sharp2018-09-0978-222/+354
|\ \ \ \ \ \ | |/ / / / / |/| | | | | more build fixes & warning-free build
| * | | | | lib: early-include "config.h" in flex lexersDavid Lamparter2018-09-092-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is neccessary to get _FILE_OFFSET_BITS right. Signed-off-by: David Lamparter <equinox@diac24.net>
| * | | | | ospf6d: remove extra struct in ospf6_lsa_handlerDavid Lamparter2018-09-093-29/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This serves no other purpose than to generate stupid warnings for overwritten initializers on old gcc versions. Signed-off-by: David Lamparter <equinox@diac24.net>
| * | | | | *: fix some random warningsDavid Lamparter2018-09-093-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Lamparter <equinox@diac24.net>
| * | | | | lib: make pthread_set[_]name_np test OS agnosticDavid Lamparter2018-09-092-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FreeBSD supports pthread_set_name_np() too. Also, pthread_set_name_np() returns void. And NetBSD has pthread_setname_np() with an extra arg... Signed-off-by: David Lamparter <equinox@diac24.net>