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

Reply via email to