Mailing List Archive

Quagga next review
Hi,

I've a bunch of commits staged in volatile/next:

http://git.savannah.gnu.org/cgit/quagga.git/log/?h=volatile/next

Please review. Also, please git send-email anything missing. I'd like
another release within a few week. Bit of a "tick tock" cycle, given
last few releases (release with lots of commits, then one with a small
set of fixes, etc.).

Shortlog:

Baruch Siach (1):
lib/memory: fix indirect static link with zlib

Christian Franke (19):
zebra: fix a crash in static_add_ipv6 caused by a NULL dereference
isisd: exit if daemonizing fails
ospf6d: remove unused broken function
zebra: make fpm netlink_route_info_fill more robust
bgpd: fix potential crash in community_list_dup_check
bgpd: setting nexthop doesn't need inet_pton
bgpd: check return value of zebra_interface_state_read
bgpd: don't leak memory in community_regexp_include
bgpd: fix memory leaks in show commands
ospfd: fix double assignment in ospf_vl_set_timers
pimd: don't leak original_s_route on error
ripd: print md5 auth digest correctly
vtysh: handle case if there is no match in "write terminal $daemon"
vtysh: fix a memory leak in vtysh_client_execute
ospfd: Update route in zebra when tag changes
*: Port Christians tweaks for 32-bit route tags
ospf6d: add support for route tags
ripd: add support for route tags
ripngd: add support for route tags

Daniel Walton (1):
bgpd: fix "show ip bgp" column alignment

David Lamparter (4):
lib: linklist: add listnode_add_before()
lib: add thread_add_timer_tv (struct timeval)
lib: AgentX: use threads instead of eventloop hack
zebra: fix link-params CLI handling

Donald Sharp (8):
pimd: Remove dead code.
pimd: Remove source_new unneeded parameter
pimd: Remove igmp_add_group_by_addr unneeded parameter
pimd: Add support for displaying ip mroute
pimd: Add ability to safely ignore route-maps
pimd: Fix of using uninitialized Memory
ospfd: Fix arm compile issue
vtysh, zebra: Fix link-params to use exit-link-params

Igor Ryzhov (1):
vtysh: send "no interface" command to all daemons that support it

Jafar Al-Gharaibeh (2):
config: Give the option of disabling run as user/group
zserv: get rid of code duplication in nexthop_lookup[_mrib] functions

Job Snijders (1):
bgpd: Add support for BGP Large Communities

Martin Winter (1):
build: configure.ac - use AC_PROG_CC_C99 instead of cflags to force c99 mode

Paul Jakma (20):
lib/stream: Add stream_discard, to discard read data from a stream
bgpd: Add route count from neighbours & established sessions to bgp summary
ospfd: 'ip ospf network' interface should down iface before changing type
lib: vty_prefix_list_install should validate afi/safi
build: Add GCC stack-protector/SSP to default flag set
isisd,ospf6d,bgpd: Fix GCC 6 warnings on indentation not matching control flow
ripd: Fix GCC6 warning on misleading indentation
tools: Remove historic scripts
tools/multiple-bgpd: extend the ring, enable mpath, add links to +-2 instances
tools: Extend multiple-bgpd.sh to support BIRD, ExaBGP plus more configurables
lib: track worst case # of cycles and don't allow granularity to go above
bgpd: Modernise BGP defaults for MRAI and connect time
bgpd: Rejiggle exported nht function names and consolidate some code
bgpd: Remove change that makes NHT tickle BGP FSM.
bgpd: consolidate start timer backoff via a 'BGP_Stop_with_error' FSM event
bgpd: Make the exponential backoff on BGP stop_with_error slower
bgpd: Graphviz dot files for the BGP FSM
nhrpd: Add libgen.h include for basename call
bgpd: Fix unhandled enum warning for AFI_ETHER
lib: routemap.h depends on prefix.h

Quentin Young (2):
lib: Clean command.c
zebra: Change bitwise operations to purpose-built macros

Renato Westphal (1):
bgpd: fix invalid memory access in peer_free()

Thomas Petazzoni (1):
configure: fix static linking with readline

Thorvald Natvig (1):
Extend BGP_SEND_ASPATH_CHECK to cover confederations

Timo Ter?s (5):
zebra: use FIB state for nexthop tracking
zebra: fix nht validity checking to be same as when it's resolved
bgpd: honor disable-connected-check option with next hop tracking
bgpd: simplify ebgp-multihop and ttl-security handling
nhrpd: implement next hop resolution protocol


regards,
--
Paul Jakma | paul@jakma.org | @pjakma | Key ID: 0xD86BF79464A2FF6A
Fortune:
"If you are afraid of loneliness, don't marry."
-- Chekhov
Re: Quagga next review [ In reply to ]
Hi Paul,
Is there any chance some of these commits might fix the issue with ibgp
peers not getting a full set updates as described by a few users ?

eg

https://lists.quagga.net/pipermail/quagga-users/2016-January/014248.html

On 1/23/2017 2:10 PM, Paul Jakma wrote:
> Hi,
>
> I've a bunch of commits staged in volatile/next:
>
> http://git.savannah.gnu.org/cgit/quagga.git/log/?h=volatile/next
>
> Please review. Also, please git send-email anything missing. I'd like
> another release within a few week. Bit of a "tick tock" cycle, given
> last few releases (release with lots of commits, then one with a small
> set of fixes, etc.).
>
> Shortlog:
>
> Baruch Siach (1):
> lib/memory: fix indirect static link with zlib
>
> Christian Franke (19):
> zebra: fix a crash in static_add_ipv6 caused by a NULL dereference
> isisd: exit if daemonizing fails
> ospf6d: remove unused broken function
> zebra: make fpm netlink_route_info_fill more robust
> bgpd: fix potential crash in community_list_dup_check
> bgpd: setting nexthop doesn't need inet_pton
> bgpd: check return value of zebra_interface_state_read
> bgpd: don't leak memory in community_regexp_include
> bgpd: fix memory leaks in show commands
> ospfd: fix double assignment in ospf_vl_set_timers
> pimd: don't leak original_s_route on error
> ripd: print md5 auth digest correctly
> vtysh: handle case if there is no match in "write terminal $daemon"
> vtysh: fix a memory leak in vtysh_client_execute
> ospfd: Update route in zebra when tag changes
> *: Port Christians tweaks for 32-bit route tags
> ospf6d: add support for route tags
> ripd: add support for route tags
> ripngd: add support for route tags
>
> Daniel Walton (1):
> bgpd: fix "show ip bgp" column alignment
>
> David Lamparter (4):
> lib: linklist: add listnode_add_before()
> lib: add thread_add_timer_tv (struct timeval)
> lib: AgentX: use threads instead of eventloop hack
> zebra: fix link-params CLI handling
>
> Donald Sharp (8):
> pimd: Remove dead code.
> pimd: Remove source_new unneeded parameter
> pimd: Remove igmp_add_group_by_addr unneeded parameter
> pimd: Add support for displaying ip mroute
> pimd: Add ability to safely ignore route-maps
> pimd: Fix of using uninitialized Memory
> ospfd: Fix arm compile issue
> vtysh, zebra: Fix link-params to use exit-link-params
>
> Igor Ryzhov (1):
> vtysh: send "no interface" command to all daemons that support it
>
> Jafar Al-Gharaibeh (2):
> config: Give the option of disabling run as user/group
> zserv: get rid of code duplication in nexthop_lookup[_mrib] functions
>
> Job Snijders (1):
> bgpd: Add support for BGP Large Communities
>
> Martin Winter (1):
> build: configure.ac - use AC_PROG_CC_C99 instead of cflags to
> force c99 mode
>
> Paul Jakma (20):
> lib/stream: Add stream_discard, to discard read data from a stream
> bgpd: Add route count from neighbours & established sessions to
> bgp summary
> ospfd: 'ip ospf network' interface should down iface before
> changing type
> lib: vty_prefix_list_install should validate afi/safi
> build: Add GCC stack-protector/SSP to default flag set
> isisd,ospf6d,bgpd: Fix GCC 6 warnings on indentation not matching
> control flow
> ripd: Fix GCC6 warning on misleading indentation
> tools: Remove historic scripts
> tools/multiple-bgpd: extend the ring, enable mpath, add links to
> +-2 instances
> tools: Extend multiple-bgpd.sh to support BIRD, ExaBGP plus more
> configurables
> lib: track worst case # of cycles and don't allow granularity to
> go above
> bgpd: Modernise BGP defaults for MRAI and connect time
> bgpd: Rejiggle exported nht function names and consolidate some code
> bgpd: Remove change that makes NHT tickle BGP FSM.
> bgpd: consolidate start timer backoff via a 'BGP_Stop_with_error'
> FSM event
> bgpd: Make the exponential backoff on BGP stop_with_error slower
> bgpd: Graphviz dot files for the BGP FSM
> nhrpd: Add libgen.h include for basename call
> bgpd: Fix unhandled enum warning for AFI_ETHER
> lib: routemap.h depends on prefix.h
>
> Quentin Young (2):
> lib: Clean command.c
> zebra: Change bitwise operations to purpose-built macros
>
> Renato Westphal (1):
> bgpd: fix invalid memory access in peer_free()
>
> Thomas Petazzoni (1):
> configure: fix static linking with readline
>
> Thorvald Natvig (1):
> Extend BGP_SEND_ASPATH_CHECK to cover confederations
>
> Timo Ter?s (5):
> zebra: use FIB state for nexthop tracking
> zebra: fix nht validity checking to be same as when it's resolved
> bgpd: honor disable-connected-check option with next hop tracking
> bgpd: simplify ebgp-multihop and ttl-security handling
> nhrpd: implement next hop resolution protocol
>
>
> regards,
>
>
> _______________________________________________
> Quagga-dev mailing list
> Quagga-dev@lists.quagga.net
> https://lists.quagga.net/mailman/listinfo/quagga-dev
>


--
-------------------
Mike Tancsa, tel +1 519 651 3400
Sentex Communications, mike@sentex.net
Providing Internet services since 1994 www.sentex.net
Cambridge, Ontario Canada http://www.tancsa.com/

_______________________________________________
Quagga-dev mailing list
Quagga-dev@lists.quagga.net
https://lists.quagga.net/mailman/listinfo/quagga-dev
Re: Quagga next review [ In reply to ]
On Mon, 23 Jan 2017, Mike Tancsa wrote:

> Hi Paul,

> Is there any chance some of these commits might fix the issue
> with ibgp peers not getting a full set updates as described by a few
> users ?

I don't know, not familiar with that issue.

Can you give more details on the topology and config? Or if you can come
up with a reproducer using the tools/multiple-bgpd.sh script, that'd
help.

regards,
--
Paul Jakma | paul@jakma.org | @pjakma | Key ID: 0xD86BF79464A2FF6A
Fortune:
They will only cause the lower classes to move about needlessly.
-- The Duke of Wellington, on early steam railroads.

_______________________________________________
Quagga-dev mailing list
Quagga-dev@lists.quagga.net
https://lists.quagga.net/mailman/listinfo/quagga-dev
Re: Quagga next review [ In reply to ]
On 1/23/2017 4:49 PM, Paul Jakma wrote:
> On Mon, 23 Jan 2017, Mike Tancsa wrote:
>
>> Hi Paul,
>
>> Is there any chance some of these commits might fix the issue with
>> ibgp peers not getting a full set updates as described by a few users ?
>
> I don't know, not familiar with that issue.
>
> Can you give more details on the topology and config? Or if you can come
> up with a reproducer using the tools/multiple-bgpd.sh script, that'd help.


There are a few people who have run into the issue. The peer with the
problem seems to exhibit the behaviour when there are "many" ebgp peers.
Routes learned from the ebgp peers do not all get propagated to ibgp
peers. It seems random prefixes do not get sent to the ibgp peers.
tcpdump confirms they are never sent.
Jan Hugo I think has narrowed it down much more than I have.

---Mike




--
-------------------
Mike Tancsa, tel +1 519 651 3400
Sentex Communications, mike@sentex.net
Providing Internet services since 1994 www.sentex.net
Cambridge, Ontario Canada http://www.tancsa.com/

_______________________________________________
Quagga-dev mailing list
Quagga-dev@lists.quagga.net
https://lists.quagga.net/mailman/listinfo/quagga-dev
Re: Quagga next review [ In reply to ]
On Mon, 23 Jan 2017, Mike Tancsa wrote:

> There are a few people who have run into the issue. The peer with the
> problem seems to exhibit the behaviour when there are "many" ebgp
> peers. Routes learned from the ebgp peers do not all get propagated to
> ibgp peers. It seems random prefixes do not get sent to the ibgp
> peers. tcpdump confirms they are never sent. Jan Hugo I think has
> narrowed it down much more than I have.

Ok, any details you have would be great.

I did BGP stress testing late last summer, of Quagga and BIRD. Those
tests depended on all prefixes getting through to a 'monitor' bgpd to
detect the end of the test run. Though, not complex topologies.

Need to work to build a comprehensive, free software, routing test-rig,
to catch those issues (and incorporate BIRD, OpenBGPd, etc., to enable
comparison testing and find strength/weaknesses - and provide them with
the same kind of testing as a benefit).

If there's people interested in that...

regards,
--
Paul Jakma | paul@jakma.org | @pjakma | Key ID: 0xD86BF79464A2FF6A
Fortune:
Kime's Law for the Reward of Meekness:
Turning the other cheek merely ensures two bruised cheeks.

_______________________________________________
Quagga-dev mailing list
Quagga-dev@lists.quagga.net
https://lists.quagga.net/mailman/listinfo/quagga-dev
Re: Quagga next review [ In reply to ]
Hi,

I have narrowed down the problem so far as to that I know what peer is
causing the issue on both my routers.
I have all information I have regarding my setup and tests etc shared
with Martin Winter and he has created a test bed but in this test bed we
have not been able so far to reproduce the issue.

What we see is that the moment the peering session with the partner
comes up (EBGP) the router with this session stops sending all updates
or part of its updates to it's iBGP peers. This results over time in an
incomplete set of routes on the other routers in the iBGP mesh.

A last test that I have to do is to see if there is a difference in the
peer being in a peergroup or having it's own config outside of the
peergroup. I have done this test but part of the logs I created (pcap
files) weren't downloaded because I was under the impression that the
problem had disappeared. But a few days later I got alerts from my
monitoring servers that the number of routes in the iBGP mesh was
getting below the alert thresh-hold which proved to me that the problem
was actually still there but a little bit less visible.

I think Martin has created a complete overview of my configuration and
documented most of it in his debugging work set.

My production routers are running the latest 0.99 version because I
can't upgrade to 1.1 because of a serious OSPF6 bug that completely
destroys my internal IPv6 routing.

Jan Hugo


On 01/23/2017 11:33 PM, Paul Jakma wrote:
> On Mon, 23 Jan 2017, Mike Tancsa wrote:
>
>> There are a few people who have run into the issue. The peer with
>> the problem seems to exhibit the behaviour when there are "many" ebgp
>> peers. Routes learned from the ebgp peers do not all get propagated
>> to ibgp peers. It seems random prefixes do not get sent to the ibgp
>> peers. tcpdump confirms they are never sent. Jan Hugo I think has
>> narrowed it down much more than I have.
>
> Ok, any details you have would be great.
>
> I did BGP stress testing late last summer, of Quagga and BIRD. Those
> tests depended on all prefixes getting through to a 'monitor' bgpd to
> detect the end of the test run. Though, not complex topologies.
>
> Need to work to build a comprehensive, free software, routing
> test-rig, to catch those issues (and incorporate BIRD, OpenBGPd, etc.,
> to enable comparison testing and find strength/weaknesses - and
> provide them with the same kind of testing as a benefit).
>
> If there's people interested in that...
>
> regards,


_______________________________________________
Quagga-dev mailing list
Quagga-dev@lists.quagga.net
https://lists.quagga.net/mailman/listinfo/quagga-dev
Re: Quagga next review [ In reply to ]
On Wed, 25 Jan 2017, jan hugo prins wrote:

> Hi,
>
> I have narrowed down the problem so far as to that I know what peer is
> causing the issue on both my routers. I have all information I have
> regarding my setup and tests etc shared with Martin Winter and he has
> created a test bed but in this test bed we have not been able so far
> to reproduce the issue.

It'd be really good to post the details you have so far on this (e.g. a
reproducer environement) to a public place, e.g. bugzilla, so that
others could look.

regards,
--
Paul Jakma | paul@jakma.org | @pjakma | Key ID: 0xD86BF79464A2FF6A
Fortune:
Badges? We don't need no stinking badges.

_______________________________________________
Quagga-dev mailing list
Quagga-dev@lists.quagga.net
https://lists.quagga.net/mailman/listinfo/quagga-dev