On 6 Dec 2015, at 15:45, Donald Sharp wrote:
Martin -
Thanks for finding this. Commit pushed to fix this issue.
Thanks. Compiling fixed, but OSPFv2 is broken.
See https://ci1.netdef.org/browse/QUAGGA-CUMULUS-BASICIPV4-19
OSPF crashes with (from the OSPFd.log)
[…]
2015/12/06 16:24:34 OSPF: LSA[Refresh]:ospf_lsa_refresh_walker(): start
2015/12/06 16:24:34 OSPF: LSA[Refresh]: ospf_lsa_refresh_walker(): next
index 1
2015/12/06 16:24:34 OSPF: LSA[Refresh]: ospf_lsa_refresh_walker():
refresh index 0
2015/12/06 16:24:34 OSPF: LSA[Refresh]: ospf_lsa_refresh_walker(): end
2015/12/06 16:24:34 OSPF: make_hello: options: 2, int:
eth2:192.168.1.101
2015/12/06 16:24:34 OSPF: make_hello: options: 2, int:
eth3:192.168.2.101
2015/12/06 16:24:34 OSPF: ospf_write to 224.0.0.5, id 53692, off 0, len
64, interface eth2, mtu 1500:
2015/12/06 16:24:34 OSPF: Hello sent to [224.0.0.5] via
[eth2:192.168.1.101].
2015/12/06 16:24:34 OSPF: ospf_write to 224.0.0.5, id 53693, off 0, len
64, interface eth3, mtu 1500:
2015/12/06 16:24:34 OSPF: Hello sent to [224.0.0.5] via
[eth3:192.168.2.101].
2015/12/06 16:24:34 OSPF: Assertion `op' failed in file ospf_packet.c,
line 685, function ospf_write
2015/12/06 16:24:34 OSPF: Backtrace for 7 stack frames:
2015/12/06 16:24:34 OSPF: [bt 0]
/usr/lib/libzebra.so.0(zlog_backtrace+0x25) [0x7f9f9b40b0db]
2015/12/06 16:24:34 OSPF: [bt 1]
/usr/lib/libzebra.so.0(_zlog_assert_failed+0xdc) [0x7f9f9b40b7ae]
2015/12/06 16:24:34 OSPF: [bt 2] /usr/lib/libospf.so.0(+0x319a5)
[0x7f9f9b67a9a5]
2015/12/06 16:24:34 OSPF: [bt 3]
/usr/lib/libzebra.so.0(thread_call+0xc2) [0x7f9f9b3f6d5d]
2015/12/06 16:24:34 OSPF: [bt 4] ospfd(main+0x44f) [0x7f9f9bb19f13]
2015/12/06 16:24:34 OSPF: [bt 5]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f9f9b026ec5]
2015/12/06 16:24:34 OSPF: [bt 6] ospfd(+0x1929) [0x7f9f9bb19929]
2015/12/06 16:24:34 OSPF: Current thread function ospf_write, scheduled
from file ospf_packet.c, line 3416
Let me know if you need more details on the crash.
- Martin
donald
On Fri, Dec 4, 2015 at 10:06 PM, Martin Winter <
[email protected]> wrote:
Seems to fail compiling on *BSD systems:
CC ospf_packet.lo
ospf_packet.c:678:7: error: use of undeclared identifier
'maxdatasize'
maxdatasize = MIN (oi->ifp->mtu, ospf->maxsndbuflen) -
^
1 error generated.
And a few warnings which you may want to address as well (seen on
*BSD):
CC routemap.lo
routemap.c:1212:5: warning: variable 'dep' is used uninitialized
whenever
switch default is taken [-Wsometimes-uninitialized]
default:
^~~~~~~
routemap.c:1216:7: note: uninitialized use occurs here
if (dep)
^~~
routemap.c:1155:28: note: initialize the variable 'dep' to silence
this
warning
struct route_map_dep *dep;
^
= NULL
1 warning generated.
and
CC if_sysctl.o
In file included from if_sysctl.c:32:
In file included from ./interface.h:25:
In file included from ./redistribute.h:27:
./zserv.h:156:54: warning: declaration of 'struct vty' will not be
visible outside of this function [-Wvisibility]
extern void zebra_route_map_write_delay_timer(struct vty *);
^
1 warning generated.
and
CC rtread_sysctl.o
In file included from rtread_sysctl.c:29:
../zebra/zserv.h:156:54: warning: declaration of 'struct vty' will
not be
visible outside of this function [-Wvisibility]
extern void zebra_route_map_write_delay_timer(struct vty *);
^
1 warning generated.
and
CC kernel_socket.o
In file included from kernel_socket.c:37:
In file included from ../zebra/interface.h:25:
In file included from ./redistribute.h:27:
./zserv.h:156:54: warning: declaration of 'struct vty' will not be
visible outside of this function [-Wvisibility]
extern void zebra_route_map_write_delay_timer(struct vty *);
^
1 warning generated.
- Martin
On 3 Dec 2015, at 8:14, Donald Sharp wrote:
This is the 3rd version of Cumulus Code Changes. This includes CR
comments
from take-2( apologies if I have missed anything ) as well as the
addition
of another 40 or so patches from our internal tree.
I'm posting the cover-letter first to get input from the rest of the
community
on how they would like to see these patches posted to the list. I
do not
want
this to get lost in the shuffle and if I receive no comments in the
next
couple
of days I will git send-email the whole thing :)
For those impatient here is the github branch these changes are on:
https://github.com/donaldsharp/quagga/tree/take-3
Ayan Banerjee (6):
Quagga: ipv6 multipath support
Enable support for BGP IPV6 multipath.
Send ARP requests proactively during OSPF Adjacency formation.
OSPF: Ensure deletion is clean
OSPF: Ensure that OSPF can send out multiple packets per thread
OSPF: Limit the number of interfaces serviced at one time
Daniel Walton (31):
The peer-groups parser is missing advertisement-interval and 'timers
connect'
BGP doesn't count a route with an unreachable nexthop in PfxRcd
bgpd: Improve peer scaling
Fix "no set metric" for ospf6 and RIP
Make "no redistribute" always remove the redistribute statement
iBGP multipath is broken if 'bgp deterministic-med' is enabled.
Fix aggregation issues found via ANVL
Add clear command to force a bestpath recalculation and
re-advertisement of a prefix
BGP crashes if attributes alone consume > 4096 bytes
Add [bestpath|multipath] option to 'show ip bgp x.x.x.x'
OSPFv3 should accept long form of "no redistribute"
BGP: Display BGP paths with unreachable nexthps as invalid
OSPF: Fix no ip ospf hello-interval
OSPF: "show ip ospf neighbor" header spacing
BGP: flag paths for multipath if we RX link-local and global
nexthops
Zebra: Add internal support for route tags
Zebra: Add ability to read/write tag value
BGP: Add support for route tags
RIP: add support for route tags
ZEBRA: add support for route tags
bgpd: atomic-aggregate is lost when we aggregate another aggregate
that has atomic-aggregate
'set metric -12' is broken in the parser
bgp: Alow gracefull shutdown of peers
bgpd: Add replace-as option to remove-private-as
BGP: Clarify the different permutations of soft clearing a peer
BGP: Overhaul BGP debugs
BGP: Implement BGP as-override feature
BGP: Fix BGP_INFO_ATTR_CHANGED being cleared incorrectly
BGP: Correct a few fuzz failures in BGP
BGP: Fix incorrectly flagged nexthop
BGP: Save the last message from a peer that caused us to send a
NOTIFICATION
Dinesh Dutt (17):
BGP: IPv6 Multipath broken with nexthop global address
Zebra: Use a fixed route metric when populating kernel
BGPd: Support matching on local preference in route-map
bgpd: bgpd-ibgp-policy-out-allow-mods.patch
BGP: Add match interface support to BGP route-map.
BGPd: Delete the route from the kernel when a valid NH changes to
invalid NH
OSPFv2: Don't wait for state change to Exchange to start LSReq
VTYSH: Add support for marking a file with appropriate end of
context
Zebra: Suppress displaying default config as part of running config
Zebra: Add route-map support for Next Hop Tracking
zebra: allow static routes to use NH's from protocols
Zebra: Gather and display detailed info about clients of Zebra
zebra: Honor setting source via route map and pushing that to the
kernel.
OSPFv3: Add ABR support and make ECMP > 4.
BGP: Fix FSM to handle active/passive connections better
BGP: Reprocess the trigger points when an attached route map changes
OSPF: Better handle traffic when system is loaded
Donald Sharp (8):
Quagga: Set MULTIPATH_NUM to 64 when user specifies 0 from cli
Zebra: Clean up some compile errors that were missed
vtysh: service integrated-vtysh-config not being written to file
BGP: Test effect of route-map on received/advertised routes
OSPF: Add support for Route tags
BGP: Use next hop tracking for connected routes too
zebra: Add check to notice when an interface is unnumbered
ospf6d: ospfv3-stub-area-support.patch
JR Rivers (1):
OSPF: 16.0 rfc2328 compliance
James Li (3):
Zebra: Dissallow outside programs to delete Quagga routes
zebra: Notice passed nexthop is ONLINK
ospfd: Add unnumbered interface support
Pradosh Mohapatra (5):
bgp: cluster-id length equality for multipath
quagga: nexthop-tracking in zebra
Add a null check in bgp_address_del() function when connected
addresses are removed.
BGP: Show more meaningful outq value in 'show ip bgp summary'
output.
BGP: Event-driven route announcement taking into account min route
advertisement interval
Vipin Kumar (17):
bgpd: update delay
bgpd: table-map feature
'neighbor <if-name> interface' config support in BGP including
RA/Zebra changes.
bgpd: update prefix packing optimizations
Make the private AS number check 4 byte compatible.
Block configuration and installation of martians
Support for 'clear ip ospf interface [IFNAME]'
Update router-LSA when nbr's interface-ID changes
Support for 'clear ipv6 ospf6 interface [ifname]
Add the missing ospf6 running check in show cmds
OSPF: Make destination of p2p to multicast for LS-ACKS
OSPFv3: LA (local-address) bit related inter-op fix.
OSPFv3: Fixing a couple of issues with ospf6_route_remove ()
routine.
OSPFv3: Adding the initialization check in ospfv3_clean()
OSPF: Fix shutdown scenario
BGP: Add maxmed command
ospf6d: Fix loss of hello's on interface
Vivek Venkatraman (4):
BGP: Make source interface selection in BGP for nexthop
determination
more robust
lib: Some small enhancements to thread and workqueue libraries in
zebra:
BGP: Changes to improve BGP convergence time:
BGPd: Make ipv6 unicast/multicast address-family work
bgpd/Makefile.am | 5 +-
bgpd/bgp_advertise.c | 55 +-
bgpd/bgp_advertise.h | 29 +
bgpd/bgp_aspath.c | 176 +++-
bgpd/bgp_aspath.h | 14 +-
bgpd/bgp_attr.c | 234 ++---
bgpd/bgp_attr.h | 12 +-
bgpd/bgp_clist.c | 15 +-
bgpd/bgp_damp.c | 1 +
bgpd/bgp_debug.c | 1121 +++++++++++++++++++-----
bgpd/bgp_debug.h | 39 +-
bgpd/bgp_ecommunity.c | 1 +
bgpd/bgp_filter.c | 31 +-
bgpd/bgp_filter.h | 4 +-
bgpd/bgp_fsm.c | 829 ++++++++++++++++--
bgpd/bgp_fsm.h | 24 +
bgpd/bgp_main.c | 33 +-
bgpd/bgp_mpath.c | 61 +-
bgpd/bgp_mpath.h | 6 +-
bgpd/bgp_mplsvpn.c | 1 +
bgpd/bgp_network.c | 141 ++-
bgpd/bgp_network.h | 2 +-
bgpd/bgp_nexthop.c | 1151 +++----------------------
bgpd/bgp_nexthop.h | 42 +-
bgpd/bgp_nht.c | 517 +++++++++++
bgpd/bgp_nht.h | 58 ++
bgpd/bgp_open.c | 25 +-
bgpd/bgp_packet.c | 857 +++++++++++--------
bgpd/bgp_packet.h | 14 +-
bgpd/bgp_regex.c | 2 +
bgpd/bgp_route.c | 1934
++++++++++++++++++++++++++++++------------
bgpd/bgp_route.h | 40 +-
bgpd/bgp_routemap.c | 1039 +++++++++++++++++++----
bgpd/bgp_table.c | 1 +
bgpd/bgp_table.h | 1 +
bgpd/bgp_vty.c | 1954
+++++++++++++++++++++++++++++++-----------
bgpd/bgp_vty.h | 4 +
bgpd/bgp_zebra.c | 733 ++++++++++++----
bgpd/bgp_zebra.h | 9 +-
bgpd/bgpd.c | 852 +++++++++++++++----
bgpd/bgpd.h | 140 ++-
configure.ac | 5 +-
doc/bgpd.texi | 41 +
doc/next-hop-tracking.txt | 326 +++++++
doc/routemap.texi | 4 +
isisd/isisd.c | 5 +-
lib/Makefile.am | 4 +-
lib/bitfield.h | 102 +++
lib/command.c | 2 +-
lib/command.h | 9 +-
lib/filter.c | 9 +
lib/if.c | 61 ++
lib/if.h | 17 +
lib/libospf.h | 6 +
lib/log.c | 27 +-
lib/log.h | 12 -
lib/memtypes.c | 6 +
lib/nexthop.c | 168 ++++
lib/nexthop.h | 93 ++
lib/plist.c | 14 +-
lib/prefix.h | 15 +-
lib/route_types.pl | 23 +-
lib/routemap.c | 531 +++++++++++-
lib/routemap.h | 33 +-
lib/thread.c | 14 +-
lib/thread.h | 6 +
lib/workqueue.c | 37 +-
lib/workqueue.h | 3 +
lib/zclient.c | 105 ++-
lib/zclient.h | 9 +
lib/zebra.h | 9 +-
ospf6d/ospf6_abr.c | 553 ++++++++----
ospf6d/ospf6_abr.h | 7 +-
ospf6d/ospf6_area.c | 323 ++++++-
ospf6d/ospf6_area.h | 7 +-
ospf6d/ospf6_asbr.c | 92 +-
ospf6d/ospf6_asbr.h | 1 +
ospf6d/ospf6_flood.c | 5 +-
ospf6d/ospf6_flood.h | 2 +
ospf6d/ospf6_interface.c | 78 +-
ospf6d/ospf6_interface.h | 8 +-
ospf6d/ospf6_intra.c | 116 ++-
ospf6d/ospf6_lsa.h | 1 +
ospf6d/ospf6_lsdb.c | 35 +-
ospf6d/ospf6_lsdb.h | 4 +
ospf6d/ospf6_main.c | 4 +
ospf6d/ospf6_message.c | 14 +-
ospf6d/ospf6_network.c | 10 +-
ospf6d/ospf6_network.h | 2 +-
ospf6d/ospf6_route.c | 291 ++++++-
ospf6d/ospf6_route.h | 56 +-
ospf6d/ospf6_spf.c | 152 ++--
ospf6d/ospf6_spf.h | 6 +-
ospf6d/ospf6_top.c | 10 +
ospf6d/ospf6_zebra.c | 109 ++-
ospf6d/ospf6_zebra.h | 2 +
ospf6d/ospf6d.c | 8 +
ospfd/ospf_abr.h | 1 -
ospfd/ospf_asbr.c | 5 +-
ospfd/ospf_asbr.h | 3 +-
ospfd/ospf_dump.c | 2 +-
ospfd/ospf_interface.c | 13 +-
ospfd/ospf_lsa.c | 45 +-
ospfd/ospf_main.c | 1 +
ospfd/ospf_network.c | 36 +
ospfd/ospf_nsm.c | 28 +-
ospfd/ospf_packet.c | 291 ++++---
ospfd/ospf_packet.h | 2 +
ospfd/ospf_route.c | 4 +
ospfd/ospf_route.h | 1 +
ospfd/ospf_routemap.c | 223 ++++-
ospfd/ospf_spf.c | 7 -
ospfd/ospf_vty.c | 199 ++++-
ospfd/ospf_vty.h | 1 +
ospfd/ospf_zebra.c | 49 +-
ospfd/ospfd.c | 2 +
ospfd/ospfd.h | 9 +-
ripd/rip_routemap.c | 51 +-
ripngd/ripng_routemap.c | 24 +-
tests/aspath_test.c | 1 +
tests/bgp_capability_test.c | 9 +-
tests/bgp_mp_attr_test.c | 9 +-
tests/bgp_mpath_test.c | 4 +-
tests/ecommunity_test.c | 1 +
vtysh/extract.pl.in | 6 +-
vtysh/vtysh.c | 159 +++-
vtysh/vtysh.h | 4 +-
vtysh/vtysh_config.c | 2 +-
vtysh/vtysh_main.c | 42 +-
zebra/Makefile.am | 8 +-
zebra/connected.c | 33 +-
zebra/connected.h | 1 +
zebra/debug.c | 30 +
zebra/debug.h | 3 +
zebra/if_netlink.c | 1 +
zebra/interface.c | 35 +
zebra/ioctl.c | 1 +
zebra/kernel_null.c | 1 +
zebra/redistribute.c | 50 +-
zebra/redistribute_null.c | 1 +
zebra/rib.h | 124 +--
zebra/rt_netlink.c | 117 ++-
zebra/rt_netlink.h | 3 +-
zebra/rtadv.c | 81 +-
zebra/rtread_netlink.c | 1 +
zebra/zebra_fpm_netlink.c | 8 +-
zebra/zebra_rib.c | 706 +++++++++++-----
zebra/zebra_rnh.c | 762 +++++++++++++++++
zebra/zebra_rnh.h | 54 ++
zebra/zebra_rnh_null.c | 21 +
zebra/zebra_routemap.c | 953 ++++++++++++++++++++-
zebra/zebra_vty.c | 1976
+++++++++++++++++++++++++++++++++++++------
zebra/zserv.c | 558 +++++++++++-
zebra/zserv.h | 51 ++
154 files changed, 17636 insertions(+), 4976 deletions(-)
create mode 100644 bgpd/bgp_nht.c
create mode 100644 bgpd/bgp_nht.h
create mode 100644 doc/next-hop-tracking.txt
create mode 100644 lib/bitfield.h
create mode 100644 lib/nexthop.c
create mode 100644 lib/nexthop.h
mode change 100755 => 100644 lib/route_types.pl
create mode 100644 zebra/zebra_rnh.c
create mode 100644 zebra/zebra_rnh.h
create mode 100644 zebra/zebra_rnh_null.c
--
1.9.1
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev