GithubHelp home page GithubHelp logo

tjcw / bpf-examples Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xdp-project/bpf-examples

0.0 0.0 1.0 1.96 MB

Making eBPF programming easier via build env and examples

Shell 4.72% C 93.48% Makefile 1.80%

bpf-examples's People

Contributors

anakryiko avatar chaudron avatar chenhengqi avatar edersondisouza avatar freysteinn avatar magnus-karlsson avatar netoptimizer avatar rst0git avatar simosund avatar tohojo avatar vincentbernat avatar

Forkers

cericwu1

bpf-examples's Issues

Implement shared umem between receive socket and send socket

At the moment, I have receive socket and send socket using separate umems. That causes a requirement for a 'memcpy' in user space between where the packet is received to, and where the packet can be sent from. This issue replaces the separate umems wiith a shared umem and eliminates this memcpy.

Reinject packet to the same queue where it was redirected to user space.

It should also be possible to reinject the packet to the same queue from where it was redirected to user space. This should cause the packet to go to the transmitting interface, then be redirected again to the veth where it was initially redirected to user space, then be sent to the bridge and on its way. Pakcet time-to-live should be decremented by 1 at each hop. and the packet should reach its destination before the time-to-live gets to zero.

Reinject packet to source node's transmit queue

At the moment, packets are reinjected to the destination node's transmit queue. This is OK when there are only 2 namespaces involved, but becomes cumbersome as the number of namespaces increases as would be the case in a Kubernetes system. This issue will change to using the source node's transmit queue, from where linux kerne; routing weill get the packet to the right destination. The packet will not be directed to user space a second time because the map is updated before the packet arrives again.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.