]> git.proxmox.com Git - mirror_kronosnet.git/log
mirror_kronosnet.git
6 years agoMerge pull request #127 from kronosnet/configure-hardening2
Fabio M. Di Nitto [Sun, 18 Feb 2018 04:57:03 +0000 (05:57 +0100)]
Merge pull request #127 from kronosnet/configure-hardening2

Configure hardening

6 years ago[build] simplify Doxygen test based on Feri's input
Fabio M. Di Nitto [Sat, 17 Feb 2018 05:21:12 +0000 (06:21 +0100)]
[build] simplify Doxygen test based on Feri's input

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[build] be consistent
Fabio M. Di Nitto [Fri, 16 Feb 2018 05:30:12 +0000 (06:30 +0100)]
[build] be consistent

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[build] make man page build optional
Fabio M. Di Nitto [Fri, 16 Feb 2018 05:29:07 +0000 (06:29 +0100)]
[build] make man page build optional

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[build] check for all *int types as we use pretty much all of them
Fabio M. Di Nitto [Thu, 1 Feb 2018 04:42:34 +0000 (05:42 +0100)]
[build] check for all *int types as we use pretty much all of them

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[build] drop redundant check (it's duplicated just a few lines below)
Fabio M. Di Nitto [Thu, 1 Feb 2018 04:39:56 +0000 (05:39 +0100)]
[build] drop redundant check (it's duplicated just a few lines below)

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[build] drop unnecessary function checks
Fabio M. Di Nitto [Fri, 2 Feb 2018 04:51:21 +0000 (05:51 +0100)]
[build] drop unnecessary function checks

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[build] drop unnecessary include checks
Fabio M. Di Nitto [Thu, 1 Feb 2018 04:29:24 +0000 (05:29 +0100)]
[build] drop unnecessary include checks

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[build] fail configure if we can't find Doxygen to build man pages
Fabio M. Di Nitto [Thu, 1 Feb 2018 04:27:10 +0000 (05:27 +0100)]
[build] fail configure if we can't find Doxygen to build man pages

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[build] drop obsolete AC_PROG_LIBTOOL included in LT_INIT
Fabio M. Di Nitto [Thu, 1 Feb 2018 04:24:49 +0000 (05:24 +0100)]
[build] drop obsolete AC_PROG_LIBTOOL included in LT_INIT

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[build] enable error when checking --enable-new-dtags linker flags
Fabio M. Di Nitto [Fri, 2 Feb 2018 04:50:02 +0000 (05:50 +0100)]
[build] enable error when checking --enable-new-dtags linker flags

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years agoMerge pull request #132 from kronosnet/cross
Fabio M. Di Nitto [Tue, 13 Feb 2018 08:41:35 +0000 (09:41 +0100)]
Merge pull request #132 from kronosnet/cross

Cross-compilation support

6 years agobuild: no binaries in build-aux wander out of the build tree
Ferenc Wágner [Mon, 12 Feb 2018 11:42:48 +0000 (12:42 +0100)]
build: no binaries in build-aux wander out of the build tree

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agobuild: better separation of flags during cross-compilation
Ferenc Wágner [Mon, 12 Feb 2018 11:39:33 +0000 (12:39 +0100)]
build: better separation of flags during cross-compilation

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agobuild: kronosnetd still needs libqb on the host system
Ferenc Wágner [Mon, 12 Feb 2018 11:31:00 +0000 (12:31 +0100)]
build: kronosnetd still needs libqb on the host system

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agobuild: compile and link doxyxml for the build host
Ferenc Wágner [Sun, 11 Feb 2018 23:09:15 +0000 (00:09 +0100)]
build: compile and link doxyxml for the build host

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agobuild: use build architecture libraries for doxyxml
Ferenc Wágner [Sun, 11 Feb 2018 19:59:57 +0000 (20:59 +0100)]
build: use build architecture libraries for doxyxml

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agoMerge pull request #130 from kronosnet/modes
Fabio M. Di Nitto [Mon, 12 Feb 2018 13:07:59 +0000 (14:07 +0100)]
Merge pull request #130 from kronosnet/modes

Reword compression API documentation

6 years agoBetter wording suggested by Chrissie
Ferenc Wágner [Mon, 12 Feb 2018 11:46:17 +0000 (12:46 +0100)]
Better wording suggested by Chrissie

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agoReword the documentation of knet_handle_compress_cfg
Ferenc Wágner [Fri, 9 Feb 2018 13:56:44 +0000 (14:56 +0100)]
Reword the documentation of knet_handle_compress_cfg

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agoWe support several compression libraries by now.
Ferenc Wágner [Fri, 9 Feb 2018 13:03:42 +0000 (14:03 +0100)]
We support several compression libraries by now.

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agoMerge pull request #128 from kronosnet/debian-lz4
Fabio M. Di Nitto [Sat, 3 Feb 2018 14:10:49 +0000 (15:10 +0100)]
Merge pull request #128 from kronosnet/debian-lz4

Debian lz4

6 years ago[compress] lz4: fix builds for older lz4 releases
Fabio M. Di Nitto [Fri, 2 Feb 2018 13:18:41 +0000 (14:18 +0100)]
[compress] lz4: fix builds for older lz4 releases

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[compress] lz4: include all required headers
Fabio M. Di Nitto [Sat, 3 Feb 2018 05:43:28 +0000 (06:43 +0100)]
[compress] lz4: include all required headers

upon reading lz4hc.h, lz4.h should always be included as depedency

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years agoMerge pull request #129 from kronosnet/manpages
Fabio M. Di Nitto [Sat, 3 Feb 2018 11:41:18 +0000 (12:41 +0100)]
Merge pull request #129 from kronosnet/manpages

[man] drop dist_man_MANS leftover

6 years agodoxyfile: description of return values may be missing
Ferenc Wágner [Tue, 30 Jan 2018 11:35:00 +0000 (12:35 +0100)]
doxyfile: description of return values may be missing

6 years ago[man] drop dist_man_MANS leftover
Fabio M. Di Nitto [Sat, 3 Feb 2018 05:38:44 +0000 (06:38 +0100)]
[man] drop dist_man_MANS leftover

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years agoMerge pull request #125 from kronosnet/gcc8-fixes
Fabio M. Di Nitto [Thu, 1 Feb 2018 04:01:31 +0000 (05:01 +0100)]
Merge pull request #125 from kronosnet/gcc8-fixes

[build] make gcc8 buffer boundaries check happy

6 years ago[build] make gcc8 buffer boundaries check happy
Fabio M. Di Nitto [Thu, 1 Feb 2018 03:20:31 +0000 (04:20 +0100)]
[build] make gcc8 buffer boundaries check happy

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years agoMerge pull request #123 from kronosnet/doxyflags
wferi [Tue, 30 Jan 2018 11:54:19 +0000 (12:54 +0100)]
Merge pull request #123 from kronosnet/doxyflags

doxyxml: use AM_CFLAGS for debugging info, optimization and warnings

6 years agodoxyxml: use AM_CFLAGS for debugging info, optimization and warnings
Ferenc Wágner [Tue, 30 Jan 2018 11:16:23 +0000 (12:16 +0100)]
doxyxml: use AM_CFLAGS for debugging info, optimization and warnings

The rework of the FLAGS handling and the development of doxyxml happened
on different temporary branches, and this slipped through on the merge.

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agoMerge pull request #122 from kronosnet/skip_sctp
wferi [Tue, 30 Jan 2018 09:05:27 +0000 (10:05 +0100)]
Merge pull request #122 from kronosnet/skip_sctp

tests: skip the SCTP test if SCTP is not supported by the kernel

6 years agotests: skip the SCTP test if SCTP is not supported by the kernel
Ferenc Wágner [Mon, 1 Jan 2018 23:31:31 +0000 (00:31 +0100)]
tests: skip the SCTP test if SCTP is not supported by the kernel

For example, module loading is disabled on Debian build daemons.

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agoMerge pull request #121 from kronosnet/flags
Fabio M. Di Nitto [Tue, 30 Jan 2018 06:22:49 +0000 (07:22 +0100)]
Merge pull request #121 from kronosnet/flags

Flags

6 years agobuild: --export-dynamic is needed for dlopened modules only
Ferenc Wágner [Mon, 29 Jan 2018 11:33:12 +0000 (12:33 +0100)]
build: --export-dynamic is needed for dlopened modules only

Not that it matters on ELF platforms the least.  If Kronosnet is ever
ported to Windows, however...

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agobuild: linking with libm is unnecessary on some systems (like OS X)
Ferenc Wágner [Sun, 28 Jan 2018 22:53:51 +0000 (23:53 +0100)]
build: linking with libm is unnecessary on some systems (like OS X)

Inlining of builtin functions can eliminate the libm dependency on other
systems as well, but AC_SEARCH_LIBS can't detect this because it tests
with a false prototype.  Thus we use --as-needed linking already to trim
such unnecessary dependencies.

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agobuild: use --as-needed to avoid unnecessary dependency on libm
Ferenc Wágner [Thu, 25 Jan 2018 15:59:27 +0000 (16:59 +0100)]
build: use --as-needed to avoid unnecessary dependency on libm

I removed --as-needed in 1b96703, but now I found a good reason to use
it after all.

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agobuild: check for the --enable-new-dtags flag before using it
Ferenc Wágner [Sun, 28 Jan 2018 21:50:53 +0000 (22:50 +0100)]
build: check for the --enable-new-dtags flag before using it

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agobuild: sanitize CFLAGS handling
Ferenc Wágner [Tue, 23 Jan 2018 11:01:37 +0000 (12:01 +0100)]
build: sanitize CFLAGS handling

As for LDFLAGS previously: leave the CFLAGS "user variable" untouched to
enable easy selective overriding of the flags used by the build system.

Using $lt_prog_compiler_pic shouldn't be necessary, let's drop it and
see if anything breaks. WERROR_CFLAGS was undefined, so dropped as well.

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agobuild: we preserve CPPFLAGS, just remove the tempting hooks
Ferenc Wágner [Tue, 23 Jan 2018 10:44:38 +0000 (11:44 +0100)]
build: we preserve CPPFLAGS, just remove the tempting hooks

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agobuild: sanitize LDFLAGS handling
Ferenc Wágner [Sat, 27 Jan 2018 22:22:45 +0000 (23:22 +0100)]
build: sanitize LDFLAGS handling

The Automake manual states that according to the GNU Coding Standards
the so-called "Variables reserved for the user" mustn't be changed by
the build system, and they must override the default settings from the
build system.  The "Flag Variables Ordering" section provides the
recipes on which we build here.

Using $lt_prog_compiler_pic directly shouldn't be necessary, let's try
leaving it out.

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agobuild: LIBS belong to LDADD for binaries
Ferenc Wágner [Sat, 27 Jan 2018 22:21:18 +0000 (23:21 +0100)]
build: LIBS belong to LDADD for binaries

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agobuild: remove unused DEBUG Automake conditional
Ferenc Wágner [Tue, 23 Jan 2018 16:36:27 +0000 (17:36 +0100)]
build: remove unused DEBUG Automake conditional

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agoMerge pull request #110 from kronosnet/error_propagation
Fabio M. Di Nitto [Tue, 30 Jan 2018 04:50:12 +0000 (05:50 +0100)]
Merge pull request #110 from kronosnet/error_propagation

Add some missing error propagation

6 years agoPropagate NSS initialization errors
Ferenc Wágner [Sun, 21 Jan 2018 22:56:58 +0000 (23:56 +0100)]
Propagate NSS initialization errors

6 years agoEVP_CIPHER_block_size returns size_t, which is unsigned
Ferenc Wágner [Sun, 21 Jan 2018 22:26:50 +0000 (23:26 +0100)]
EVP_CIPHER_block_size returns size_t, which is unsigned

6 years agoPropagate OpenSSL initialization errors
Ferenc Wágner [Wed, 10 Jan 2018 21:07:28 +0000 (22:07 +0100)]
Propagate OpenSSL initialization errors

6 years agoAdd some missing error propagation
Ferenc Wágner [Wed, 3 Jan 2018 14:12:11 +0000 (15:12 +0100)]
Add some missing error propagation

6 years agoMerge pull request #119 from kronosnet/inhouse-manpage-generation
Fabio M. Di Nitto [Mon, 29 Jan 2018 10:06:40 +0000 (11:06 +0100)]
Merge pull request #119 from kronosnet/inhouse-manpage-generation

Inhouse manpage generation

6 years ago[man] do not ship precompiled doxyxml
Fabio M. Di Nitto [Sun, 28 Jan 2018 04:53:16 +0000 (05:53 +0100)]
[man] do not ship precompiled doxyxml

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[man] add build requires on doxygen
Fabio M. Di Nitto [Fri, 26 Jan 2018 11:00:21 +0000 (12:00 +0100)]
[man] add build requires on doxygen

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[man] fix man page generation external deps on doxyxml
Fabio M. Di Nitto [Fri, 26 Jan 2018 04:28:11 +0000 (05:28 +0100)]
[man] fix man page generation external deps on doxyxml

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[man] fix distcheck, build out of tree and tarball generation
Fabio M. Di Nitto [Thu, 25 Jan 2018 21:08:41 +0000 (22:08 +0100)]
[man] fix distcheck, build out of tree and tarball generation

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[man] update .gitignore
Fabio M. Di Nitto [Thu, 25 Jan 2018 17:45:29 +0000 (18:45 +0100)]
[man] update .gitignore

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[man] switch to autogenerated man pages
Fabio M. Di Nitto [Thu, 25 Jan 2018 17:44:51 +0000 (18:44 +0100)]
[man] switch to autogenerated man pages

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years agodoxyxml: Fix parameter ordering
Christine Caulfield [Thu, 25 Jan 2018 12:56:54 +0000 (12:56 +0000)]
doxyxml: Fix parameter ordering

Also tidy pointer printing and remove extraneous quotes from
the BITS IN CAPS (not sure why I did that, but it helps the diff
from the old pages)

6 years ago[man] don't output unnecessary .PP sections
Fabio M. Di Nitto [Wed, 24 Jan 2018 16:07:20 +0000 (17:07 +0100)]
[man] don't output unnecessary .PP sections

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[man] fix comma separated list in See Also section
Fabio M. Di Nitto [Wed, 24 Jan 2018 05:14:39 +0000 (06:14 +0100)]
[man] fix comma separated list in See Also section

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[man] reduce diff with the old man pages
Fabio M. Di Nitto [Wed, 24 Jan 2018 05:01:10 +0000 (06:01 +0100)]
[man] reduce diff with the old man pages

O...C...D...

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[man] first attempt to plug doxyxml to replace doxy2man
Fabio M. Di Nitto [Tue, 23 Jan 2018 17:48:31 +0000 (18:48 +0100)]
[man] first attempt to plug doxyxml to replace doxy2man

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[man] fix args parsing and help text
Fabio M. Di Nitto [Tue, 23 Jan 2018 17:47:32 +0000 (18:47 +0100)]
[man] fix args parsing and help text

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years agoUpdate .gitignore
Fabio M. Di Nitto [Tue, 23 Jan 2018 17:47:11 +0000 (18:47 +0100)]
Update .gitignore

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[man] init variable and silence gcc
Fabio M. Di Nitto [Tue, 23 Jan 2018 17:24:27 +0000 (18:24 +0100)]
[man] init variable and silence gcc

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[man] fix casting around
Fabio M. Di Nitto [Tue, 23 Jan 2018 17:22:59 +0000 (18:22 +0100)]
[man] fix casting around

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[man] define _DEFAULT_SOURCE for new features.h
Fabio M. Di Nitto [Tue, 23 Jan 2018 17:17:39 +0000 (18:17 +0100)]
[man] define _DEFAULT_SOURCE for new features.h

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[man] add libqb and libxml2 devel as general buildrequires for man pages
Fabio M. Di Nitto [Tue, 23 Jan 2018 16:35:44 +0000 (17:35 +0100)]
[man] add libqb and libxml2 devel as general buildrequires for man pages

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years agodoxyxml: Fix compiler warnings
Christine Caulfield [Tue, 23 Jan 2018 09:16:27 +0000 (09:16 +0000)]
doxyxml: Fix compiler warnings

6 years ago[man] add makefile.am
Fabio M. Di Nitto [Tue, 23 Jan 2018 06:10:27 +0000 (07:10 +0100)]
[man] add makefile.am

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[man] move doxyman to build-aux
Fabio M. Di Nitto [Tue, 23 Jan 2018 06:09:50 +0000 (07:09 +0100)]
[man] move doxyman to build-aux

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[man] drop redundant update-man-page code
Fabio M. Di Nitto [Thu, 7 Dec 2017 04:51:19 +0000 (05:51 +0100)]
[man] drop redundant update-man-page code

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years agomanpages: Generate man pages using our own command
Christine Caulfield [Mon, 22 Jan 2018 14:11:07 +0000 (14:11 +0000)]
manpages: Generate man pages using our own command

This removes the dependncy on doxy2man which is not
packaged.

Signed-off-by: Christine Caulfield <ccaulfie@redhat.com>
6 years agoMerge pull request #118 from kronosnet/runpath
Fabio M. Di Nitto [Fri, 19 Jan 2018 13:21:19 +0000 (14:21 +0100)]
Merge pull request #118 from kronosnet/runpath

Use LD_LIBRARY_PATH to find the build tree artifacts

6 years agoUse LD_LIBRARY_PATH to find the build tree artifacts and disable RPATH across the...
Fabio M. Di Nitto [Fri, 19 Jan 2018 12:42:30 +0000 (13:42 +0100)]
Use LD_LIBRARY_PATH to find the build tree artifacts and disable RPATH across the project

The libtool wrapper scripts of the test binaries set LD_LIBRARY_PATH to
find the libknet library and its modules in the build tree, but RPATH
overrides this setting.  This is why RPATH is deprecated, so we switch
to RUNPATH instead by using --enable-new-dtags, which is already the
linker default on Debian for example.

Based on the original patch from Ferenc.

Signed-off-by: Ferenc Wágner <wferi@debian.org>
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years agoMerge pull request #117 from kronosnet/ppc64
Fabio M. Di Nitto [Thu, 18 Jan 2018 12:36:19 +0000 (13:36 +0100)]
Merge pull request #117 from kronosnet/ppc64

tests: check for exported symbols in the data section as well

6 years agotests: check for exported symbols in the data section as well
Ferenc Wágner [Thu, 18 Jan 2018 10:46:30 +0000 (11:46 +0100)]
tests: check for exported symbols in the data section as well

The PowerPC64 ELFv1 ABI puts the function descriptor symbols there,
but why restrict the consistency check to the text section anyway?

Signed-off-by: Ferenc Wágner <wferi@debian.org>
6 years agoMerge pull request #115 from liu4480/typo-fix
Fabio M. Di Nitto [Wed, 17 Jan 2018 09:57:59 +0000 (10:57 +0100)]
Merge pull request #115 from liu4480/typo-fix

typo fix: change the url in spec file

6 years agotypo fix: change the url in spec file
Bin Liu [Wed, 17 Jan 2018 07:49:38 +0000 (15:49 +0800)]
typo fix: change the url in spec file

6 years agoMerge pull request #112 from kronosnet/man-pages v1.0
Fabio M. Di Nitto [Mon, 8 Jan 2018 15:26:05 +0000 (16:26 +0100)]
Merge pull request #112 from kronosnet/man-pages

[docs] Update copyright and man pages pre-1.0

6 years ago[docs] Update copyright and man pages pre-1.0
Fabio M. Di Nitto [Mon, 8 Jan 2018 14:36:47 +0000 (15:36 +0100)]
[docs] Update copyright and man pages pre-1.0

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years agoMerge pull request #111 from kronosnet/fixes
Fabio M. Di Nitto [Mon, 8 Jan 2018 13:55:38 +0000 (14:55 +0100)]
Merge pull request #111 from kronosnet/fixes

Fixes

6 years ago[PMTUd] drop (now) unnecessary and dangerous usleep
Fabio M. Di Nitto [Mon, 8 Jan 2018 11:12:19 +0000 (12:12 +0100)]
[PMTUd] drop (now) unnecessary and dangerous usleep

prior to all threads being able to notify PMTUd of EMSGSIZE errors,
we had this random usleep in there to have time to collect data.
It was working at the time, but it's a bad idea.

On super large clusters (>66 nodes) with 4 links on each node, when
applying heavy load (cpghum on all nodes at once), the average latency
between nodes can increase so much that the PMTUd thread usleep
could literally block corosync for seconds at a time.

Drop the usleep and live happily ever after

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[PMTUd] reset value or suffer the pains of DEADLOCKING! errno is per thread, not...
Fabio M. Di Nitto [Mon, 8 Jan 2018 11:11:32 +0000 (12:11 +0100)]
[PMTUd] reset value or suffer the pains of DEADLOCKING! errno is per thread, not per function

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[PMTUd] only notify PMTUd when pmtud_running and don't force a run to avoid lock...
Fabio M. Di Nitto [Mon, 8 Jan 2018 11:09:40 +0000 (12:09 +0100)]
[PMTUd] only notify PMTUd when pmtud_running and don't force a run to avoid lock fighting

When we request a writelock, we should notify PMTUd to abort and cond_signal only
if PMTUd is running.

Also, don't request an immediate rerun as we cannot guarantee that the scheduling
is favourable to our request and we could end up waiting forever.

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[stats] show loopback links as connected
Fabio M. Di Nitto [Mon, 8 Jan 2018 11:08:32 +0000 (12:08 +0100)]
[stats] show loopback links as connected

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years agoMerge pull request #105 from kronosnet/scale
Fabio M. Di Nitto [Fri, 5 Jan 2018 09:15:37 +0000 (10:15 +0100)]
Merge pull request #105 from kronosnet/scale

Scale

6 years ago[PMTUd] more typo fixes
Fabio M. Di Nitto [Thu, 4 Jan 2018 16:45:50 +0000 (17:45 +0100)]
[PMTUd] more typo fixes

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years agomeeeehhhhhh fixed on the top comment, forgot the bottom one
Fabio M. Di Nitto [Thu, 4 Jan 2018 16:44:16 +0000 (17:44 +0100)]
meeeehhhhhh fixed on the top comment, forgot the bottom one

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[PMTUd] cleanup variable usage and code around it
Fabio M. Di Nitto [Thu, 4 Jan 2018 16:38:56 +0000 (17:38 +0100)]
[PMTUd] cleanup variable usage and code around it

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years agofix missing space
Christine Caulfield [Thu, 4 Jan 2018 15:43:10 +0000 (15:43 +0000)]
fix missing space

6 years ago[PMTUd] amend warning message
Fabio M. Di Nitto [Sun, 31 Dec 2017 05:44:00 +0000 (06:44 +0100)]
[PMTUd] amend warning message

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[PMTUd] generate warning when there is a timeout receiving a response
Fabio M. Di Nitto [Sun, 31 Dec 2017 05:32:40 +0000 (06:32 +0100)]
[PMTUd] generate warning when there is a timeout receiving a response

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[PMTUd] if PMTUd is rescheduled, then enforce a new run
Fabio M. Di Nitto [Sat, 30 Dec 2017 10:07:41 +0000 (11:07 +0100)]
[PMTUd] if PMTUd is rescheduled, then enforce a new run

the usleep between each PMTUd run will give time to the other threads to grab the wrlock

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[PMTUd] make PMTUd force_run notification more quiet
Fabio M. Di Nitto [Sat, 30 Dec 2017 05:30:41 +0000 (06:30 +0100)]
[PMTUd] make PMTUd force_run notification more quiet

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[PTMUd] if any threads receives a EMSGSIZE outside of a PMTUD run, force PTMUd to run
Fabio M. Di Nitto [Sat, 30 Dec 2017 05:19:13 +0000 (06:19 +0100)]
[PTMUd] if any threads receives a EMSGSIZE outside of a PMTUD run, force PTMUd to run

Scenario:

node X has MTU Y on the interface and application is sending packets with size >= Y.

The interface MTU is suddenly reduced to < Y

Before this change, the kernel would be dropping packets till the next PMTUd run.

After this change, the PMTUd will be informed that it has to rerun (overriding
the pmtud_interval), reducing the packet drop to a minimum.

How to test:

force knet_bench to send 1500 size packets with ping_data (requires code change)
and start it.

reduce MTU on the interface from 1500 to 1300 (for example)

Notice an immediate trigger of PMTUd run in debug mode

Note: going up, from 1300 to 1500 will wait for the next PMTUd re-run as there
is no immediate way to detect this change unless we start listening to kernel
netlink sockets with libnl3 (investigation in progress but not critical enough atm).

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[PMTUd] rename pmtud_running to pmtud_waiting
Fabio M. Di Nitto [Sat, 30 Dec 2017 04:33:59 +0000 (05:33 +0100)]
[PMTUd] rename pmtud_running to pmtud_waiting

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[PTMUd] by using a safe PMTU to init a link, we can shave down corosync membership...
Fabio M. Di Nitto [Fri, 29 Dec 2017 08:53:49 +0000 (09:53 +0100)]
[PTMUd] by using a safe PMTU to init a link, we can shave down corosync membership creation by 25%

tested on a 9 node cluster with 2 links each node, going down from 4 seconds to 3 seconds

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[PMTUd] Use kernel MTU information to determine next packet size during discovery
Fabio M. Di Nitto [Fri, 29 Dec 2017 05:26:00 +0000 (06:26 +0100)]
[PMTUd] Use kernel MTU information to determine next packet size during discovery

Using this information we can, for good links (*), determine and verify the link
MTU with 2 packets.

* good links means:
node X has MTU Y configured on a given interface. Any network object between node X
and destination is capable of handling MTU >= Y.
In no case the kernel will allow us to send packets > Y.

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years ago[stats] report correct MTU for loopback links
Fabio M. Di Nitto [Wed, 27 Dec 2017 05:37:20 +0000 (06:37 +0100)]
[stats] report correct MTU for loopback links

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
6 years agoMerge pull request #108 from kronosnet/minor-fixes
Fabio M. Di Nitto [Wed, 3 Jan 2018 13:29:04 +0000 (14:29 +0100)]
Merge pull request #108 from kronosnet/minor-fixes

Minor fixes

6 years ago[tests] add missing break (detected by newer gcc)
Fabio M. Di Nitto [Wed, 3 Jan 2018 11:38:04 +0000 (12:38 +0100)]
[tests] add missing break (detected by newer gcc)

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>