Re: [iovisor-dev] Accessing __string fields in tracepoints

2017-02-01 Thread Alexei Starovoitov via iovisor-dev
On Wed, Feb 1, 2017 at 1:25 AM, Sasha Goldshtein wrote: > > Do you expect the data_loc field structure to change? E.g., do you expect > the size to be != 4 bytes, and the two words (length, offset) to mean > something > else in the future? I don't expect it to change any time

Re: [iovisor-dev] Accessing __string fields in tracepoints

2017-02-01 Thread Sasha Goldshtein via iovisor-dev
Awesome, thanks Derek and Alexei! > > > yeah that's a bug. bcc needs to have some field in there to cover dataloc. > The offset will be pointing past the normal fields and > it's accessible via bpf_probe_read. When tracepoint is fired, > kernel already copied skb->dev->name into that buffer. >

Re: [iovisor-dev] Accessing __string fields in tracepoints

2017-01-31 Thread Alexei Starovoitov via iovisor-dev
On Tue, Jan 31, 2017 at 4:19 AM, Sasha Goldshtein via iovisor-dev wrote: > Hi all, > > I'm trying to attach a BPF program to a tracepoint that has a __string > field, such as net:net_dev_start_xmit. This tracepoint has the following > format (from

Re: [iovisor-dev] Accessing __string fields in tracepoints

2017-01-31 Thread Derek via iovisor-dev
Hi Sasha > 1) How do we get access to the __data_loc field? (I can fetch the same info from skb->dev->name but if there's a way to work with the __data_loc field directly, it's even better.) It is a dynamic array in kernel, the size can't be determined during compiling time. At run time, kernel

[iovisor-dev] Accessing __string fields in tracepoints

2017-01-31 Thread Sasha Goldshtein via iovisor-dev
Hi all, I'm trying to attach a BPF program to a tracepoint that has a __string field, such as net:net_dev_start_xmit. This tracepoint has the following format (from debugfs/events/.../format): name: net_dev_start_xmit ID: 1159 format: field:unsigned short common_type; offset:0; size:2; signed:0;