feat(baremetal NIC): initial push for baremetal NIC#229
feat(baremetal NIC): initial push for baremetal NIC#229handong32 wants to merge 21 commits intoSESA:masterfrom
Conversation
jimcadden
left a comment
There was a problem hiding this comment.
First pass looks good! My old recommendation is to try and keep the changes to the existing net interfaces simple/unchanged, i.e., it's not clear what the rxflag is necessary to pass along.
src/native/Net.h
Outdated
| : address_(nullptr), ether_dev_(ether_dev) {} | ||
|
|
||
| void Receive(std::unique_ptr<MutIOBuf> buf); | ||
| void Receive(std::unique_ptr<MutIOBuf> buf, uint64_t rxflag); |
There was a problem hiding this comment.
If you set the default value for rxflag = 0 you can revert the changes made in VirtIONet.cc
| } | ||
|
|
||
| void TrimEnd(size_t amount) { length_ -= amount; } | ||
| void SetLength(size_t amount) { length_ = amount; } |
There was a problem hiding this comment.
I think TrimEnd() and Length() could be used to achieve the same behavior
There was a problem hiding this comment.
ok lemme check, i remember trying it, but will check again
| void ReceiveUdp(Ipv4Header& ih, std::unique_ptr<MutIOBuf> buf, | ||
| uint64_t rxflag = 0); | ||
| void ReceiveTcp(const Ipv4Header& ih, std::unique_ptr<MutIOBuf> buf, | ||
| uint64_t rxflag = 0); |
There was a problem hiding this comment.
What's the advantage of passing rxflag all the way up the network stack?
There was a problem hiding this comment.
its mainly for hardware checksumming? If the hardware checksums a type of packet, then it'll set a bit in rxflag, so we don't have to do it in network stack
e277f43 to
b013d09
Compare
Only works on Intel 82599 family based NICs
b013d09 to
f8a4188
Compare
Only works on Intel 82599 family based NICs
…o baremetalNIC
|
☔ The latest upstream changes (presumably d213abd) made this pull request unmergeable. Please resolve the merge conflicts. |
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
…appening when user closes a connection twice.
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
… perf and statistic counters to IxgbeDriver, hijacked Ping messages to act as triggers to set up state
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
…as checksum offloading for packets less than MTU, which doesn't utilize the TSO offload feature, is still the original standard TCP pseudo checksum of src, dest ip addresses, TCP protocol, and length (tcp header+payload). However, for packets larger than the MTU, which requires enabling TSO, the TCP pseudo checksum is just src, dest ip address and TCP protocol, no length required. If this is not implemented correctly, you know it is a device problem as the packets won't even make it out onto wireshark.
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
… starting to add perf and other counters such as RAPL for counting power usage.
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
|
There were the following issues with your Pull Request
Guidelines are available at https://github.com/SESA/EbbRT/blob/master/CONTRIBUTING.md This message was auto-generated by https://gitcop.com |
Only works on Intel 82599 family based NICs