• Dave Thaler's avatar
    bpf, docs: Use IETF format for field definitions in instruction-set.rst · 4e73e1bc
    Dave Thaler authored
    In preparation for publication as an IETF RFC, the WG chairs asked me
    to convert the document to use IETF packet format for field layout, so
    this patch attempts to make it consistent with other IETF documents.
    
    Some fields that are not byte aligned were previously inconsistent
    in how values were defined.  Some were defined as the value of the
    byte containing the field (like 0x20 for a field holding the high
    four bits of the byte), and others were defined as the value of the
    field itself (like 0x2).  This PR makes them be consistent in using
    just the values of the field itself, which is IETF convention.
    
    As a result, some of the defines that used BPF_* would no longer
    match the value in the spec, and so this patch also drops the BPF_*
    prefix to avoid confusion with the defines that are the full-byte
    equivalent values.  For consistency, BPF_* is then dropped from
    other fields too.  BPF_<foo> is thus the Linux implementation-specific
    define for <foo> as it appears in the BPF ISA specification.
    
    The syntax BPF_ADD | BPF_X | BPF_ALU only worked for full-byte
    values so the convention {ADD, X, ALU} is proposed for referring
    to field values instead.
    
    Also replace the redundant "LSB bits" with "least significant bits".
    
    A preview of what the resulting Internet Draft would look like can
    be seen at:
    https://htmlpreview.github.io/?https://raw.githubusercontent.com/dthaler/ebp
    f-docs-1/format/draft-ietf-bpf-isa.html
    
    v1->v2: Fix sphinx issue as recommended by David Vernet
    Signed-off-by: default avatarDave Thaler <dthaler1968@gmail.com>
    Acked-by: default avatarDavid Vernet <void@manifault.com>
    Link: https://lore.kernel.org/r/20240301222337.15931-1-dthaler1968@gmail.comSigned-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    4e73e1bc
instruction-set.rst 27.1 KB