Lines Matching refs:packet
104 performed on a memory area representing the packet data. However, in the Linux
107 metadata about the packet—including memory addresses of the beginning and of
108 the end of the packet data area. So the program first loads those pointers from
109 the `sk_buff`, and then can access the packet data.
118 start and the end of the packet data memory area.
125 of packet data in the buffer. On calling the function that runs the program
128 packet data the program is called upon.
130 * `struct EbpfVmRaw` is for programs that want to run directly on packet data.
132 address of the packet data in its first register. This is the behavior of
168 the memory area of packet data are to be stored in the internal metadata buffer
226 Interprets the loaded program. The function takes a reference to the packet
227 data and the metadata buffer, or only to the packet data, or nothing at all,
279 // takes no packet data in argument.
288 ### With JIT, on packet data
307 // directly reads from packet data)
317 // Then we execute it. For this kind of VM, a reference to the packet
344 // we store the pointers to packet data start and end in it.
363 // Here we must provide both a reference to the packet data, and to the
387 create a new buffer for each packet. It may be useful for programs compiled for
389 the packet data start and end addresses. So here we just provide the offsets at
391 buffer update so that we only have to provide a reference to the packet data
421 // This is our data: a real packet, starting with Ethernet header
422 let packet = &mut [
445 // We must provide the offsets at which the pointers to packet data start
447 // load the packet data from the metadata buffer.
458 // This kind of VM takes a reference to the packet data, but does not need
461 let res = vm.execute_program(packet).unwrap();
619 * The distinct structs permitting to run program either on packet data, or with