v2.4.0 #2695
robgjansen
started this conversation in
Show and tell
v2.4.0
#2695
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Summary
In this release, we continue our transition from C to Rust. Most of the changes included in the release are backend changes that support our continued Rust migration. However, we also fixed many bugs and made some other changes to improve the experience for users as described below.
We intend additional work following this release to focus on changes to some of Shadow's core networking components, including the TCP stack and other facilities for forwarding packets between nodes. This is somewhat higher risk work that could result in bugs that affect Shadow's network performance and stability. We are issuing this v2.4.0 release now to ensure that users have a stable version of Shadow that they can use while we work on the high risk networking code.
Primary user-facing changes since v2.3.0
epoll_ctl
. Fix epoll memory leak #2586$PATH
and not~/.local/bin
. Build shadow once for extra tests #2572rust-toolchain.toml
file. Enforce clippy #2614sched_{get,set}affinity
syscalls. emulate sched_{get,set}affinity andsysconf(_SC_NPROCESSORS_*)
#2602/sys/devices/system/cpu/possible
and/sys/devices/system/cpu/online
. emulate sched_{get,set}affinity andsysconf(_SC_NPROCESSORS_*)
#2602formatting of strings, buffers, and socket addresses, added logging of
vdso-handled syscalls, etc).
examples/
directory. Add example (and test) for etcd #2637, Added example for Wget2 #2659different socket. Server sockets can hijack a client socket's connection #2593
All Merged Pull Requests
Transport
by @stevenengler in RemoveTransport
#2578SyscallHandler::legacy_syscall
helper function by @stevenengler in AddSyscallHandler::legacy_syscall
helper function #2588InetSocket
enum and placeholderTcpSocket
struct by @stevenengler in AddInetSocket
enum and placeholderTcpSocket
struct #2589TCP
wrapper by @stevenengler in Add initial version of theTCP
wrapper #2595getsockname
/getpeername()
for tcp wrapper by @stevenengler in Supportgetsockname
/getpeername()
for tcp wrapper #2599ioctl()
for tcp wrapper by @stevenengler in Supportioctl()
for tcp wrapper #2600Host::setup()
by @stevenengler in RemoveHost::setup()
#2606NetworkNamespace
object by @stevenengler in Move host networking to newNetworkNamespace
object #2607sysconf(_SC_NPROCESSORS_*)
by @trinity-1686a in emulate sched_{get,set}affinity andsysconf(_SC_NPROCESSORS_*)
#2602bind()
for tcp wrapper by @stevenengler in Supportbind()
for tcp wrapper #2611TcpSocket
to network interface asLegacySocket
by @stevenengler in Add rustTcpSocket
to network interface asLegacySocket
#2626_test_implicit_bind
test by @stevenengler in Fix an issue with the_test_implicit_bind
test #2630Process
by @stevenengler in Simplify strace logging inProcess
#2649sched_{get,set}affinity
bug by @stevenengler in Fixsched_{get,set}affinity
bug #2657syscallhandler_epoll_ctl
by @stevenengler in Remove unneeded workaround insyscallhandler_epoll_ctl
#2660InetSocket
in the tracker by @stevenengler in SupportInetSocket
in the tracker #2671New Contributors
Full Changelog: v2.3.0...v2.4.0
This discussion was created from the release v2.4.0.
Beta Was this translation helpful? Give feedback.
All reactions