Old good cBPF and program size

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



While eBPF is all the rage, I keep starry eyes about the simplicity and power of old good cBPF: needs no complex toolchain, and lets you revive fond asm memories :)

I came across a situation where it was the silver bullet, but for one nagging limitation:

    #define XT_BPF_MAX_NUM_INSTR   64

hardcoded into a kernel header (xt_bpf.h).
My situation required a longer program (120 insns or so). This tends to happen when loops are not permitted, and the protocol to parse is DNS (which finds it funny to stick the most important field, RR, behind a variable number of variable length chunks, the FQDN words).

So I fixed that value, with a similar patch to the iptables executable, and of course that works beautifully: "-m bpf" with some headroom gives new perspectives :)

Now, I'm here to ask whether that ship has sailed or not: is cBPF considered a thing of the past, where any improvement would hinder eBPF adoption, or would people see some value in removing that nagging limitation (with a /proc tunable for instance, defaulting to the old value) ?


Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.

[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux