summaryrefslogtreecommitdiff
path: root/lib/kernel/src/dist_util.erl
Commit message (Collapse)AuthorAgeFilesLines
* Improve diagnosticsRaimo Niskanen2023-02-091-63/+72
|
* Merge branch 'maint' into masterSverker Eriksson2023-01-181-5/+55
|\
| * kernel: Accept ver5 distribution connection setupSverker Eriksson2023-01-171-5/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | We accept old 'send_name' handshake messages used by OTP-22 and older. OTP-23 or OTP-24 nodes, not using epmd, may send the old message to us if they do not know our OTP version. Hence, we accept the old 'send_name' and the accompanying 'send_complement', but we do not send them ourself. This was removed prematurely in OTP-25.0 by commit 722219f211092e0c4b919f3ba4f91df42191c0e7. Therefore versions 25.0 to 25.2.* are broken in this regard and may reject connection setup from OTP-23 and 24 not using epmd.
* | Improve traceabilityRaimo Niskanen2022-10-171-2/+2
|/
* Extend net_kernel:start/2 optionsRickard Green2022-05-251-1/+0
| | | | Introduced the 'dist_listen' and 'hidden' options.
* Merge branch 'rickard/global-fixes/24.3.3/OTP-17934' into ↵Rickard Green2022-05-251-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | rickard/global-fixes/25.0/OTP-17934 * rickard/global-fixes/24.3.3/OTP-17934: [kernel] Introduce connect_all kernel parameter [kernel] global fixes [kernel] Monitor nodeup/nodedown directly from global [kernel] Fix global group configuration [erts,kernel] Connection ID information kernel: Fix test case monitor_nodess_down_up Guarantee nodedown before nodeup messages
| * Merge branch 'rickard/global-fixes/23.3.4/OTP-17934' into ↵Rickard Green2022-05-251-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rickard/global-fixes/24.3.3/OTP-17934 * rickard/global-fixes/23.3.4/OTP-17934: [kernel] Introduce connect_all kernel parameter [kernel] global fixes [kernel] Monitor nodeup/nodedown directly from global [kernel] Fix global group configuration [erts,kernel] Connection ID information kernel: Fix test case monitor_nodess_down_up Guarantee nodedown before nodeup messages
| | * Merge branch 'rickard/global-fixes/22.3.4/OTP-17934' into ↵Rickard Green2022-05-251-1/+1
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rickard/global-fixes/23.3.4/OTP-17934 * rickard/global-fixes/22.3.4/OTP-17934: [kernel] Introduce connect_all kernel parameter [kernel] global fixes [kernel] Monitor nodeup/nodedown directly from global [kernel] Fix global group configuration [erts,kernel] Connection ID information kernel: Fix test case monitor_nodess_down_up Guarantee nodedown before nodeup messages
* | | | erts,kernel: Remove old distribution handshake codeSverker Eriksson2022-04-041-165/+42
| | | | | | | | | | | | | | | | as DFLAG_HANDSHAKE_23 is mandatory in OTP 25.
* | | | Merge branch 'maint'Sverker Eriksson2022-03-151-10/+22
|\ \ \ \ | |/ / /
| * | | Merge 'sverker/23.2.7/distr-kill-lingering-connection'Sverker Eriksson2022-03-151-10/+22
| |\ \ \ | | | | | | | | | | | | | | | into sverker/24/distr-kill-lingering-connection
| | * | | kernel: Delay kill old connection after cookie verifiedSverker Eriksson2022-03-111-8/+15
| | | | | | | | | | | | | | | | | | | | | | | | | Prevent someone to sabotage existing connection, by trying to setup a new connection, without knowing the cookie.
| | * | | kernel: Fix termination of lingering replaced connectionSverker Eriksson2022-03-111-3/+8
| | |/ /
| * | | Update copyright yearErlang/OTP2022-03-091-1/+1
| | | |
* | | | Merge branch 'maint'Rickard Green2022-02-251-21/+38
|\ \ \ \ | |/ / / | | | | | | | | | | | | * maint: Net tick intensity
| * | | Merge branch 'rickard/net-tick-intensity/23.3.4/ERIERL-732/OTP-17905' into ↵Rickard Green2022-02-251-21/+38
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rickard/net-tick-intensity/maint/ERIERL-732/OTP-17905 * rickard/net-tick-intensity/23.3.4/ERIERL-732/OTP-17905: Net tick intensity
| | * \ \ Merge branch 'rickard/net-tick-intensity/22.3.4/ERIERL-732/OTP-17905' into ↵Rickard Green2022-02-251-21/+38
| | |\ \ \ | | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | rickard/net-tick-intensity/23.3.4/ERIERL-732/OTP-17905 * rickard/net-tick-intensity/22.3.4/ERIERL-732/OTP-17905: Net tick intensity
| | | * | Net tick intensityRickard Green2022-02-251-21/+38
| | | |/
* | | | Update copyright yearErlang/OTP2022-02-151-1/+1
| | | |
* | | | Adjustments for the net_ticker_spawn_options kernel parameterRickard Green2022-02-141-1/+19
| | | |
* | | | Fix typos in lib/kernelKian-Meng, Ang2021-12-231-2/+2
| | | | | | | | | | | | | | | | Co-authored-by: Björn Gustavsson <bgustavsson@gmail.com>
* | | | Merge branch 'maint'Lukas Larsson2021-11-261-1/+3
|\ \ \ \ | |/ / /
| * | | kernel: Fix erl_epmd:address_pleaseLukas Larsson2021-11-261-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The initial check for ipv4 vs ipv6 did not use the erl_epmd interface to lookup the address which caused invalid addresses to not be resolvable by erl_epmd callback modules. Closes #5334
* | | | kernel: Fix DFLAG_MANDATORY_25_DIGEST expansionSverker Eriksson2021-11-041-1/+2
| | | | | | | | | | | | | | | | in handshake_we_started(), the connecting node.
* | | | Merge branch 'maint'Raimo Niskanen2021-08-181-22/+9
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: Update preloaded Test differing cookies with dynamic node names Implement set_cookie/1 and get_cookie/1 Clarify documentation of cookie handling Clean up handshake Cookie handling Test command line -setcookie Node Cookie Read other nodes' cookies from command line Read other nodes' cookies from command line Test differing cookies
| * | | Clean up handshake Cookie handlingRaimo Niskanen2021-08-161-22/+9
| | | |
* | | | Introduce a scheme for reusing mandatory distribution flagsBjörn Gustavsson2021-06-231-3/+17
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During distribution connect setup between two nodes, the nodes exchange flags words encoding their capabilities. The connection setup is aborted if one of the node lacks a capability that the other node requires. In version 5 of the protocol (introduced in OTP R6), there are 32 possible capabilities (each encoded in a single bit). Since it seemed that we would soon run out of capabilitiy bits, protocol version 6 (introduced in OTP 23) expanded the number of possible capability bits to 64. To avoid having to extend the number of capabilites yet again from 64 to 128 in some future release, this commit introduces a scheme to allow reusing the bit numbers for capabilities that are now mandatory. The scheme is described in lib/kernel/include/dist.hrl. There are 10 mandatory capability bits as of OTP 25. This scheme will allow reusing 9 of those capability bits as early as in OTP 27.
* | | Support of 64-bit portsRickard Green2020-12-161-2/+2
| | |
* | | Merge DFLAG_BIG_PIDS and DFLAG_HUGE_REFS into DFLAG_V4_PIDS_REFSRickard Green2020-11-161-2/+2
| | |
* | | Introduce aliases for processesRickard Green2020-11-121-0/+2
| | |
* | | Allow huge remote referencesRickard Green2020-11-031-0/+2
|/ / | | | | | | | | We previously only allowed references with 3 number words. This has now been increased to 5.
* | kernel: Fix compilation when enabling tracing in dist_utilJérôme de Bretagne2020-04-301-3/+3
| |
* | erts: Fix valgrind warning in erts_internal:get_creation()Sverker Eriksson2020-04-021-1/+4
| |
* | kernel: Add dynamic node name featureSverker Eriksson2020-03-191-75/+200
| |
* | kernel: Improved connection setup error messagesSverker Eriksson2020-03-191-4/+4
| |
* | Merge branch 'maint'Rickard Green2020-03-131-1/+1
|\ \ | |/ | | | | | | * maint: Update copyright year
| * Update copyright yearRickard Green2020-03-131-1/+1
| |
* | Merge branch 'maint'Rickard Green2020-02-101-11/+0
|\ \ | |/ | | | | | | * maint: net_kernel: improve performance of debugging functions, and fix race condition
| * net_kernel: improve performance of debugging functions, and fix race conditionMaxim Fedorov2020-02-031-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | net_kernel contains several function intended only for debugging. For example, node_info/1,2 and nodes_info(). While undocumented, these functions provide extremely valuable monitoring information. This patch fixes severl issues. First, get_status call was monitoring node, and not distribution process. It was a subject to race condition, when 'nodedown' message was never delivered. With erlang:monitor/2, race does not happen. Also it allowed to remove unneeded flush_down from dist_util. Second, nodes_info/0 was implemented sequentially, being quite slow. Now it is concurrent enough to complete within a second even with thousands nodes in a cluster. Third, nodes_info/0 was traversing the same sys_dist table two times, where one was enough. Fourth, dialyzer specs are somewhat helpful too.
* | Improve distribution handshakeSverker Eriksson2020-01-141-77/+239
| |
* | Distributed spawn improvementsRickard Green2019-12-181-0/+2
| |
* | kernel: Add test for rejecting dist flagsLukas Larsson2019-11-191-1/+6
|/
* erts: Implement fragmentation of distrubution messagesLukas Larsson2019-02-221-0/+2
|
* erts: Move reason in dist messages to payloadLukas Larsson2019-02-211-0/+2
| | | | | | | | | | | | | | | | | | The dist messages EXIT, EXIT2 and MONITOR_DOWN have been updated with new versions that send the reason term as part of the payload of the message instead of as part of the control message. This allows the decode of the reason to be done by the receiving process instead of the dist entry which in turn makes it possible for multiple decodes to be done in parallel. This change is done in order to make it easier to fragment the potentially large payload of EXIT, EXIT2 and MONITOR_DOWN into multiple distribution messages. OTP-15611
* Allow check for node nameRaimo Niskanen2018-04-261-25/+51
|
* Open for host and node allow listRaimo Niskanen2018-04-231-22/+59
|
* Improve node allowed checkRaimo Niskanen2018-04-191-28/+47
| | | | | | | * Move the node name check earlier * Check while still a list * Export allowed check function * Make allowed check function handle atom and list mixes
* Lift the type restrictions on seq_trace token labelsJohn Högberg2018-03-231-0/+2
| | | | OTP-14899
* Merge branch 'sverker/send-tick/OTP-14681'Sverker Eriksson2018-03-131-30/+37
|\ | | | | | | | | * sverker/send-tick/OTP-14681: kernel: Fix and improve send_tick logic
| * kernel: Fix and improve send_tick logicSverker Eriksson2017-10-121-30/+37
| | | | | | | | | | | | | | | | | | | | | | Problem 1: Tick was not sent to hidden when pending sends. Don't hidden need the tick in order to reply? Problem 2: Written packets (#tick.write) was increased even when tick was suppressed due to pending sends. Code rewritten to handle outgoing and incoming separate.