Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add support for datalinks other than ethernet #145

Draft
wants to merge 18 commits into
base: djin/0.2.0-alpha
Choose a base branch
from

Conversation

drunkirishcoder
Copy link
Contributor

@drunkirishcoder drunkirishcoder commented Jan 8, 2022

Description

Add a trait Datalink that makes it possible to support a different datalink for IP packets. The only other applicable datalink supported by DPDK is InfiniBand through Mellanox NICs. #144

This is a breaking change. Previously it was assumed that IP packets (both v4 and v6) will only be encapsulated inside an Ethernet frame, which is the overwhelming majority of the use case of DPDK. After the change, the struct becomes a generic struct, Ipv4<E: Datalink>.

Type of change

  • Bug fix
  • New feature
  • New protocol
  • Breaking change
  • Documentation update

Checklist

  • Associated tests
  • Associated documentation

@drunkirishcoder drunkirishcoder changed the title add support for datalink other than ethernet add support for datalinks other than ethernet Jan 8, 2022
@codecov
Copy link

codecov bot commented Jan 8, 2022

Codecov Report

Merging #145 (b1e9b9d) into master (87ecc82) will increase coverage by 8.04%.
The diff coverage is 70.14%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #145      +/-   ##
==========================================
+ Coverage   68.40%   76.44%   +8.04%     
==========================================
  Files          66       50      -16     
  Lines        5972     5048     -924     
==========================================
- Hits         4085     3859     -226     
+ Misses       1887     1189     -698     
Impacted Files Coverage Δ
core/src/packets/size_of.rs 0.00% <0.00%> (ø)
core/src/testils/criterion.rs 0.00% <ø> (ø)
core/src/testils/proptest/arbitrary.rs 50.00% <ø> (ø)
core/src/runtime/mod.rs 12.32% <12.85%> (+12.32%) ⬆️
core/src/testils/packet.rs 55.55% <27.27%> (ø)
core/src/testils/proptest/strategy.rs 81.86% <39.13%> (-0.85%) ⬇️
core/src/runtime/pcap_dump.rs 39.75% <39.75%> (ø)
core/src/runtime/lcore.rs 58.00% <58.00%> (ø)
core/src/runtime/port.rs 59.46% <59.46%> (ø)
core/src/packets/icmp/v4/echo_reply.rs 70.66% <71.42%> (-1.49%) ⬇️
... and 63 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 87ecc82...b1e9b9d. Read the comment docs.

@drunkirishcoder drunkirishcoder changed the base branch from master to djin/0.2.0-alpha January 9, 2022 23:19
@drunkirishcoder drunkirishcoder force-pushed the djin/0.2.0-alpha branch 2 times, most recently from 8e818aa to 74ab2b5 Compare February 26, 2022 03:48
@drunkirishcoder drunkirishcoder force-pushed the djin/0.2.0-alpha branch 2 times, most recently from bffcbb9 to 1232a4c Compare September 27, 2022 19:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant