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

Reply via email to