Project

General

Profile

Statistics
| Branch: | Revision:

gdp-router-click / src / gdp_v4_router.cc @ master

History | View | Annotate | Download (210 KB)

# Date Author Comment
34eff361 09/24/2020 02:12 PM Eric Allman

Turn off Nagle algorithm.

4ded8992 09/24/2020 02:12 PM Eric Allman

Make sure debug output is on a debug flag.

d9ef385a 09/12/2020 11:43 AM Eric Allman

Convert gdp-router-click2 to gdp-router-click. Remove Makefile support
for the legacy version.

67d687d6 06/25/2019 11:30 AM Rick Pratt

Exit on invalid parameters in PEER argument handler.

f077ac50 06/14/2019 05:33 PM Rick Pratt

Run the coalesce map idle-to-expiration interval on 5s instead of 30s, and add nack p already enqueued detection to lessen odds of developing a nack backlog.

138a6389 06/13/2019 02:05 PM Rick Pratt

Advert conflict diagnostic message should display the inbound packet's dst field rather than the directory packet's dguid.

e203b3c7 06/13/2019 01:44 PM Rick Pratt

Verbose diagnostic message latent bug, from rush to reliably deliver adverts to rib.

6e640781 05/14/2019 03:44 PM Rick Pratt

This router commit (gdp-router-click2 major version 2) is incompatible with prior router releases (gdp-router-click2 major version 1), due to removal of the GDP_VERSION (0x84 in version field) used by the deprecated Net3 overlay header. Do not deploy version 2 and version 1 routers in the same network. Note that single router mode deployments (no mixture of router versions), rib, and clients are not impacted by this commit, which only impacts inter-router messaging.

31c2a8d8 05/07/2019 11:06 AM Rick Pratt

Revise version filename to reduce git add noise during developer workflow.

d672d917 05/06/2019 06:43 PM Rick Pratt

Changed build default to gdp-router-click2. Revised build versioning scheme to include autogenerated git branch and hash with manually updated major version value.

ce7ccf1e 05/03/2019 02:32 PM Rick Pratt

Client reports lost PDU due to corner case bug at PDU throttle limit causing PDU to be belatedly delivered after client had timed out.

ba63ba6b 04/27/2019 03:29 PM Rick Pratt

DEBUG 3 causes a single router mode restart, because the higher debug level while in single router mode activated a code coverage assert which is dormant at lower debug levels.

51c77e0a 04/24/2019 12:26 PM Rick Pratt

Introduce router version numbering.

9a4ade63 04/11/2019 09:47 AM Rick Pratt

Fix singleton advertisements not transmitting in new reliable advertisement delivery implementation.

3aa9a35e 03/30/2019 12:05 AM Rick Pratt

Change parameter name to ADVERT_TIMER and revise the default to 128000 usec.

4b971df6 03/29/2019 09:06 PM Rick Pratt

Interim reliable advertisements to RIB implementation with new ADVERT_TIMER_USECS optional configuration parameter; this update requires an updated RIB to support advertisement acks (RIB support to be committed today also). Added advertisement load test and diagnostic output. Also eliminated unnecessary double consumption of sequence ids in advertisement processing.

0a4d4011 02/28/2019 03:11 PM Rick Pratt

GDP Router library reduction by duplicating a little libgdp and libep C code.

5254ed23 02/28/2019 08:45 AM Rick Pratt

Replace GDP Router parameters DIRNAME, IP_DIR, and UDP_PORT_DIR with RIBNAME, IP_RIB, and UDP_PORT_RIB to coincide with gdp-ribd rollout, update docs to reflect change from gdp-directoryd to gdp-ribd.

cdbccb0d 01/30/2019 09:21 PM Rick Pratt

gdp-directoryd flush command packet size update missed in overhaul of otw_dir_t structure.

72019258 01/29/2019 02:40 PM Rick Pratt

Introduce idle_map_task to handle simple (pdu or pkt) forwarding sguid expiration.

7c70e24a 01/29/2019 10:01 AM Rick Pratt

Fix seq_assess boundary checks. Introduce END_SEQ_MF_OFF to hole split, and avoid second half interval if upper bound on new lower bound, integrate improvements with seq_retx filter. Uniqeuify clones of nplist, and hair pin turn nacks rather than create the reverse flow (to be multicast ready). Break retx walk when retx p is "below" (using SEQ_MP technique) current nack. Prevent nack free in wrap handler when lower sequence does not indicate wrap. Enhance diagnostics when retx map has a miss (i.e. bug).

68852766 01/18/2019 03:52 PM Rick Pratt

Fixes stalled throttle on retransmit map side during large transfers, seen when handling a nack trim only request immediately after a sequence wrap within the throttle window. Improves nack trim timing and cadence and other aspects of wind down process on coalesce map side. Moves /dev/urandom open to permanent home, adds open error check.

c3585b14 12/19/2018 06:29 PM Rick Pratt

Significant retx map and coal map rework. Enhancements: nack trim with lower bound in map elicits sequence sync to keep coal map properly engaged, no route will now recycle dst_path entries along return path, and nack will dampen retx reaction via p->shared() check before txplist enqueue. Fixes: important sequence assess boundary bug, and reposition tx_task reschedule on retx to ensure call.

89b121a5 11/30/2018 01:07 PM Rick Pratt

Add ~8 seconds of peer renegotiation delay variability.

7769aa84 11/30/2018 12:39 PM Rick Pratt

Dial display state from DINFO back to DVVERB.

33571b36 11/30/2018 12:35 PM Rick Pratt

Remove temporary/rollout state display on gdpr advert timer, restore normal state display on major fd events.

3844e589 11/29/2018 07:54 AM Rick Pratt

Move seq nack drop tx on pending find to DVVERB.

6706c770 11/28/2018 07:31 PM Rick Pratt

Experimental adjustment to address find tempo, plus a minor ccdbg line fix.

dbdaba50 11/28/2018 05:01 PM Rick Pratt

Replace dtls ttl drop assert with ccwarn.

1996a11f 11/28/2018 04:49 PM Rick Pratt

Replace assert with seq nack tx drop when pending find, and ccwarn if seq nack directed at tcp client (invalid).

22a4f490 11/28/2018 04:13 PM Rick Pratt

Remove misguided assert.

bf74b138 11/28/2018 01:30 PM Rick Pratt

Saw dupe frag assert while utilizing testbed and production routers, revise to emit a debug message and drop dupe frag for now...

acabfa65 11/28/2018 12:14 PM Rick Pratt

Engine overhaul replaces duo on fd sequencing management model (which could not address tcp client backpressure cleanly) with a (tcp client backpressure and multicast friendly) src map on dst map model.

4e81e9a6 11/05/2018 06:52 AM Rick Pratt

Refrain from supplying a default peer when some amount of configuration has been supplied, even if the config has no explicit peers, since this is useful in the testbed.

60d15dbb 11/02/2018 03:39 PM Rick Pratt

Add p_chain_recycle macro and use at appropriate points.

f687a636 10/29/2018 05:54 PM Rick Pratt

Insert default peer when not single router mode and no configured peers. Revise dns query error handling. Handle uninitialized router calling cleanup properly.

b3c0cd2b 10/26/2018 08:42 PM Rick Pratt

Revise configuration syntax so single router mode invalidates any directory configuration rather than accept and ignore.

42ff791d 10/25/2018 05:45 PM Rick Pratt

Consolidate fqdn first token append with missing non-fqdn append.

bf8eea1e 10/25/2018 04:40 PM Rick Pratt

Introduces a new automation-friendly router configuration syntax design and implementation, and simultaneously removes support for the day 0 development syntax which has served its purpose. (meaning: router config compatibility boundary)

e7fa3577 10/18/2018 12:35 PM Rick Pratt

Update router to be compatible with mfind-capable blackbox. This change is not backward compatible with pre-mfind-capable blackboxes.

2c4eab43 09/18/2018 01:26 PM Rick Pratt

With dst_map revision, _ami suffix changed to _dmi.

c8522a6f 09/18/2018 12:46 PM Rick Pratt

Move addr_map to dst_map, revise mapit_l to dst_mil.

2b36755d 09/18/2018 12:18 PM Rick Pratt

Deprecated overlay code flow no longer supported, remove ahead of rework.

da7bcbcb 09/13/2018 08:26 AM Rick Pratt

Introduce map_route to consolidate p queuing, and tweak diagnostics (introduce pull_p_len, s/dbghalt/avow/g, s/halt/aver/g).

dff686df 09/11/2018 01:40 PM Rick Pratt

Commit duo gate and exit rename ahead of cache rework.

3b502a0e 09/11/2018 12:45 PM Rick Pratt

Commit stashed format fix; no code change.

15a78651 09/11/2018 12:23 PM Rick Pratt

Add dtls rx drop unit test 12.

025dc5bf 08/30/2018 12:26 PM Rick Pratt

Fix sequence offset comparison.

dd0b6c7c 08/29/2018 10:45 AM Rick Pratt

Comment cleanup, no operational change.

63a292b7 08/29/2018 09:25 AM Rick Pratt

Carry out intention to split nack at wrap and refine sequence assessment when wrap occurs, plus introduce cplist to free up (currently dormant) nplist added to duo.

79f90570 08/28/2018 05:39 PM Rick Pratt

Move sequence management hooks rather than add sequence preset annotations in no route handler, and rename timer for clarity of purpose.

7101b1d9 08/17/2018 05:46 PM Rick Pratt

Prior commit which added sequence management to tcp bridge also needs dtls origins to directly push packets rather than leverage function which now includes sequence management.

73a74fd5 08/17/2018 10:28 AM Rick Pratt

Add sequence assignment support for single router mode and/or where pdus do not cross dtls links. to support libgdp research regarding large async reads.

d5db18b4 08/12/2018 12:18 PM Rick Pratt

Requirements served by _fdv txplist_it member no longer present, so replace with tx function scoped iterator and drop iterator maintenance for net performance gain. Also inline two of the smaller packet translation functions.

e6f8c85f 08/12/2018 11:32 AM Rick Pratt

Finish fragment reassembly pool migration to list of dtls p chains, and temporarily promote some reassembly diagnostics to ccinfo to monitor tuning efforts in deployed routers.

0e4395e2 07/25/2018 12:52 PM Rick Pratt

Normalize tcp client p chain if first p is underweight.

73e5921c 07/25/2018 10:25 AM Rick Pratt

The tcp client rxp design has evolved to require a minimum expected size, however two code flows which handle large pdus may, in corner cases, make smaller than the minimum expected size before this fix.

ba5dcfef 07/24/2018 02:45 PM Rick Pratt

Add packet object asserts to catch problems and also restart router. Adjusted cache and free pool expiration downward.

48ba4bd2 07/23/2018 03:58 PM Rick Pratt

Fix udp connect cleanup position.

d89f3f24 07/23/2018 03:40 PM Rick Pratt

Add fd sweep at cleanup stage, for better post-restart behavior.

43f023ee 07/23/2018 12:07 AM Rick Pratt

In single router mode, revert find timer change in favor of simpler hook to send no route back to src immediately, since reported problem was not lookup ahead of advert but rather lookup for non-existent address.

87645eb1 07/22/2018 07:25 PM Rick Pratt

In single router mode, client which is creating log may look for it faster than gdplogd advertisement, triggering find timer; enhance single router mode to wait for advert using existing find timer.

34917f5f 07/20/2018 03:13 PM Rick Pratt

Remove udp_connect_rx() assert and upgrade diagnostic to ccinfo to monitor these unhandled errnos.

70fd414f 07/19/2018 06:08 PM Rick Pratt

Single router mode check bug causes error in normal config.

1cd3f4ab 07/19/2018 05:34 PM Rick Pratt

Add single router mode (no directory), which activates when the configured udp listen ip,port tuple matches the directory ip,port tuple, permitting isolated single router setups for development without a directory service (tcp bridge only, no dtls).

b9253176 07/15/2018 02:19 PM Rick Pratt

Planned rx_task implemented, added heuristics to balance tcp bridge load verus dtls load, revised select approach based on experiments, and retuned timers to endure 1 percent packet loss during Nitesh's 698 big record log test.

35518095 07/13/2018 06:00 PM Rick Pratt

Add missing dtls_seq call and minor sequence debug improvement.

0d58d3b7 07/12/2018 04:02 PM Rick Pratt

nitesh triggered an unreasonable dbghalt :)

7c97363d 07/12/2018 03:15 PM Rick Pratt

Add advertisement vs map conflict resolution, enhance and simplify advert/withdraw lifecycle; requires loading revised blackbox.sql!

534c81a9 07/03/2018 09:20 AM Rick Pratt

Adjust early heartbeat, which appears to be too aggressive now that routers begin with a directory flush. Also, improve Makefile target protections per configured workspace.

e2a1b770 07/03/2018 08:24 AM Rick Pratt

Initial directory flush, clears all nhops associated with this router's prior instantiation (if not aged out); useful for service upgrades and restarts, both intentional and not.

ed6a6553 06/28/2018 09:51 PM Rick Pratt

Add systemd notify

823787eb 06/28/2018 04:34 PM Rick Pratt

Tweak diagnostic output for reject add map condition.

4e5c5b6f 06/28/2018 04:03 PM Rick Pratt

Normalize debugging src/dst eguid/dguid ordering, fix nack find nhop oguid, and introduce code to delete invalid nhop routes and retry find.

684dd677 06/28/2018 11:11 AM Rick Pratt

Add confirm_shutdown and confirm_close, and reject attempts to add map as fd owner, if the fd already has an owner as defensive measure (i.e. not expected, but currently happening).

2ee36382 06/28/2018 08:24 AM Rick Pratt

fd map iterator list debugging enhancements

f8f9ed32 06/27/2018 08:59 AM Rick Pratt

Detect peer crash/restart during the dtls accept/do handshake negotiation, recycle fd to realign peers.

7f948330 06/26/2018 03:24 PM Rick Pratt

Precedence bug affecting readvertisements and decrease the readvert interval slightly, for now.

1df91189 06/26/2018 08:06 AM Rick Pratt

Add SSL_ERROR_ZERO_RETURN handling

2ec399cb 06/25/2018 05:56 PM Rick Pratt

Improve fd state visibility slightly, at zero debugging level, and add ECONNRESET to tcp client tx before it happens.

2fa62de6 06/25/2018 02:16 PM Rick Pratt

bump nhop diagnostic output from ccinfo to ccdbg verbose.

cd9906ab 06/25/2018 01:15 PM Rick Pratt

tweak debug output

bd851bdd 06/25/2018 11:11 AM Rick Pratt

Adds planned task and timer enhancements, directory (blackbox) graph introduction, and add_select minimization, all of which are working well using GDP pre API v2 merge.

7c0af68f 06/08/2018 05:07 PM Rick Pratt

missed one C++ preincrement efficiency improvement

ab65cea9 06/08/2018 04:39 PM Rick Pratt

apply C++ preincrement for efficiency changes to master

d6b275d1 06/08/2018 04:02 PM Rick Pratt

apply dtls client state reduction (removal of peer firewall detection) to master

149c5522 06/08/2018 03:17 PM Rick Pratt

apply datagram_tx packet lifecycle fixes

2b5c3a2d 06/08/2018 02:44 PM Rick Pratt

apply unit test cleanup and last configured fd tracking from experimental branch

987af967 06/08/2018 10:20 AM Rick Pratt

replace interim tx scheme with planned fd tx_task for better behavior under load

97e15108 06/04/2018 08:53 PM Rick Pratt

use gdp headers from build rather than installed headers; gdplogd issued an ECONNRESET thus time to fill out handling.

84af9eb5 05/11/2018 09:17 AM Rick Pratt

ttl 0 disposal ahead of decrement eliminates wrap risk

6f3b4870 05/11/2018 09:09 AM Rick Pratt

ttl adjusted to rfc1812 spirit and respect flags bits allocation within ttl

654879c5 05/10/2018 02:44 PM Rick Pratt

enforce ttl limit

da583702 05/10/2018 01:06 PM Rick Pratt

use net4 gdp ttl default

702ec0bc 05/10/2018 11:58 AM Rick Pratt

reduce display_state() calls

007e01e0 05/10/2018 11:44 AM Rick Pratt

switch from assert() to halt(), dbghalt() APIs

cdaf995a 05/10/2018 10:54 AM Rick Pratt

add ccerr(), ccwarn(), ccinfo(), separate operational msgs from ccdbg() msgs

62a58ed2 05/09/2018 04:30 PM Rick Pratt

gdp v4 router, which is aligned with interim net4 libgdp. Todos include tx/rx quantum limits and restoration of dtls heartbeats for udp down detection, and a few other minor items to be done in the near future.