capsule icon indicating copy to clipboard operation
capsule copied to clipboard

0.2.0 alpha

Open drunkirishcoder opened this issue 4 years ago • 8 comments

Description

Finally here. Long waited divorce from Tokio pre-alpha as the underlying runtime. Along the way we also wanted to re-envision how we process packets. Major breaking changes,

  • goodbye Tokio (closing #75), hello Smol. this actually doesn't impact the end user much.
  • brand new runtime with a simpler set of API! all FFI code has been rewritten from the ground up too.
  • no more combinators. that was an idea carried over from NetBricks and that concept no longer align with how we handle types.
  • same example apps but they really work! no more replaying pcap files, they now interact with live traffic in our vagrant.

a couple things still missing

  • metrics! need to put metrics back.
  • revisit the packet ownership around parse and peek.

Type of change

  • [x] Breaking change
  • [x] Documentation update

drunkirishcoder avatar Mar 29 '21 22:03 drunkirishcoder

Codecov Report

Merging #138 (1232a4c) into master (63b7155) will increase coverage by 7.60%. The diff coverage is 55.59%.

@@            Coverage Diff             @@
##           master     #138      +/-   ##
==========================================
+ Coverage   68.69%   76.29%   +7.60%     
==========================================
  Files          66       50      -16     
  Lines        5836     5050     -786     
==========================================
- Hits         4009     3853     -156     
+ Misses       1827     1197     -630     
Impacted Files Coverage Δ
core/src/packets/arp.rs 63.31% <ø> (-0.37%) :arrow_down:
core/src/packets/ethernet.rs 79.86% <0.00%> (ø)
core/src/packets/icmp/v4/echo_reply.rs 70.66% <ø> (ø)
core/src/packets/icmp/v4/echo_request.rs 80.00% <ø> (ø)
core/src/packets/icmp/v4/mod.rs 80.73% <ø> (ø)
core/src/packets/icmp/v4/redirect.rs 75.82% <ø> (ø)
core/src/packets/icmp/v4/time_exceeded.rs 74.07% <ø> (ø)
core/src/packets/icmp/v6/echo_reply.rs 70.66% <ø> (ø)
core/src/packets/icmp/v6/echo_request.rs 70.66% <ø> (ø)
core/src/packets/icmp/v6/mod.rs 77.96% <ø> (ø)
... and 39 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

codecov[bot] avatar Mar 29 '21 23:03 codecov[bot]

I have operation not supported running any of the examples.

JakkuSakura avatar Apr 10 '21 05:04 JakkuSakura

are you running the examples in our vagrant environment? they only work inside vagrant+docker setup because they have to assume a certain network topology with specific device names. if you are using vagrant, can you post the program output? I will take a look.

drunkirishcoder avatar Apr 10 '21 15:04 drunkirishcoder

I'm running examples in the same environment where I run 0.1 examples. Old version runs just fine. note that I modified the device name and device id according to my network. I can give you access to my testing machine if you like

------------------ Original ------------------ From: Daniel Jin @.> Date: Sat, Apr 10, 2021 11:38 PM To: capsule-rs/capsule @.> Cc: QiuJiangkun @.>, Comment @.> Subject: Re: [capsule-rs/capsule] 0.2.0 alpha (#138)

are you running the examples in our vagrant environment? they only work inside vagrant/docker setup because they have to assume a certain network topology with specific device names. if you are using vagrant, can you post the program output? I will take a look.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

JakkuSakura avatar Apr 10 '21 15:04 JakkuSakura

At this time, we are only going to support the 0.2.0 examples running in our controlled environment. To make them work and interact with live packets, we have to make a lot of assumptions about their device name, IP address, MAC address, subnet etc. basically a lot goes into controlling how the packets are routed to make the examples work.

but if you set the log level to DEBUG and share the output, I can take a look and maybe identify what "operation not supported" is referring to. that error could suggest you are potentially encountering some device capability limitation? I'm not sure. but I don't have a lot info to go on.

drunkirishcoder avatar Apr 10 '21 15:04 drunkirishcoder

Maybe my environment was not clean enough. After rebooting, all examples are runnable.

JakkuSakura avatar Apr 10 '21 16:04 JakkuSakura

@drunkirishcoder also maybe do a deps update and see if we can fix the security issue related to chrono/time.

zeeshanlakhani avatar Feb 16 '22 11:02 zeeshanlakhani

sigh

getting blocked by an indirect dependency. not sure which lib is pulling it in, but will need to update the sandbox to the latest stable rust. will do it when I find time soon.

drunkirishcoder avatar Mar 05 '22 14:03 drunkirishcoder