IOVisor help


Yonghong Song
 

Ashhad,

At this moment, you can look at the following two tests:
  Test #10: py_test_brb
  Test #11: py_test_brb2

It does not really punt the packet to user space. But the example punts the packet to router namespace
or bridge interface, and you can still use it as a learning guide.

To punt the packet to user space, you can attach the bpf program to a tap interface and user space application
opens that tap interface. user space will be able to receive packets from or send packets to bpf program.

We will add an test example soon.

Yonghong


On Tue, Sep 29, 2015 at 3:35 AM, Ashhad Sheikh via iovisor-dev <iovisor-dev@...> wrote:
Hello Brenden,
Thanks for your helpful replay. These are actually interesting things you mentioned I will surely look into these. Using SOCKET was my initial idea but I want to know that are they full duplex or not?(What if user space wants to send back something)
I simple want to send traffic from data plane to user space and back to data plane after some processing. Also it will be highly appreciable if you please link me any example related to SOCKETS.

Regards
Ashhad

On Wed, Sep 23, 2015 at 10:00 AM Brenden Blanco <bblanco@...> wrote:
Hello Ashhad,

It would be good to know what type of use case you have in mind for transferring data between user and kernel space, then perhaps I can answer more accurately.

For instance, if using the KPROBE program type, it is possible to use a BPF program as a filter of events that are later accessible through mmap, see "MMAP layout" in http://man7.org/linux/man-pages/man2/perf_event_open.2.html.

Or, if using a SOCKET type, the BPF program works as it does traditionally with tcpdump, to filter packets into a socket. A userspace program can listen on said socket.

For the SCHED_ACT and SCHED_CLS types, the BPF program can use a helper function to clone or redirect a packet to an ifindex of its choosing.

Please let me know which of these categories you are interested in.

Thanks,
Brenden Blanco

On Tue, Sep 22, 2015 at 4:57 AM, Ashhad Sheikh via iovisor-dev <iovisor-dev@...> wrote:
Hello, I am Ashhad. A CS major undergraduate student. I am researching on iOVISOR, specifically on it's real life performance.

I want to ask that Is it possible to have netlink communication between eBPF code and userspace --- if so how? I want to see if user space programs can communicate with eBPF beyond polling shared maps or not.
Waiting for a helpful response

Regards



_______________________________________________
iovisor-dev mailing list
iovisor-dev@...
https://lists.iovisor.org/mailman/listinfo/iovisor-dev


_______________________________________________
iovisor-dev mailing list
iovisor-dev@...
https://lists.iovisor.org/mailman/listinfo/iovisor-dev



Ashhad Sheikh <ashhadsheikh394@...>
 

Hello Brenden,
Thanks for your helpful replay. These are actually interesting things you mentioned I will surely look into these. Using SOCKET was my initial idea but I want to know that are they full duplex or not?(What if user space wants to send back something)
I simple want to send traffic from data plane to user space and back to data plane after some processing. Also it will be highly appreciable if you please link me any example related to SOCKETS.

Regards
Ashhad

On Wed, Sep 23, 2015 at 10:00 AM Brenden Blanco <bblanco@...> wrote:
Hello Ashhad,

It would be good to know what type of use case you have in mind for transferring data between user and kernel space, then perhaps I can answer more accurately.

For instance, if using the KPROBE program type, it is possible to use a BPF program as a filter of events that are later accessible through mmap, see "MMAP layout" in http://man7.org/linux/man-pages/man2/perf_event_open.2.html.

Or, if using a SOCKET type, the BPF program works as it does traditionally with tcpdump, to filter packets into a socket. A userspace program can listen on said socket.

For the SCHED_ACT and SCHED_CLS types, the BPF program can use a helper function to clone or redirect a packet to an ifindex of its choosing.

Please let me know which of these categories you are interested in.

Thanks,
Brenden Blanco

On Tue, Sep 22, 2015 at 4:57 AM, Ashhad Sheikh via iovisor-dev <iovisor-dev@...> wrote:
Hello, I am Ashhad. A CS major undergraduate student. I am researching on iOVISOR, specifically on it's real life performance.

I want to ask that Is it possible to have netlink communication between eBPF code and userspace --- if so how? I want to see if user space programs can communicate with eBPF beyond polling shared maps or not.
Waiting for a helpful response

Regards



_______________________________________________
iovisor-dev mailing list
iovisor-dev@...
https://lists.iovisor.org/mailman/listinfo/iovisor-dev


Brenden Blanco <bblanco@...>
 

Hello Ashhad,

It would be good to know what type of use case you have in mind for transferring data between user and kernel space, then perhaps I can answer more accurately.

For instance, if using the KPROBE program type, it is possible to use a BPF program as a filter of events that are later accessible through mmap, see "MMAP layout" in http://man7.org/linux/man-pages/man2/perf_event_open.2.html.

Or, if using a SOCKET type, the BPF program works as it does traditionally with tcpdump, to filter packets into a socket. A userspace program can listen on said socket.

For the SCHED_ACT and SCHED_CLS types, the BPF program can use a helper function to clone or redirect a packet to an ifindex of its choosing.

Please let me know which of these categories you are interested in.

Thanks,
Brenden Blanco

On Tue, Sep 22, 2015 at 4:57 AM, Ashhad Sheikh via iovisor-dev <iovisor-dev@...> wrote:
Hello, I am Ashhad. A CS major undergraduate student. I am researching on iOVISOR, specifically on it's real life performance.

I want to ask that Is it possible to have netlink communication between eBPF code and userspace --- if so how? I want to see if user space programs can communicate with eBPF beyond polling shared maps or not.
Waiting for a helpful response

Regards



_______________________________________________
iovisor-dev mailing list
iovisor-dev@...
https://lists.iovisor.org/mailman/listinfo/iovisor-dev


ashhadsheikh394@...
 

Hello, I am Ashhad. A CS major undergraduate student. I am researching on iOVISOR, specifically on it's real life performance.

I want to ask that Is it possible to have netlink communication between eBPF code and userspace --- if so how? I want to see if user space programs can communicate with eBPF beyond polling shared maps or not.
Waiting for a helpful response

Regards