Demikernel v1.1 (Stable Testing Suite)
Pre-release
Pre-release
What's Changed
- [contrib] Updating External Dependencies by @ppenna in #123
- [build] Copy Build Artifacts to a Installation Location by @ppenna in #124
- [pdpix] Renaming System Calls by @ppenna in #126
- [contrib] Upgrade
nix
tov0.24.0
Catnap and Catcollar by @ppenna in #127 - [catpowder] Replace Use of Crate socket2 by @ppenna in #129
- [catnip]
Buffer::clone()
forDPDKBuf
by @ppenna in #132 - [contrib] Updating Dependencies by @ppenna in #135
- [test] UDP Push Pop Test for C API by @ppenna in #133
- [test] TCP Push Pop Test for C API by @anandbonde in #139
- [build] Upgrading Build System for C Tests by @ppenna in #141
- [test] Enable
inval_wait()
Test by @ppenna in #143 - [pdpix] Missing Endianness Conversion for Port Number by @ppenna in #145
- [build] Suppress Warning Message When Building Catnap or Catpowder by @ppenna in #146
- [catnap] Set Source Address in
OperationResult
forpop()
by @ppenna in #149 - [test] UDP Ping Pong for C API by @ppenna in #150
- [test] TCP Ping Pong for C API by @ppenna in #151
- [catcollar] Use Buffer Abstraction by @ppenna in #154
- [pdpix] Generic Config Parsing by @ppenna in #155
- [network] Move to std network types by @anandbonde in #157
- [catcollar] Set Source Address in
OperationResult
forpop()
by @ppenna in #156 - [pdpix] Build Composition of LibOSes by @ppenna in #159
- [inetstack] Moving In Source tree by @ppenna in #162
- [doc]
demi_push()
Manual Page by @ppenna in #262 - [doc]
demi_sgaalloc()
Manual Page by @ppenna in #267 - [doc]
demi_sgafree()
Manual Page by @ppenna in #268 - [doc]
demi_wait()
Manual Page by @ppenna in #269 - [doc]
demi_socket()
Manual Page by @ppenna in #164 - [doc]
demi_init()
Manual Page by @ppenna in #165 - [doc]
demi_listen()
Manual Page by @ppenna in #166 - [doc]
demi_bind()
Manual Page by @ppenna in #167 - [doc]
demi_accept()
Manual Page by @ppenna in #261 - [doc]
demi_pushto()
Manual Page by @ppenna in #263 - [doc]
demi_pop()
Manual Page by @ppenna in #264 - [doc]
demi_connect()
Manual Page by @ppenna in #265 - [doc]
demi_close()
Manual Page by @ppenna in #266 - [doc] Cleaning Up PDPIX API Documentation by @ppenna in #270
- [examples] TCP and UDP Examples for Rust by @ppenna in #271
- [build] Split makefiles for OS by @anandbonde in #273
- [build] No Hardcode Default Path for
CARGO
by @ppenna in #276 - [pdpix]
timedwait()
System Call by @ppenna in #277 - [pdpix] Global State for Demikernel by @ppenna in #280
- [catnap][catcollar]
demi_socket()
Fails withEADDRINUSE
by @ppenna in #283 - [pal] Shared Memory Region Abstraction by @ppenna in #286
- [collections] Raw Array Abstraction by @ppenna in #288
- [collections] Ring Buffer Abstraction by @ppenna in #289
- [collections] Shared Ring Buffer Abstraction by @ppenna in #291
- [runtime] Offset Identifiers of I/O Queue Descriptors by @ppenna in #294
- [pdpix] Tagging Deprecated System Calls by @ppenna in #296
- [catnip] Bug Fix: Don't Trim on SGA Clone by @ppenna in #300
- [pdpix] Wrong Conversions Between
DataBuffer
anddemi_sgarray_t
by @ppenna in #302 - [examples] Use PDPIX In Rust Examples by @ppenna in #303
- [pdpix] Drop Deprecated System Calls by @ppenna in #304
- [pdpix] Generic
wait()
by @ppenna in #307 - [winport] Platform Abstraction Layer for Network by @anandbonde in #305
- [runtime] DemiBuffer Abstraction by @BrianZill in #298
- [test] Disable
DemiBuffer
UnitTest by @ppenna in #311 - [winport] Add Windows makefiles by @anandbonde in #309
- [runtime] Bad Deref in
DemiBuffer::drop()
Causes Segmentation Fault by @BrianZill in #312 - [pdpix] Generic
wait()
,wait_any()
andtimedwait()
by @ppenna in #313 - [winport] Enhancement: Add CatnapW for Windows by @anandbonde in #314
- [demikernel] Integrate
DemiBuffer
into the System asBuffer
/DataBuffer
Replacement by @BrianZill in #320 - [catnip] Missing Check for Return Value of
rte_eal_init()
by @ppenna in #327 - [catnip] Wrong MTU Initialization by @ppenna in #331
- [pdpix] Timeout Interval Parameter to
demi_wait()
anddemi_wait_any()
by @BrianZill in #333 - [collections] Mark Flaky
SharedRingBuffer
Unit Tests as#[ignore]
by @BrianZill in #328 - [pdpix] Use trace Logging Level to Propagate Unexpected Conditions by @ppenna in #336
- [examples] Support Multiple Clients in
tcp-echo
by @ppenna in #338 - [arp] Add Remove Function by @iyzhang in #339
- [examples] Multi-Client Support for
tcp-dump
by @ppenna in #343 - [inetstack] Accept Ethernet Multicast Packets by @BrianZill in #351
- [tools] Initial
demikernel-ci
by @ppenna in #342 - [catmem] Shared Memory LibOS by @ppenna in #348
- [ci] Updating Catnap Workflow by @ppenna in #360
- [ci] Updating Catpowder Workflow by @ppenna in #361
- [ci] Updating Catcollar Workflow by @ppenna in #362
- [catnip] Use PAL in Catnip by @anandbonde in #352
- [ci] Checkout to Dev Branch by @ppenna in #365
- [doc] Adding Issue Template for Questions by @ppenna in #366
- [doc] Testing Instructions by @ppenna in #358
- [inetstack] Push Empty Buffer on FIN by @ppenna in #370
- [build] Bumping DPDK Version by @ppenna in #375
- [catnapw] Use
DemiBuffer
Instead ofBuffer
/DataBuffer
by @anandbonde in #378 - [tcp] Fix Retransmit and Cleanup Retransmission Timeout Calculator by @BrianZill in #374
- [test] Missing to Run Some Unit Tests in
test-unit-rust
Target by @ppenna in #373 - [tools] Several Improvements for
demikernel-ci
by @ppenna in #383 - [ci] Initial Integrating Catnapw with Regression System by @ppenna in #389
- [doc] Fixing Minor Typos on Testing Instructions by @ppenna in #392
- [test]
tcp-ping-pong
Does Not Wait for Full Receive Buffer by @ppenna in #391 - [build] Fixing Build Warnings by @ppenna in #393
- [ci] Enhancement: Support Config Path Override by @ppenna in #396
- [tools] Support NFS Directories in
demikernel-ci
by @ppenna in #398 - [build] Set
RUST_LOG=trace
when Running in Debug Mode by @ppenna in #408 - [pal] Bad Level When Setting
SO_REUSEPORT
by @ppenna in #406 - [tools] Bad Check on Number of Executed Jobs in
demikernel-ci
by @ppenna in #411 - [doc] Moving Build Instructions to Standalone Document by @ppenna in #399
- [pal] Helper Function to Convert
std::net::SocketAddrV4
tolibc::sockaddr_in
by @ppenna in #413 - [tools] Adding support for test directories and log files with hostnames by @iyzhang in #415
- [tools] Minor Bug Fixes in
demikernel-ci
by @ppenna in #418 - [inetstack] Handle Cancellation of Ping Requests by @ppenna in #428
- [doc] Standalone Documentation by @ppenna in #422
- [tools] Initial Azure Tables support by @iyzhang in #429
- [build] Drop Dependency on Some Crates by @ppenna in #427
- [build] Dropping Dependency on
nix
by @ppenna in #419 - [catcollar] Bad Logic for Async Ongoing Operations by @ppenna in #436
- [tools] Fixing Flag That Fails to Run Any Tests in Azure Tables Script by @iyzhang in #431
- [memory] Marking old APIs as deprecated by @iyzhang in #439
- [winport] Update the Windows crate 0.44.0 by @anandbonde in #437
- [runtime] Fix issue #376: Unify memory runtime by @iyzhang in #440
- [catloop] Initial LibOS Implementation by @ppenna in #401
- [pdpix] Remote Address Is Not Set In
demi_accept_result_t
by @ppenna in #438 - [catnapw] Set Remote Address in Accept by @ppenna in #446
- [runtime] 32-Bit Queue Descriptors by @ppenna in #441
- [catnap] Merge
Pushto
andPush
Futures by @ppenna in #442 - [test] GitHub Actions Support for Catloop LibOS by @ppenna in #447
- [runtime] Make
BASE_QD < FD_SETSIZE
by @ppenna in #450 - [ci] Skip UDP Tests in
demikernel_ci
for Catloop LibOS by @ppenna in #457 - [ci] Leverage
demikernel-ci
to Run Regressions by @ppenna in #458 - [build] Copy
default.yaml
When Installing Artifacts by @ppenna in #452 - [build] Dropping Unused Features by @ppenna in #454
- [build] Reenable MaybeUnit Feature for Windows by @ppenna in #460
- [pal] Fix Byte Order Issue on Big-Endian Machines by @BrianZill in #462
- [ipv4] Removed extraneous Parenthesis to Avoid Compiler Warning by @BrianZill in #461
- [runtime] Remove Unused Buffer Types by @BrianZill in #464
- [catloop] Bad Operation Result for Accept by @ppenna in #466
- [doc] Updating Build Instructions and Manual Pages by @ppenna in #467
- [build] Drop Dependency on
byteorder
Crate by @BrianZill in #468 - [catnip] Adjust interop for PAL by @anandbonde in #470
- [examples] Improving TCP Echo Program by @ppenna in #476
- [build] Fixing Some Build Warnings by @ppenna in #475
- [tools] Support Custom Output Directory in
demikernel_ci
by @ppenna in #474 - [tools] Run Individual System Tests in
demikernel_ci
by @ppenna in #473 - [build] Enhancement: Enable dll/lib/pdb files for Bing prototyping effort by @anandbonde in #477
- [build] Make
RUST_LOG
Overridable by @ppenna in #483 - [build Dropping Deprecated Functions by @ppenna in https://github.com//pull/484
- [catnip] Use DemiBuffer by @ppenna in #485
- [examples] Adding tcp-accept Program by @ppenna in #479
- [catmem] Don't Close Pipe When EoF is Reached by @ppenna in #482
- [script] Missing Build Dependency for DPDK by @ppenna in #487
- [ci] Leverage
demikernel_ci
for Catmem LibOS by @ppenna in #488 - [catcollar] Correctly Dree Data Structures on
close()
by @iyzhang in #494 - [catnap] Free queue descriptor on
close()
by @iyzhang in #492 - [ci] Fixing Regression Pipeline for Catpowder by @ppenna in #496
- [runtime] Unify Queue Table Abstraction by @iyzhang in #486
- [examples] TCP Bind Application by @ppenna in #500
- [runtime] Move OperationResult out of inetstack by @iyzhang in #502
- [pal] Retrieve
errno
and Propagate It inSharedMemory
by @ppenna in #506 - [runtime] Iterator over IO Queue Table by @ppenna in #513
- [catloop] Do not Allow Multiple
bind()
to Same Address by @ppenna in #514 - [catnap] Do not Allow Multiple
bind()
to Same Address by @ppenna in #515 - [catcollar] Do not Allow Multiple
bind()
to Same Address by @ppenna in #516 - [inetstack] Fail to Close Bound and Unbound Sockets by @ppenna in #517
- [catloop] Several Bug Fixes for Connection Establishment / Shutdown by @ppenna in #490
- [tests] Drop
tcp_bad_bind()
in Favor oftcp-bind
by @ppenna in #523 - [inetstack] Multiple Waiters for Address Resolution by @ppenna in #524
- [pdpix] Add async_close API by @iyzhang in #527
- [catnap] Implement async_close support by @iyzhang in #528
- [inetstack] Implement async_close by @iyzhang in #530
- [catnip] Implement async_close by @iyzhang in #531
- [catpowder] Implement async_close by @iyzhang in #532
- [catcollar] Implement async_close by @iyzhang in #533
- [pdpix] Error Information in
demi_qresult_t
by @ppenna in #534 - [ci] Enable
tcp-accept
in Regressions by @ppenna in #548 - [ci] Support Test Alias by @ppenna in #553
- [examples]
tcp-close
Testing Program by @ppenna in #543 - [ci] Enable
tcp-close
indemikernel-ci
by @ppenna in #545 - [runtime] Improve Split Functionality in
DemiBuffer
by @ppenna in #546 - [pdpix] Fixed Size
demi_pop
by @ppenna in #547 - [scheduler] Rename future abstractions by @iyzhang in #555
- [runtime] Add cooperative yielding to the scheduler by @iyzhang in #556
- [catnap] Move from future to async coroutines by @iyzhang in #557
- [test] Integration Tests for TCP by @ppenna in #562
- [catnip] Append an empty string at eal_init args to be skipped by @ihchoi12 in #558
- [catmem] Fix incorrect size comparison by @iyzhang in #564
- [catnip] Bad Assumption on Packet Header Size by @carvalhof in #568
- [catnap] Several Fixes Around Socket State by @ppenna in #569
- [catmem] Invalid Queue Descriptor in Pop by @ppenna in #570
- [ci] Enable TCP Integration Tests for Catnap LibOS in
demikernel-ci
by @ppenna in #572 - [examples] Multi-Client Support for TCP Echo by @ppenna in #573
- [catnip] Bug Fix: integer comparison in catnip:memorypool by @carvalhof in #574
- [test] Add tests for async_close by @iyzhang in #575
- [test] Integration Tests for
wait()
by @iyzhang in #576 - [ci] Enable
tcp-echo
for Catnap LibOS by @ppenna in #579 - [test] Integration Tests for TCP
bind()
by @ppenna in #583 - [test] Integration Tests for TCP
accept()
by @ppenna in #586 - [test] Integration Tests for TCP
connect()
by @ppenna in #587 - [examples] Concurrent Mode for
tcp-echo
by @ppenna in #581 - [test] Integration Tests for TCP
listen()
by @ppenna in #585 - [doc] Reword TODOs in Source Tree by @ppenna in #614
- [catmem] Connection Reset in Push and Pop by @ppenna in #595
- [build] Drop Use of
new_uninit
by @ppenna in #596 - [runtime] Adding correct cancellation of queue tokens on queue close by @iyzhang in #592
- [inetstack] ICMP echo reply by @carvalhof in #594
- [test] Removing Scheduler Assumptions from Tests by @iyzhang in #627
- [test] Add sanity check to payload order by @iyzhang in #628
- [test] Add .txt suffix to log files by @iyzhang in #629
- [ci] GitHub Actions Fails to Upload by @ppenna in #632
- [catloop] Collisions on Queue Token Space by @ppenna in #623
- [catmem] Redimensioning Ring Buffer by @ppenna in #636
- [test] Remove panic, expect and unwrap from integration tests by @iyzhang in #637
- [test] Remove panics from pipe-open system test by @iyzhang in #639
- [tcp-close] New whocloses semantics by @anandbonde in #630
- [test] Remove panics from tcp-echo system test by @iyzhang in #643
- [test] Remove panics from tcp-close system test by @iyzhang in #641
- [test] Integration Tests for TCP
create_pipe()
by @ppenna in #644 - [test] Remove panic from pipe system tests by @iyzhang in #648
- [test] Remove panic from TCP system tests by @iyzhang in #650
- [test] Remove panic from UDP system tests by @iyzhang in #652
- [test] wait(): Add TCP tests around wait()/close() by @anandbonde in #654
- [test] Add
ensure_eq!
macro by @iyzhang in #656 - [test] Integration Tests for TCP
open_pipe()
by @ppenna in #655 - [tcp-close] Add
async_close()
support by @anandbonde in #658 - [test] Remove panic from collections unit tests by @iyzhang in #657
- [test] Integration Tests for Pipe
close
by @ppenna in #660 - [test] Remove panic from pal and perftools unit tests by @iyzhang in #663
- [test] Remove panic from scheduler unit test by @iyzhang in #664
- [test] Integration Tests for Pipe
async_close()
by @ppenna in #662 - [test] Remove panic from runtime unit test by @iyzhang in #665
- [catmem] Don't Check for EoF on Push by @ppenna in #667
- [test] Rich CLI for C System Tests by @ppenna in #676
- [test] Fix compiler errors and warnings by @iyzhang in #678
- [test] Wait Push After Closing Pipe by @ppenna in #677
- [test] Enable
PROFILER
Flag indemikernel_ci
by @ppenna in #682 - [test] Remove assert from integration tests by @iyzhang in #681
- [contrib] Updating Dependencies by @ppenna in #685
- [catmem] Don't Push EoF Indefinitely by @ppenna in #686
- [test] Wait Pop After Closing Pipe by @ppenna in #683
- [test] Switch to collect macro for tcp integration tests by @iyzhang in #688
- [catmem] Release Queue Descriptor Even If
close()
Fails by @ppenna in #691 - [test] Wait on Invalid Queue Token Pipe by @ppenna in #692
- [test] Wait Push After Asynchronous Close by @ppenna in #693
- [test] Wait Pop After Asynchronous Close Pipe by @ppenna in #694
- [test] Test Macros for Demikernel by @ppenna in #695
- [pdpix] Have a System-Wide Maximum Size for a Receive Buffer by @ppenna in #699
- [pdpix] Consistent Behavior When
listen()
with Invalid Backlog Length by @ppenna in #700 - [test] Add test for Catmem LibOS cleanup by @iyzhang in #689
- [test] Add more async_close() tests by @anandbonde in #705
- [pdpix] Have an Upper Limit for Fixed-Size
pop()
s by @ppenna in #703 - [test] Add tcp_wait utility by @anandbonde in #690
- [test] Add drop function to tcp echo by @iyzhang in #708
- [test] Add drop function to pipe-open by @iyzhang in #706
- [test] Add drop function to tcp-close by @iyzhang in #707
- [test] Add cleanup code to pipe system tests by @iyzhang in #709
- [test] Add cleanup to UDP system tests by @iyzhang in #713
- [test] Add cleanup to TCP system tests by @iyzhang in #714
New Contributors
- @anandbonde made their first contribution in #139
- @BrianZill made their first contribution in #298
- @ihchoi12 made their first contribution in #558
- @carvalhof made their first contribution in #568
Full Changelog: v1.0...v1.1