Commit Graph

9130 Commits

Author SHA1 Message Date
Donald Sharp
c996743b78 Merge pull request #1282 from opensourcerouting/ldpd-minor-issues
ldpd minor issues
2017-10-03 20:19:11 -04:00
Donald Sharp
e6b0b03763 Merge pull request #1267 from opensourcerouting/ldpd_cli_show
ldpd: add more filtering options in some "show" commands
2017-10-03 16:23:28 -04:00
Renato Westphal
547322cb0f ldpd: detach stdin/stdout/stderr from the child processes
Doing a "ssh user@node 'ldpd -d'" was making the SSH session hang. In
the original OpenBSD's ldpd(8) daemon, the daemon function takes care
of connecting stdin/stdout/stderr to /dev/null. In the FRR port, this
only happens in the frr_run() function, after all children have been
forked. Ideally we could try to rearrange libfrr.c and ldpd.c in a way
that start_child() is called only after the parent connects the standard
I/O streams to /dev/null. But since this issue needs an immediate
fix, let's do this workaround for now. Note: even when running on the
foreground, all log messages from the child processes are sent to the
parent process, which then prints the messages to stdout/stderr and/or
to a log file.

Reported-by: Martin Winter <mwinter@opensourcerouting.org>
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-10-03 17:16:32 -03:00
Renato Westphal
3b2d98c58e ldpd: fix issue when displaying the running configuration
More than a cosmetic fix, this should prevent issues with frr-reload.py.

Before:

mpls ldp
 router-id 1.1.1.1
 !
 address-family ipv4
  discovery transport-address 1.1.1.1
  !
  interface rt1-eth0
   discovery hello holdtime 10
   discovery hello interval 3
 exit-address-family
 !
!

After:

mpls ldp
 router-id 1.1.1.1
 !
 address-family ipv4
  discovery transport-address 1.1.1.1
  !
  interface rt1-eth0
   discovery hello holdtime 10
   discovery hello interval 3
  !
 exit-address-family
 !
!

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-10-03 16:31:37 -03:00
Renato Westphal
16cd3d9d4a ldpd: remove the "discovery targeted-hello" commands from the interface node
These commands belong only in the global LDP node and in the LDP
address-family nodes.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-10-03 16:30:11 -03:00
Renato Westphal
7991dc323e ldpd: fix wrong indentation in the help menu
The -n option was not aligned with the other ones:

% ldpd --help
[snip]
  -A, --vty_addr     Set vty's bind address
  -P, --vty_port     Set vty's port number
      --ctl_socket   Override ctl socket path
-n,   --instance     Instance id

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-10-03 16:30:07 -03:00
Jafar Al-Gharaibeh
5efddfb813 Merge pull request #1111 from chiragshah6/mdev
ospfd: OSPFv2 VRF Support
2017-10-03 13:09:59 -05:00
Jafar Al-Gharaibeh
f93a3c71d8 Merge pull request #1281 from donaldsharp/boo_memset
lib: Fix memset usage
2017-10-03 11:59:19 -05:00
Chirag Shah
f1a0393033 ospfd: OSPFv2 VRF remove iflist from master
Remove instances of ospf master's iflist and use vrf_list
with ospf vrf_id.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-03 09:22:47 -07:00
Chirag Shah
e1b18df1ea ospfd: fix vrf bind sock non-linux system
For non GNU_LINUX like open Bsd avoid sending packet
to non vrf aware device using in_pktinfo.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-03 09:22:47 -07:00
Chirag Shah
e7503eab31 ospfd: Bind socket to vrf device
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-03 09:22:47 -07:00
Chirag Shah
35955c14c2 ospfd: OSPFv2 VRF fixesI
Fix ospf interface running config to display vrf
fix clang warnings

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-03 09:22:47 -07:00
Chirag Shah
43b8d1d8a1 ospfd: OSPFv2 VRF Changes II
Accomodate review comments

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-03 09:15:20 -07:00
Chirag Shah
c0f3f7cdf8 ospfd: fix clang warning & ci-ospf test
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-03 09:15:19 -07:00
Chirag Shah
0d31e63e3e ospfd: OSPFv2 VRF, fix CLAN SA warning
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-03 09:15:19 -07:00
Chirag Shah
b5a8894de6 ospfd: OSPFv2 VRF Support
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-03 09:15:19 -07:00
Donald Sharp
7faf667af6 lib: Fix memset usage
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-03 12:03:56 -04:00
Jafar Al-Gharaibeh
cb64dec0d6 Merge pull request #1278 from chiragshah6/ospf_vrf_dev
ospfd: Fix maxage_lsa lookup key
2017-10-03 10:41:00 -05:00
Quentin Young
07fb10ad90 Merge pull request #1263 from vjardin6WIND/cleanup
Cleanup - scan-build
2017-10-03 11:39:59 -04:00
Jafar Al-Gharaibeh
09045d298d Merge pull request #1262 from dwalton76/vtysh-conft-available2
tools: frr-reload.py should exit(1) if vtysh config mode is locked
2017-10-03 10:34:33 -05:00
Chirag Shah
dcc3ef8723 ospfd: Fix maxage_lsa lookup key
maxage_lsa using prefix structure to store in route_table.
The lsa pointer is 4-8 bytes depending on arch, but prefix member field
would be 1 byte. Use ptr field of prefix structure to store lsa pointer.
Also memset to initialize to avoid crash on ARM platform as same LSA is
referenced from multiple times during shutdown of ospf.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-02 14:17:11 -07:00
Jafar Al-Gharaibeh
98e6d77f93 Merge pull request #1259 from qlyoung/vtysh-warn-mi
vtysh: 'x not running' redux
2017-10-02 15:19:21 -05:00
Jafar Al-Gharaibeh
00d89a0e57 Merge pull request #1250 from chiragshah6/ospf_vrf_dev
ospfd: fix virtual-link config command
2017-10-02 14:03:42 -05:00
Renato Westphal
47cf17fd59 Merge pull request #1277 from donaldsharp/zebra_crash
Zebra crash and valgrind issues
2017-10-02 14:05:54 -03:00
Chirag Shah
baf9eaad50 ospfd: ospf use macro for authentication
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-02 09:52:43 -07:00
Renato Westphal
36a58930ff Merge pull request #1254 from donaldsharp/irdp_no_crash
zebra: Fix irdp so it doesn't crash when looked at
2017-10-02 12:41:24 -03:00
Donald Sharp
f88bd20c39 zebra: Cleanup ptm memory *after* we tell the sockets to clean up
The zebra_ptm_finish() code was being called before the
client_list deletion.  The client_list deletion is
attempting to call the ptm daemon and shut down the connection.
We should not be doing this *after* we shut down memory associated
with it as that we were writing into memory in random spots
in this case.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-02 11:06:09 -04:00
Donald Sharp
b8aa376766 zebra: Properly initialize memory for rtadv
The adata pointer was not properly being set to
0 before being used.  In addition notice malloc
failure and hard exit.  If we have no memory on
startup something terrible has gone wrong and
we were going to crash shortly here anyways.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-02 11:06:06 -04:00
Donald Sharp
75d07b8b83 Merge pull request #1276 from opensourcerouting/isis-fix-vertex-queue
isisd: fix vertex queue comparator
2017-10-02 10:51:07 -04:00
Donald Sharp
cbaca6a144 zebra: Fix valgrind report of unintialized data
When calling the kernel we are not properly initializing
iov and msg on function startup.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-02 10:42:53 -04:00
Christian Franke
60d3914270 isisd: fix vertex queue comparator
While vertizes should be strictly ordered on insertion, deletion
will of course encouter equality.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2017-10-02 16:03:11 +02:00
Vincent JARDIN
04d14c8be1 scan-build: fix warning
Do not change the implementation, just fix scan-build/clang warning.
2017-10-02 09:14:03 +02:00
Vincent JARDIN
89a48046dd ospf_packet: scan-build/clang clean up
get the code safer using snprintf().
2017-10-02 09:14:03 +02:00
Vincent JARDIN
c31a793b48 scan-build: cleanup some warnings
Current cleanup is for unset values or variables that are not used anymore.

Regarding ospfd/ospf_vty.c: argv_find()
  we'll never get it NULL, so get coststr = argv[idx]->arg;
2017-10-02 09:14:03 +02:00
Vincent JARDIN
80a5a11bb1 sha256: fix clang warning
t0 and t1 are not used, but want do really want them to be reset to secure
the stack.
Suggested by Quentin: let's use memset() to be consistent.
2017-10-02 09:14:03 +02:00
Jafar Al-Gharaibeh
51dcd4c376 Merge pull request #1260 from donaldsharp/logrotate
debian: Fix logrotate when FRR is not running
2017-09-30 22:49:27 -05:00
Jafar Al-Gharaibeh
14dc41be15 Merge pull request #1265 from donaldsharp/pim_fill
pimd: Add 'show ip mroute fill' command
2017-09-30 22:48:37 -05:00
Jafar Al-Gharaibeh
bc5dcce7da Merge pull request #1271 from donaldsharp/multiplier
lib: Fix abbreviation
2017-09-30 22:47:43 -05:00
Chirag Shah
cbb9b53d32 ospfd: fix area virtual-link command
Adjust to review comments

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-09-30 19:50:44 -07:00
Chirag Shah
55d1da2490 ospfd: ospf virtual-link fix
Initialize idx to 0 and remove reassignment of idx

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-09-29 10:52:11 -07:00
Renato Westphal
867be27151 Merge pull request #1255 from qlyoung/vtysh-remove-double-slash
vtysh: remove extra / in config path
2017-09-29 14:47:48 -03:00
Donald Sharp
b077b2e658 lib: Fix abbreviation
The word Multiplier has been abbreviated to 'Mul' in
the output.  This apparently is causing people
angst.  Write word out.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-09-29 11:53:53 -04:00
Quentin Young
3607783335
lib: remove extra / in other paths
Non-integrated config paths need the treatment as well.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-09-29 11:26:11 -04:00
Renato Westphal
c00ad29fc4 Merge pull request #1236 from donaldsharp/interface_startup
zebra: Do not allow same rib_dest_t be queued multiple times to meta …
2017-09-28 22:04:02 -03:00
Renato Westphal
f0722791a0 ldpd: add more filtering options in some "show" commands
Being able to filter the output of some "show" commands is super useful
when troubleshooting large MPLS networks.

Examples:

% show mpls ldp ipv4 binding 10.0.0.48/29 longer-prefixes neighbor 192.168.0.5
AF   Destination          Nexthop         Local Label Remote Label  In Use
ipv4 10.0.0.48/30         192.168.0.5     24          26                no
ipv4 10.0.0.52/30         192.168.0.5     25          27                no

% show mpls ldp ipv4 binding 10.0.0.48/29 longer-prefixes neighbor 192.168.0.5 detail json
{
  "10.0.0.48\/30":{
    "localLabel":"24",
    "advertisedTo":[
      {
        "neighborId":"192.168.0.5"
      }
    ],
    "remoteLabels":[
      {
        "neighborId":"192.168.0.5",
        "label":"26",
        "inUse":0
      }
    ]
  },
  "10.0.0.52\/30":{
    "localLabel":"25",
    "advertisedTo":[
      {
        "neighborId":"192.168.0.5"
      }
    ],
    "remoteLabels":[
      {
        "neighborId":"192.168.0.5",
        "label":"27",
        "inUse":0
      }
    ]
  }
}

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-09-28 21:51:05 -03:00
Renato Westphal
9e452e5dd1 ldpd: improve ordering of interfaces on user output
Before:

debian# show mpls ldp interface
AF   Interface   State  Uptime   Hello Timers  ac
ipv4 rt0-eth0    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth1    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth10   ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth11   ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth2    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth3    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth4    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth5    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth6    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth7    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth8    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth9    ACTIVE 00:00:05 5/15           1

After:

debian# show mpls ldp interface
AF   Interface   State  Uptime   Hello Timers  ac
ipv4 rt0-eth0    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth1    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth2    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth3    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth4    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth5    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth6    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth7    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth8    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth9    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth10   ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth11   ACTIVE 00:00:14 5/15           1

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-09-28 21:50:46 -03:00
Lou Berger
2d9c2ae397 Merge pull request #1261 from dwalton76/bgpd-4byte-display
bgpd: fix 4-byte AS display in bestpath-from-AS
2017-09-28 17:50:19 -04:00
Quentin Young
91fd1b8d9c
vtysh: more multi-instance fixing
Preexisting code to detect commands targeted at wrong instance didn't
work because a command applied to a disconnected vtysh_client counted as
a successful run overriding wrong instance error message

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-09-28 14:01:05 -04:00
Donald Sharp
45b7b09283 pimd: Add 'show ip mroute fill' command
When displaying the mroute table, add ability to fill
in all the missing data that for human eyes can be assumed.
This will allow people using grep over the command
can get more information.

sharpd@robot ~> sudo vtysh -c "show ip mroute fill"
Source          Group           Proto  Input      Output     TTL  Uptime
*               229.1.1.1       STATIC dum0       enp3s0     1    00:11:07 Default-IP-Routing-Table
*               229.1.1.1       STATIC dum0       virbr0     1    00:01:47 Default-IP-Routing-Table
sharpd@robot ~>

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-09-28 08:05:20 -04:00
Chirag Shah
3d1c6dc2c6 ospfd: fix ospf virtual-link command options
use argv_find to extract ospf area virtual-link command options.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-09-27 17:33:12 -07:00