Commit Graph

40 Commits

Author SHA1 Message Date
Michael Davidsaver 0fdfeb72d1 Add testudpfwd 2023-04-10 08:47:15 -07:00
Michael Davidsaver b31a354915 improve localhost multicast forwarding
On Linux (at least) packets received through the LO
may have non-LO origin addresses...
2023-04-10 08:44:37 -07:00
Michael Davidsaver 303bc61079 apply loc_bad_alloc to owned_ptr
Distinguish location of owned_ptr failure
2023-03-28 15:21:39 -07:00
Michael Davidsaver 6f770d0ea3 final-ize some derived types 2023-03-20 09:41:41 -07:00
Michael Davidsaver a9699be7e8 minor 2023-01-31 09:54:10 -08:00
Michael Davidsaver db6b7ba34b minor 2022-12-27 11:16:35 -08:00
Michael Davidsaver c66c0fd100 fix printf() spec 2022-04-05 12:00:22 -07:00
Michael Davidsaver 9b4ea35834 testget cover AF_INET6 2022-04-05 07:57:16 -07:00
Michael Davidsaver d0b62d695f udp_collector: fix listener filtering 2022-04-05 07:57:16 -07:00
Michael Davidsaver df4289b4e6 IPv6+mcast support 2022-04-05 07:57:16 -07:00
Michael Davidsaver 923c423055 epicsThreadOnce() wrapper
Ensure exceptions are propagated
2022-04-05 07:57:16 -07:00
Michael Davidsaver 7a65a85c99 client: add discover() and pvxlist 2022-04-05 07:57:16 -07:00
Michael Davidsaver d77ef29b53 quiet warning 2022-04-05 07:57:16 -07:00
Michael Davidsaver bd9c3cc338 UDPListener add mcast 2022-04-05 07:57:16 -07:00
Michael Davidsaver 47ebfd5371 Accept CMD_ORIGIN_TAG
Implement local mcast hack
2022-04-05 07:57:16 -07:00
Michael Davidsaver f67f27e96b Portable capture of destination interface and IP address
Use recvmsg() and control messages IP_PKTINFO (Linux, OSX, Windows)
or IP_ORIGDSTADDR and IP_RECVIF (RTEMS w/ libbsd) to find the
index of the logical interface through which a UDP packet was received,
and the destination address from the IPv4 header.

Also, clear IP_MULTICAST_ALL on Linux to disable non-compliant legacy brokenness
and receive only those multicasts we are interested in.
2022-04-05 07:57:16 -07:00
Michael Davidsaver 4ee7ce2108 ignore beacons with proto!='tcp' 2021-08-30 13:54:12 -07:00
Michael Davidsaver 6c822ac51a change UDPManager ownership
Avoid strong ref UDPCollector -> UDPManager
2021-07-28 13:07:25 -07:00
Michael Davidsaver e3465b7ee8 plumb file+line through _to_wire/_from_wire 2021-06-27 10:17:14 -07:00
Michael Davidsaver 8981488cfa minor 2021-05-17 09:51:31 -07:00
Michael Davidsaver a064677e36 detect UDP RX buffer overflows
On Linux, use SO_RXQ_OVFL to snoop on the OS dropped packet
counter for our socket buffer.  Does not detect drops on
ingress, or internal to, to OS IP stack.
2021-01-28 07:44:32 -08:00
Michael Davidsaver 76764cf978 xcode: capture file:line of fault() 2021-01-12 11:32:10 -08:00
Michael Davidsaver c127e5ae1f do beacon clean on UDP worker 2020-03-02 15:37:43 -08:00
Michael Davidsaver 187def97f9 fix UDPCollector sharing 2020-02-23 19:43:39 -08:00
Michael Davidsaver 99ce43c0eb prefer log_*_printf() 2020-02-19 07:10:52 -08:00
Michael Davidsaver fecdd52e70 update logging 2019-12-19 18:42:39 -08:00
Michael Davidsaver 92c513d6dd de-templateize xcode 2019-12-10 19:28:54 -08:00
Michael Davidsaver 6292776629 normalize message names to CMD_* 2019-11-20 10:39:30 -08:00
Michael Davidsaver 083bad3e28 redo namespaces 2019-11-19 16:08:03 -08:00
Michael Davidsaver bab82affb8 redo packet build/parse
now with evbuffer
2019-11-19 16:06:43 -08:00
Michael Davidsaver 06e780872b progress 2019-11-19 16:06:43 -08:00
Michael Davidsaver 985687a54d test UDP handling 2019-10-27 20:57:11 -07:00
Michael Davidsaver c886205110 redo UDP handling 2019-10-27 16:19:59 -07:00
Michael Davidsaver 84ac6ed091 move sockaddr wrapper to public API 2019-10-24 10:38:25 -07:00
Michael Davidsaver 8c40929e5c all sorts of changes 2019-10-23 13:29:31 -07:00
Michael Davidsaver 4f13e21e7b avoid global static dtor
weak_ptr ctor is constexpr, but it has a dtor.
2019-10-23 10:21:44 -07:00
Michael Davidsaver 9ff6de6ecf must stop c++ exception in C callbacks 2019-10-23 10:03:29 -07:00
Michael Davidsaver 5301785233 drop sockaddr_storage 2019-10-22 18:27:53 -07:00
Michael Davidsaver c77281128f log hex 2019-10-21 16:27:47 -07:00
Michael Davidsaver 466044d6a5 initial 2019-10-19 20:17:39 -07:00