Merge branch 'next'

* next:
  minor, pretty print incoming packets in unsermon
  chore, revert-candidate, change mcast port to 8134
  chore, don't complain about missing worker functions in the syslog
  minor, provide unsermon, a stripped down unserdingd
  chore, hygiene, avoid stpcpy() GNUism in ud_expand_user_cfg_file_name()
  minor, change ud_attach_mcast() signature to take a ud_work_f callback
  chore, conditionalise re-tx service on UNSERSRV guard
  Revert "minor, try unsermon with ud_recv_raw(), revert-me"
  minor, try unsermon with ud_recv_raw(), revert-me
  chore, change ud_{send,recv}_raw() signatures, return the number of bytes sent/read
  minor, bring back and build unsermon binary
  cosmetics, avoid code-dupe, define and use unserding_LIBS
  cosmetics, avoid double conditional, add {bin,sbin}_PROGRAMS within main conditional
Revert "chore, revert-candidate, change mcast port to 8134"

This reverts commit 371e95f14f5cef815eae567dde11b61e4be5f942.

The master branch will continue to use the 8653 port.
Merge branch 'next'

* next: (25 commits)
  cosmetics, use numbers for usleep() argument (ilog2)
  fix, actually wait for exactly the difference between two consecutive stamps
  cosmetics, given an idea about the order of magnitude of the micros
  minor, always output summary, even after C-c
  cosmetics, use shorter 1-char mnemonics instead of text for status output
  fix, disseminate the true length of the packet
  chore, introduce debugging output in ud-xmit
  minor, check payload lengths instead of packet lengths
  minor, support speed setting via --speed
  minor, print tick/packet summary at the end of ud-xmit
  cosmetics, use term `Network optiosn' in ud-xmit ggo
  chore, define _GNU_SOURCE to get the splice() syscall in dccp.c
  fix, include ctype.h for isprint()
  minor, kick protocore's fprinters (acting on FILE*)
  minor, be even more hexdump-like and print ascii version too
  minor, refactor pretty printing of data packets and be more hex-dump-y
  chore, build ud-itan with _GNU_SOURCE (uses getline())
  minor, disseminate packets also when the buffer is about to be full
  minor, actually disseminate ute file through network
  fix, require uterus v0.2.1
  ...
Merge branch 'next'

* next:
  minor, make sure no logging is performed in libmode
  minor, provide raw multicast sockets in libunserding
  minor, provide --restamp in ud-xmit to bang current time into scom stamps
  cosmetics, refactor work() in ud-xmit so that the main-loop ...
Merge branch 'next'

* next:
  chore, distribute gengetopted .c/.h files
  minor, migrate ud-ping util to usec resolution (don't link with -lrt)
  minor, hide __as_f() in POSIX/UNSERLIB guard as timespec is used, provide __uas_f() for public
  minor, use ud-time.h semantics (__stamp() in particular) in dso-pong
  chore, kick -lrt dependency from libunserding
  minor, kick ud_svc_update_mart() from exposed API funs and use usec resolutions in svc-pong only
  minor, provide usec resolution __ulapse() and __ustamp() in ud-time.h
chore, enable library by default

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
Merge branch 'bld/dist' into next

* bld/dist:
  chore, enable library by default
minor, introduce the concept of ud_chan_t to replace ud_handle_t

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, provide chan sender ud_chan_send()

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
Merge branch 'core/lib' into next

* core/lib:
  minor, provide chan sender ud_chan_send()
  minor, introduce the concept of ud_chan_t to replace ud_handle_t
minor, repeat mcast_inco_cb() in unsermon for beef channels

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, use chan semantics in ud-xmit, send to beef channel 8584 (UT)

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
Merge branch 'tool/ud-xmit' into next

* tool/ud-xmit:
  minor, use chan semantics in ud-xmit, send to beef channel 8584 (UT)
minor, change guards in mcast.c to UNSERSRV instead of !UNSERLIB

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, turn unsermon tool into single threaded direct monitor, do not use work/job queue

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
Merge branch 'tool/unsermon' into next

* tool/unsermon:
  minor, turn unsermon tool into single threaded direct monitor, do not use work/job queue
  minor, change guards in mcast.c to UNSERSRV instead of !UNSERLIB
  minor, repeat mcast_inco_cb() in unsermon for beef channels
cosmetics, release inlining pressure from __reuse_sock() and __linger_sock()

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, hide mcast6 multi groups in __mcast6_join()

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
cosmetics, update mcast.[ch]'s file headers

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
major, deprecate ipv4 multicast ...

IPv4 as such is an obsolete technology; go with the flow and only support v6.

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>