Skip to content
Snippets Groups Projects

Basic implementation of TCP over XDP for Knot server

Merged Libor Peltan requested to merge kxdpgun_tcp2 into master

including connection handling for kxdpgun in TCP mode.

The implementation is not perfect!! But the interface with other Knot parts is stable.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Libor Peltan changed milestone to %3.1

    changed milestone to %3.1

  • added feature label

  • Libor Peltan added 1 commit

    added 1 commit

    • a8f6e2a3 - XDP-TCP: remove list_t from libknot public api

    Compare with previous version

  • Libor Peltan added 1 commit

    added 1 commit

    • b6233ae2 - XDP-TCP: remove list_t from libknot public api

    Compare with previous version

  • Libor Peltan added 1 commit

    added 1 commit

    • 1d1c0016 - nameserver: disable multi-message answers thru XDP...

    Compare with previous version

  • Daniel Salzman added 256 commits

    added 256 commits

    • 1d1c0016...ef2279d7 - 202 commits from branch master
    • a7dd115d - XDP: basic TCP connection stateful, in kxdpgun
    • d8aa7827 - libknot: TCP over XDP: use dynarray for relays
    • fbd89e0f - TCP over XDP: bugfixes in answering logic
    • aa39ba74 - conf: option for TCP over XDP
    • 854a0cf5 - implemented server answering TCP over XDP
    • f4bd1b1c - XDP-TCP: allow connection timeout
    • 0fbce43b - XDP-TCP: ignore ACK with unmatching ackno
    • c00ee9b3 - XDP-TCP: limit number of connection closed at once...
    • 06dd9513 - XDP-TCP: use list_t for removed timeouted connections
    • 5faef804 - UDP handler: enable regular check/timeout of XDP-TCP connections
    • 577cbd51 - XDP-TCP: bugfix: set active only when ACK match
    • 2580a3d5 - XDP-TCP: better handling of not-yet-ACKed ackno
    • afd5c32f - XDP-TCP: bugfix: don't timeout-close already closing connections
    • b35512ae - XDP-TCP: enable receiving DNS messages fragmented in multiple packets
    • 78a56bae - XDP-TCP: bugfix: don't return error if just EAGAIN on flush
    • 87fafb10 - XDP-TCP: bugfix: dont impose limit on resets per second
    • f64c45da - XDP-TCP: advertise infinite window size
    • 7142d815 - XDP-TCP: allow incomming data+FIN
    • 097de16e - XDP-TCP: announce correct MSS
    • 511264a2 - XDP-TCP: enable fragmented outgoing DNS according to MSS
    • 9c880ee2 - XDP-TCP: limit incomming MSS to what XDP can handle
    • 36644011 - XDP-TCP: bugfix: set conn ackno properly after SYN+ACK
    • 453308a6 - tests: XDP-TCP test of connection handling, states and stress
    • 572cf10e - XDP-TCP: count total inbuf usage
    • 23d09a40 - XDP-TCP: configurable parameters of TCP stack
    • de6f3f16 - XDP-TCP: remove list_t from libknot public api
    • b8bfaab9 - nameserver: disable multi-message answers thru XDP...
    • 5227ef05 - dynarray: move from contrib to libknot
    • 3853b129 - kxdpgun: change default batch size for TCP and update documentation
    • 6266d2b2 - XDP-TCP: logging of closed/reset connections
    • 6e1523e8 - conf: move 'server.xdp-route-check' to 'xdp.route-check'
    • ae62faf4 - conf: simplify conf_db_param()
    • 478d42cd - conf: move 'server.listen-xdp' to 'xdp.listen' with backward compatibility
    • 336afd25 - mod-probe: don't try to get TCP RTT in the XDP mode
    • fc39a7f4 - libknot: move XDP-related headers from libknot.h to xdp.h
    • f07e8f98 - XDP-TCP: move testing API from xdp.h to test_xdp_tcp.c
    • 88a951e3 - XDP-TCP: remove unused mm parameter from knot_xdp_tcp_relay()
    • 0b8a1755 - XDP-TCP: configuration cleanup
    • 37824241 - XDP-TCP: move mock API from xdp.h to test_xdp_tcp.c
    • 5a24e0b5 - XDP-TCP: various code cleanup
    • 7ebdd14a - XDP-TCP: refactor Siphash secret handling
    • 04cc1487 - conf: remove 'tcp' parameter from conf_xdp_iface()
    • dc993521 - XDP-TCP: rename prefix 'knot_xdp_tcp' to 'knot_tcp', and 'knot_tcp_timeout' to 'knot_tcp_sweep'
    • c9d37c5d - XDP-TCP: rename 'knot_tcp_send_data' to 'knot_tcp_relay_answer'
    • 3209c32c - XDP-TCP: rename 'knot_tcp_input_buffers' to 'tcp_inbuf_update' and refactor internal API
    • 766daec3 - distro/deb: update knot_tcp_* symbols
    • bfbc35af - XDP-TCP: tiny cleanup of handler headers
    • 7e795a25 - XDP-TCP: make udp_tick() optional
    • f455ff61 - XDP-TCP: xdp handler improvements
    • 509d9890 - XDP-TCP: simplify UDP handler API
    • 2cc73f92 - XDP-TCP: final code cleanup
    • 267cbf91 - XDP-TCP bugfix: proper flags allocating IPv6/TCP reply
    • 91533715 - kxdpgun: improve error processing and add 'lost' counter
    • 010364f9 - kxdpgun: don't print per-thread received in send-only mode

    Compare with previous version

    Toggle commit list
  • Daniel Salzman enabled an automatic merge when the pipeline for 010364f9 succeeds

    enabled an automatic merge when the pipeline for 010364f9 succeeds

  • merged

  • Daniel Salzman mentioned in commit bb7569cd

    mentioned in commit bb7569cd

Please register or sign in to reply