Commit Graph

6793 Commits

Author SHA1 Message Date
Chirag Shah
1f58d560da pimd: Fix WG/SGRpt & WG J/P processing
During processing of Join/Prune,
for a S,G entry, current state is SGRpt, when only *,G is
received, need to clear SGRpt and add/inherit the *,G OIF to S,G so
it can forward traffic to downstream where *,G is received.
Upon receiving SGRpt prune remove the inherited *,G OIF.

Testing Done:
Trigger SPT switchover, *,G path received SGRpt later data
traffic stopped S,G ages out from LHR, sends only
*,G join to upstream, verified S,G entry inherit the OIF.
Upon receiving SGRpt deletes inherited oif and retains in SGRpt state.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-04-25 12:51:58 -07:00
Chirag Shah
36b1fa8631 pimd: Enable igmp on igmp version change cli
Execute ip igmp version 3 under swp interface,
verified show running displayed 'ip igmp' configuration.
Continuous sending group membership, performed 'no ip igmp'
and verified, group membership flushed. Performed
'ip igmp version 3', verified 'show ip igmp groups'
displaying igmp membership re-populated.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-04-25 12:51:48 -07:00
Chirag Shah
633988a70d pimd: Pim Nexthop Tracking support with ECMP
In this patch, PIM nexthop tracking uses locally populated nexthop cached list
to determine ECMP based nexthop (w/ ECMP knob enabled), otherwise picks
the first nexthop as RPF.
Introduced '[no] ip pim ecmp' command to enable/disable PIM ECMP knob.
By default, PIM ECMP is disabled.
Intorudced '[no] ip pim ecmp rebalance' command to provide existing mcache
entry to switch new path based on hash chosen path.
Introduced, show command to display pim registered addresses and respective nexthops.
Introuduce, show command to find nexthop and out interface for (S,G) or (RP,G).
Re-Register an address with nexthop when Interface UP event received,
to ensure the PIM nexthop cache is updated (being PIM enabled).
During PIM neighbor UP, traverse all RPs and Upstreams nexthop and determine, if
any of nexthop's IPv4 address changes/resolves due to neigbor UP event.

Testing Done: Run various LHR, RP and FHR related cases to resolve RPF using
nexthop cache with ECMP knob disabled, performed interface/PIM neighbor flap events.
Executed pim-smoke with knob disabled.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
(cherry picked from commit cba4448178)
2017-04-25 12:51:18 -07:00
Jafar Al-Gharaibeh
c276c5657c Merge pull request #399 from donaldsharp/is_configured
ospfd: Remove unused function
2017-04-25 10:13:40 -05:00
Russ White
e546c80068 Merge pull request #403 from donaldsharp/nhrpd2
Nhrpd2
2017-04-25 10:24:23 -04:00
Donald Sharp
c1c17a0ff7 nhrpd: Fix cli changes missed
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-25 09:07:05 -04:00
Timo Teräs
d139786ae8 nhrp: parse and log command response errors from strongSwan
helps to debug configuration problems
2017-04-25 08:33:53 -04:00
Timo Teräs
8ec0c3c125 nhrp: fix potential crash when vici profile name is not configured 2017-04-25 08:33:43 -04:00
Timo Teräs
111aec1e42 nhrp: notify 'tunnel protection' changes
to triggers refresh of IKE SAs immediately on this command
2017-04-25 08:33:33 -04:00
Timo Teräs
3d3813b229 nhrp: explicitly cast ints to size_t for vici_request_vc va_list handling 2017-04-25 08:33:22 -04:00
Timo Teräs
8c01a3bd14 nhrp: fix protocol address family parsing on receive
See bugzilla #948
2017-04-25 08:33:11 -04:00
Timo Teräs
2d4eab2269 nhrp: implement 'no ip nhrp map' command
was accidentally not implemented earlier
2017-04-25 08:33:01 -04:00
Timo Teräs
0ca036b456 nhrpd: implement 'show ip nhrp nhs' 2017-04-25 08:32:46 -04:00
Martin Winter
3d7746c340 Merge pull request #400 from dwalton76/default-frr-conf
vtysh: "Command incomplete: log syslog"
2017-04-24 20:11:11 -07:00
Donald Sharp
c24c910866 ospfd: Remove unused function
ospf_if_is_configured is never used, remove.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-24 19:29:30 -04:00
Daniel Walton
27821f6a5a vtysh: "Command incomplete: log syslog"
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>

Before
======
root@spine-1[~]# cat /etc/frr/frr.conf
no log monitor
!
service integrated-vtysh-config
!
log syslog
!
log syslog informational
!
line vty
!
root@spine-1[~]#
root@spine-1[~]# vtysh -m -f /etc/frr/frr.conf
no log monitor
!
service integrated-vtysh-config
!
line 5: % Command incomplete: log syslog

root@spine-1[~]#

After
=====
root@spine-1[~]# vtysh -m -f /etc/frr/frr.conf
no log monitor
!
service integrated-vtysh-config
!
log syslog
!
log syslog informational
!
line vty
!
end
root@spine-1[~]#
2017-04-24 18:22:29 +00:00
Donald Sharp
9a09fb8e95 Merge pull request #391 from opensourcerouting/fix-no-router-ospf6
ospf6d: fix "no router ospf6"
2017-04-22 17:55:26 -04:00
Renato Westphal
34288970c4 ospf6d: fix "no router ospf6"
The "no router ospf6" command wasn't working.

Regression introduced by commit 16cedbb.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-04-22 17:51:14 -03:00
Donald Sharp
e9e27161c3 Merge pull request #388 from opensourcerouting/snap-fixes-3.0
Snap fixes 3.0
2017-04-21 20:13:31 -04:00
Martin Winter
97b0200793 doc: Add nhrpd to relevant section in Building_FRR_on_xxxx doc
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-04-21 17:43:17 -04:00
Phil Huang
aa1322f9f6 Clean installation guide with Debian/Ubuntu
Signed-off-by: Phil Huang <phil_huang@edge-core.com>
2017-04-21 17:43:17 -04:00
Phil Huang
02f3b0512a Add user frr into group frrvty
Signed-off-by: Phil Huang <phil_huang@edge-core.com>
2017-04-21 17:43:17 -04:00
Martin Winter
d851b2fc0d snapcraft: Add FPM module with command to set mode or disable it
- New snap command:
    frr.set fpm {disable | protobuf | netlink}

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-04-21 02:49:39 -07:00
Martin Winter
80b4df3b08 lib: Add CLI option --moduledir to override default module location (needed for snap support)
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-04-21 02:37:11 -07:00
Martin Winter
ae49894874 snapcraft: Add nhrpd to snap
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-04-20 18:18:40 -07:00
Martin Winter
5ae4018e5d snapcraft: Fix another old leftover of ubuntu-core in build doc
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-04-20 17:24:12 -07:00
Martin Winter
6f2a494a83 snapcraft: Update snapcraft requirements for FRR 3.0 (from 2.0)
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-04-20 16:58:24 -07:00
Donald Sharp
38d9651ab7 Merge pull request #382 from opensourcerouting/snap-doc-fixes-3.0
snapcraft: Improve README.usage.md based on feedback received
2017-04-20 18:55:21 -04:00
Martin Winter
f4c14c3a80 snapcraft: Improve README.usage.md based on feedback received
- Fix snap connect (it's now called core, not ubuntu-core)
- Add section on MPLS configuration
- Add FAQ topic on ospfd/ospf6d crashing before privs are assigned to snap
- Add pointer to official webpage

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-04-20 15:44:44 -07:00
Russ White
54cd060799 Merge pull request #379 from pguibert6WIND/frrouting_issue309_2
vtysh: remove deprecated HAVE_EVPN flag
2017-04-19 06:58:48 -04:00
Philippe Guibert
d2c1e06d83 vtysh: remove deprecated HAVE_EVPN flag
This flag prevents from entering into evpn address-family node, when
calling command from vtysh.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2017-04-19 09:40:08 +02:00
Martin Winter
3060be2af5 Merge pull request #371 from donaldsharp/as_path_fix_3.0
bgpd: Fix 'set as-path prepend last-as 10'
2017-04-17 14:47:08 -07:00
Donald Sharp
5260e25d20 bgpd: 'show .... bgp regexp WORD' fixed
The command was always just returning as part of the
bgp_regexp_show function.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-14 20:39:56 -04:00
Donald Sharp
b6ab29296f bgpd: Fix 'set as-path prepend last-as 10'
1) Fix missing newline in help string
2) Make the ability to have 10 be consistent with the stable/2.0 branch.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-14 20:13:26 -04:00
Donald Sharp
64919312d2 Merge pull request #359 from opensourcerouting/bgpd_largecomm_fix
bgpd: fixes for the "show bgp large-community" command
2017-04-10 19:21:05 -04:00
Renato Westphal
5ea207372b Merge pull request #351 from donaldsharp/ospf_fix
Some Issues fixed
2017-04-10 19:06:17 -03:00
Renato Westphal
d536095fd3 bgpd: fixes for the "show bgp large-community" command
* Fix a segfault when the "show bgp large-community" command is given
  without any optional large communities;
* Fix parsing of optional large communities. Without this fix a
  "Large-community malformed" error is shown even for valid large
  communities.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-04-10 18:49:38 -03:00
Renato Westphal
2caafa8c6f ripd: fix argv index numbers in the redistribute command
Fixes Issue#350

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-04-08 17:37:05 -04:00
Donald Sharp
08c08a35c6 lib: Fix debugs to be guarded.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-08 08:55:40 -04:00
Donald Sharp
6be4da3dfa ospfd: Fix the 'show ip ospf int ...' command
Fixed output:

robot.cumulusnetworks.com# show ip ospf int
enp0s3 is up
  ifindex 2, MTU 1500 bytes, BW 0 Mbit <UP,BROADCAST,RUNNING,MULTICAST>
  Internet Address 10.0.2.15/24, Broadcast 10.0.2.255, Area 0.0.0.0
  MTU mismatch detection:enabled
  Router ID 192.168.0.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State Waiting, Priority 1
  No backup designated router on this network
  Multicast group memberships: OSPFAllRouters
  Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
    Hello due in 9.611s
  Neighbor Count is 0, Adjacent neighbor count is 0
enp0s10 is up
  ifindex 7, MTU 1500 bytes, BW 0 Mbit <UP,BROADCAST,RUNNING,MULTICAST>
  Internet Address 192.168.201.146/24, Broadcast 192.168.201.255, Area 0.0.0.0
  MTU mismatch detection:enabled
  Router ID 192.168.0.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State Waiting, Priority 1
  No backup designated router on this network
  Multicast group memberships: OSPFAllRouters
  Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
    Hello due in 7.241s
  Neighbor Count is 0, Adjacent neighbor count is 0

robot.cumulusnetworks.com# show ip ospf int enp0s3
enp0s3 is up
  ifindex 2, MTU 1500 bytes, BW 0 Mbit <UP,BROADCAST,RUNNING,MULTICAST>
  Internet Address 10.0.2.15/24, Broadcast 10.0.2.255, Area 0.0.0.0
  MTU mismatch detection:enabled
  Router ID 192.168.0.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State Waiting, Priority 1
  No backup designated router on this network
  Multicast group memberships: OSPFAllRouters
  Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
    Hello due in 2.915s
  Neighbor Count is 0, Adjacent neighbor count is 0

robot.cumulusnetworks.com# show ip ospf int enp0s10 json
{
  "enp0s10":{
    "ifUp":true,
    "ifIndex":7,
    "mtuBytes":1500,
    "bandwidthMbit":0,
    "ifFlags":"<UP,BROADCAST,RUNNING,MULTICAST>",
    "ospfEnabled":true,
    "ipAddress":"192.168.201.146",
    "ipAddressPrefixlen":24,
    "ospfIfType":"Broadcast",
    "localIfUsed":"192.168.201.255",
    "area":"0.0.0.0",
    "routerId":"192.168.0.1",
    "networkType":"BROADCAST",
    "cost":10,
    "transmitDelayMsecs":1000,
    "state":"Waiting",
    "priority":1,
    "mcastMemberOspfAllRouters":true,
    "timerMsecs":100,
    "timerDeadMsecs":25,
    "timerWaitMsecs":25,
    "timerRetransmit":200,
    "timerHelloInMsecs":2106,
    "nbrCount":0,
    "nbrAdjacentCount":0
  }
}
robot.cumulusnetworks.com#

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-08 08:47:59 -04:00
Jafar Al-Gharaibeh
e878f5cd67 Merge pull request #338 from donaldsharp/3.0_fixes
3.0 fixes
2017-04-06 13:38:29 -05:00
Donald Sharp
fa35a883c1 *: Switchover to 3.0
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 23:20:26 -04:00
Donald Sharp
856377cc39 lib: Fix missing help strings
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 23:20:26 -04:00
David Lamparter
606eb3ad7c Merge pull request #337 from donaldsharp/more_spt_more
More spt more
2017-04-05 22:32:46 +02:00
David Lamparter
cfb38409e3 Merge pull request #333 from donaldsharp/frr
Frr
2017-04-05 22:29:39 +02:00
Donald Sharp
a7b2b1e298 pimd: Add the ability to never SPT switchover
Add the ability to allow pim to determine if we should
allow spt-switchover or not on the LHR.

Signed-off-by: Donald Sharp
2017-04-05 12:38:12 -04:00
Donald Sharp
2830b01863 pimd: Fix crash when failure to create upstream
When we have a *,G mroute that starts receiving any particular
S,G, we will get wholepkt callbacks due to the pimreg in the
OIL for the *,G.

So we need to do SPT switchover, but this can fail if we
do not have a path to the S( but we do to the RP!).

In this case fail gracefully.

Ticket: CM-15621
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 12:38:12 -04:00
Donald Sharp
850a9f99b8 pimd: Allow SPT switchover
This allows SPT switchover for S,G upon receipt of packets
on the LHR.

1) When we create a *,G from a IGMP Group Report, install
the *,G route with the pimreg device on the OIL.

2) When a packet hits the LHR that matches the *,G, we will
get a WHOLEPKT callback from the kernel and if we cannot
find the S,G, that means we have matched it on the LHR via
the *,G mroute.  Create the S,G start the KAT and run
inherited_olist.

3) When the S,G times out, safely remove the S,G via
the KAT expiry

4) When the *,G is removed, remove any S,G associated
with it via the LHR flag.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 12:38:12 -04:00
Donald Sharp
0e374d906d pimd: Add # of ifchannels to 'show ip pim int'
Add the ability to see the number of ifchannels
associated with a particular interface.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 12:38:12 -04:00
Donald Sharp
fab7c72601 doc: Cleanup 'Build the Software'
The frrouting.org web page:
https://frrouting.org/manual/Build-the-Software.html#Build-the-Software
is built from doc/install.texi.  The output on this page is a bit
missleading, let's clean it up some.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-04 20:36:16 -04:00