Skip to content
Permalink
Branch: master
Commits on Apr 18, 2019
  1. zebra: Update flag output for route entry dump

    donaldsharp committed Apr 17, 2019
    Update the nexthop flag output for the route entry dump to
    include all possible flag states be output.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  2. zebra: Run nexthop_active_check once

    donaldsharp committed Apr 16, 2019
    We currently run nexthop_active_check multiple times.  Make the
    code run once and figure out state from that.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  3. zebra: Double check is not necessary in nexthop_active_update

    donaldsharp committed Apr 16, 2019
    The nexthop_active_update command looks at each individual
    nexthop and decides if it has changed.  If any nexthop
    has changed we will set the re->status to ROUTE_ENTRY_CHANGED
    and ROUTE_ENTRY_NEXTHOPS_CHANGED.
    
    Additionally the test for old_nh_num != curr_active
    makes no sense because suppose we have several events
    we are processing at the same time and a total ecmp
    of 16 but 14 are active at the start and 14 are active
    at the end but different interfaces are up or down.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  4. lib, zebra: Remove unused flag

    donaldsharp committed Apr 16, 2019
    The NEXTHOP_FLAG_FILTERED went away when we started treating
    static routes like every other route in the system.  This was
    a special case for handling static route code that just didn't
    get finished cleaning up.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  5. zebra: nexthop_active_update does not need set

    donaldsharp committed Apr 16, 2019
    We are effectively calling nexthop_active_update() on every
    route entry being processed for installation at least 2 times.
    This is a bit ridiculous.  We need to resolve the nexthops
    when we know a route has changed in some manner, so do so.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  6. lib: Add a counter for number of nexthops

    donaldsharp committed Feb 15, 2019
    Add a ability to count the number of nexthops in a nexthop_group.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  7. tests: bgp_l3vpn_to_bgp_vrf were bailing to quickly

    donaldsharp committed Apr 18, 2019
    The tests are not coming up consistently on my test box.  Add a bit of wait
    time to test to allow normal bgp when the first attempt doesn't come up.
    Especially since bgp timeouts are 120 seconds with non datacenter compiles.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Commits on Apr 17, 2019
  1. ospf6d: listhead returns a listnode *

    donaldsharp committed Apr 17, 2019
    The ospf6_route_get_first_nh_index function call calls
    listhead which returns a (listnode *) but we are casting
    it to a (struct ospf6_nexthop *) and away we go.
    
    Fixes: #4142
    Found By: Kwind
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Commits on Apr 16, 2019
  1. Merge pull request #4147 from mjstapp/fix_pim_zebra_warning

    donaldsharp committed Apr 16, 2019
    pimd: fix compile warnings
Commits on Apr 12, 2019
  1. zebra: Add hidden 'show frr' command

    donaldsharp committed Apr 12, 2019
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Commits on Apr 11, 2019
  1. Merge pull request #4119 from pacovn/201904_master__pw_fixes

    donaldsharp committed Apr 11, 2019
    zebra: pseudowire event recovery (DoS fix)
Commits on Apr 10, 2019
  1. Merge pull request #4115 from Wojtek242/wojtek242/doc-overview-fix

    donaldsharp committed Apr 10, 2019
    doc: replace old text with info about integrated configuration mode
Commits on Apr 9, 2019
  1. pimd: Add JoinDesired(S,G) to deciding to set spt bit

    donaldsharp committed Apr 9, 2019
    The decision for Update_SPTbit(S,G, iif) includes a test
    for JoinDesired(S,G) in section 4.2.2.  When we were deciding
    to update the spt bit we were not taking this into account.
    
    This commit fixes this issue.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  2. pimd: Update state when receiving S,G join when in S,G RPT Prune state

    donaldsharp committed Apr 8, 2019
    When we receive a S,G join and the ifchannel is in S,G RPT Prune state,
    pim should transition the ifchannel state to JOIN and transition the
    pim_upstream state for the S,G stream.
    
    Ticket: CM-24513
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  3. pimd: Only send triggered response after all of *,G message is read

    donaldsharp committed Apr 8, 2019
    pim was sending a triggered response on every S,G RPT prune information
    read.  Suppose we had this in a *,G message:
    
    *,G
      S1, G RPT Prune
      S2, G RPT Prune
    
    We would send two triggered *,G messages upstream.  This leads to over
    processing and quickly changing state if S1 or S2 were in different
    states.
    
    Modify the code to send just one Triggered *,G upstream after looking
    at all S,G state for a *,G.
    
    Ticket: CM-24531
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  4. Merge pull request #4095 from pacovn/201904_master__lm_aliasing_fixes

    donaldsharp committed Apr 9, 2019
    zebra: label manager race condition fix
Commits on Apr 7, 2019
  1. bgpd: Remove extra alloc function bgp_path_info_new

    donaldsharp committed Apr 7, 2019
    The bgp_path_info_new function whenever it was called
    pretty much duplicated the info_make function call.  So
    convert over to using it and remove the bgp_path_info_new
    function so people are not tempted.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  2. ospfd: rn may be null

    donaldsharp committed Apr 6, 2019
    rn is not set the first time through the do {} while (); loop
    As such we need to protect against it from being null( although
    highly unlikely to ever happen given the ospf code base.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  3. bgpd: pi->peer assignment exists no need for null check

    donaldsharp committed Apr 6, 2019
    The creation of a new `struct bgp_path_info` requires a legitimate
    peer being passed in for creation.  There exists no code paths
    where this is not true.  As such checking pi->peer for null convinces
    SA that it might happen.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  4. lib: Fixup IFF_OUT_LOG macro to make SA happy

    donaldsharp committed Apr 6, 2019
    The IFF_OUT_LOG macro is using BUFSIZE, which is the sizeof(logbuf)
    but for some reason 8.0 clang SA is not happy with it.  Just
    make it happy.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Commits on Apr 5, 2019
  1. zebra: Allow specification of v[4|6] addrs on some commands

    donaldsharp committed Apr 4, 2019
    The `show ipv[4|6] <nht|import-check> ...` commands are starting
    to produce a bunch of output due to multiple daemons now
    using the code.  Allow the specification of a v4 or v6 address
    to allow the show command to only display the interesting nht.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  2. pimd: Initiate *,G S,G RPT Prune in some cases

    donaldsharp committed Apr 5, 2019
    On the LHR after we decide that traffic is flowing and
    we set the SPT bit for the S,G *and* the incoming IIF
    of the S,G is different than the incoming IIF of the *,G
    we should immediately send the *,G S,G RPT Prune as
    a triggered response instead of waiting for the next
    cycle.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  3. pimd: Add a flag PIM_NEXTHOP_ANSWER_RECEIVED

    donaldsharp committed Apr 3, 2019
    Track whether or not we have received an answer from
    our query to do nexthop tracking.  This allows us to
    go straight to doing a synchronous query for our
    RPF.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  4. pimd: Tracking of RPF is *separate* from the lookup

    donaldsharp committed Apr 2, 2019
    Start the separation of tracking a Destination from the act
    of looking it up.  The cojoining of these two concepts led
    to a bunch of code that had to think about both problems leading
    to weird situations and code paths.  Simplify the code by making
    pim_ecmp_nexthop_search a static function and we only ever
    call pim_ecmp_nexthop_lookup when we need to do a RPF().
    
    pim_ecmp_nexthop_lookup will now attempt to find a stored pnc
    and if it finds one it will report on the answer from it.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  5. pimd: Determining if we are the RP should happen always

    donaldsharp committed Apr 3, 2019
    When creating new RP information from a `ip pim rp A.B.C.D/M A.B.C.D`
    we should determine if we are the RP even if we can or cannot
    determine if we have a path to the RP via RPF.
    
    This is because we should determine if we are the RP based upon a
    connected ip address match not whether or not we have a path to
    the RPF.  We would normally think this is not important but
    RPF is inherently asynchronous and we can have a state where
    we have registered for nht but have not received the actual
    path back yet from zebra.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  6. pimd: Zero out nhop being used

    donaldsharp committed Apr 2, 2019
    Zero out the lookup nexthop for usage, prevent a crash.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  7. Merge pull request #4093 from mjstapp/fix_vrf_sched_flag

    donaldsharp committed Apr 5, 2019
    zebra: remove unused VRF_RIB_SCHEDULED flag
Commits on Apr 4, 2019
  1. Merge pull request #3548 from opensourcerouting/rip-vrf

    donaldsharp committed Apr 4, 2019
    rip(ng)d: add VRF support
  2. staticd: Allow reinstall of static nexthops on vrf restart

    donaldsharp committed Apr 4, 2019
    When staticd receives notification that a vrf that it is using
    is back up into a state that can be used, go through and
    mark all the si data structures nexthops as not installed.
    This will allow us to complete the loop and reinstall routes
    that need to be fully resolved.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  3. zebra: Make rnh only send response once on first registration

    donaldsharp committed Apr 4, 2019
    The current code path of registration does this:
    
    a) Lookup or create the rnh
    b) register the client with the rnh for callback
       If this is a new rnh send a response to the client that
       only includes the rnh data that it has (nothing so no path)
       If this is a existing rnh send the actual path to the client,
         if it exists.
    c) If a new client or a flag has changed refigure and send result
       to all clients.
    
    This is problematic in that suppose the rnh is new.  Clients
    will receive two answers:
      1) A call back with no nexthops
      2) A call back with the resolved # of nexthops
    
    Imagine pim who depends on nht to handle this, pim will create
    a mroute( because it does a hard lookup of the rpf as it is registering
    the nexthop ), then it will receive the first callback causing
    it to tear down the mroute and then receive the second callback
    causing it to put it right back.. This is obviously not very
    good for mroutes.
    
    This code moves the send to the new client till after the new
    client has connected, thus only allowing one callback to the new
    client with the actual answer.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Commits on Apr 3, 2019
  1. lib, pbrd, zebra: Fix size_t type printf warnings on obscure platforms

    donaldsharp committed Apr 3, 2019
    Use the correct printf formater for those obscure platforms that
    we build against.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  2. bgpd, pimd: Remove undebug commands

    donaldsharp committed Apr 3, 2019
    The undebug XXX commands were deprecated over a year ago now,
    time to nuke from on high.
    
    Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
  3. Merge pull request #3789 from mjstapp/dplane_skip_kernel

    donaldsharp committed Apr 3, 2019
    zebra: support skip-kernel for dataplane updates
  4. Merge pull request #3923 from Tuetuopay/evpn-session-vrf

    donaldsharp committed Apr 3, 2019
    Add support for EVPN session in the non-default VRF
Older
You can’t perform that action at this time.