Re: Calculating a hash from a eBPF program?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/27/2017 10:45 PM, Dan Siemon wrote:
[This isn't strictly an XDP question, I'm using cls_bpf but I don't
know of a better place to ask]

Is there a way to calculate a hash of a struct or other data from
within an eBPF program? I need to build a classifier that can hash a
flow encapsulated in protocols like PPPoE or GTP-U. Basically like
cls_flow's use of jhash2 but at a different offset. I looked at the
helpers in bpf.h but don't see anything helpful there.

Why no implement it inside the BPF prog like it's done here [1]
(the example is XDP but cls_bpf should work just as well)?

There's also a bpf_set_hash(struct __sk_buff *skb, u32 hash)
helper (net-next) for cls_bpf, where you can then use the jhash
result and set it as skb->hash.

  [1] http://lingrok.org/xref/linux-net-next/tools/testing/selftests/bpf/test_l4lb.c#26

Thanks.




[Index of Archives]     [Linux Networking Development]     [Fedora Linux Users]     [Linux SCTP]     [DCCP]     [Gimp]     [Yosemite Campsites]

  Powered by Linux