Module Name: src Committed By: uwe Date: Sat Feb 11 11:02:31 UTC 2023
Modified Files: src/share/man/man4: bpf.4 Log Message: bpf(4): use \[<-] instead of <- To generate a diff of this commit: cvs rdiff -u -r1.67 -r1.68 src/share/man/man4/bpf.4 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/share/man/man4/bpf.4 diff -u src/share/man/man4/bpf.4:1.67 src/share/man/man4/bpf.4:1.68 --- src/share/man/man4/bpf.4:1.67 Sat Feb 11 02:52:52 2023 +++ src/share/man/man4/bpf.4 Sat Feb 11 11:02:31 2023 @@ -1,6 +1,6 @@ .\" -*- nroff -*- .\" -.\" $NetBSD: bpf.4,v 1.67 2023/02/11 02:52:52 uwe Exp $ +.\" $NetBSD: bpf.4,v 1.68 2023/02/11 11:02:31 uwe Exp $ .\" .\" Copyright (c) 1990, 1991, 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -601,16 +601,16 @@ or byte Arithmetic overflow when calculating a variable offset terminates the filter program and the packet is ignored. The semantics of all the recognized BPF_LD instructions follow. -.Bl -column "BPF_LD_BPF_W_BPF_ABS" "A <- P[k:4]" -offset indent -.It Sy BPF_LD+BPF_W+BPF_ABS Ta A <- P[k:4] -.It Sy BPF_LD+BPF_H+BPF_ABS Ta A <- P[k:2] -.It Sy BPF_LD+BPF_B+BPF_ABS Ta A <- P[k:1] -.It Sy BPF_LD+BPF_W+BPF_IND Ta A <- P[X+k:4] -.It Sy BPF_LD+BPF_H+BPF_IND Ta A <- P[X+k:2] -.It Sy BPF_LD+BPF_B+BPF_IND Ta A <- P[X+k:1] -.It Sy BPF_LD+BPF_W+BPF_LEN Ta A <- len -.It Sy BPF_LD+BPF_IMM Ta A <- k -.It Sy BPF_LD+BPF_MEM Ta A <- M[k] +.Bl -column "BPF_LD_BPF_W_BPF_ABS" "A \[<-] P[k:4]" -offset indent +.It Sy BPF_LD+BPF_W+BPF_ABS Ta A \[<-] P[k:4] +.It Sy BPF_LD+BPF_H+BPF_ABS Ta A \[<-] P[k:2] +.It Sy BPF_LD+BPF_B+BPF_ABS Ta A \[<-] P[k:1] +.It Sy BPF_LD+BPF_W+BPF_IND Ta A \[<-] P[X+k:4] +.It Sy BPF_LD+BPF_H+BPF_IND Ta A \[<-] P[X+k:2] +.It Sy BPF_LD+BPF_B+BPF_IND Ta A \[<-] P[X+k:1] +.It Sy BPF_LD+BPF_W+BPF_LEN Ta A \[<-] len +.It Sy BPF_LD+BPF_IMM Ta A \[<-] k +.It Sy BPF_LD+BPF_MEM Ta A \[<-] M[k] .El .It Sy BPF_LDX These instructions load a value into the index register. @@ -618,23 +618,23 @@ Note that the addressing modes are more the accumulator loads, but they include .Sy BPF_MSH , a hack for efficiently loading the IP header length. -.Bl -column "BPF_LDX_BPF_W_BPF_MEM" "X <- k" -offset indent -.It Sy BPF_LDX+BPF_W+BPF_IMM Ta X <- k -.It Sy BPF_LDX+BPF_W+BPF_MEM Ta X <- M[k] -.It Sy BPF_LDX+BPF_W+BPF_LEN Ta X <- len -.It Sy BPF_LDX+BPF_B+BPF_MSH Ta X <- 4*(P[k:1]&0xf) +.Bl -column "BPF_LDX_BPF_W_BPF_MEM" "X \[<-] k" -offset indent +.It Sy BPF_LDX+BPF_W+BPF_IMM Ta X \[<-] k +.It Sy BPF_LDX+BPF_W+BPF_MEM Ta X \[<-] M[k] +.It Sy BPF_LDX+BPF_W+BPF_LEN Ta X \[<-] len +.It Sy BPF_LDX+BPF_B+BPF_MSH Ta X \[<-] 4*(P[k:1]&0xf) .El .It Sy BPF_ST This instruction stores the accumulator into the scratch memory. We do not need an addressing mode since there is only one possibility for the destination. -.Bl -column "BPF_ST" "M[k] <- A" -offset indent -.It Sy BPF_ST Ta M[k] <- A +.Bl -column "BPF_ST" "M[k] \[<-] A" -offset indent +.It Sy BPF_ST Ta M[k] \[<-] A .El .It Sy BPF_STX This instruction stores the index register in the scratch memory store. -.Bl -column "BPF_STX" "M[k] <- X" -offset indent -.It Sy BPF_STX Ta M[k] <- X +.Bl -column "BPF_STX" "M[k] \[<-] X" -offset indent +.It Sy BPF_STX Ta M[k] \[<-] X .El .It Sy BPF_ALU The alu instructions perform operations between the accumulator and @@ -643,24 +643,24 @@ For binary operations, a source mode is .Sy ( BPF_K or .Sy BPF_X ) . -.Bl -column "BPF_ALU_BPF_ADD_BPF_K" "A <- A + k" -offset indent -.It Sy BPF_ALU+BPF_ADD+BPF_K Ta A <- A + k -.It Sy BPF_ALU+BPF_SUB+BPF_K Ta A <- A - k -.It Sy BPF_ALU+BPF_MUL+BPF_K Ta A <- A * k -.It Sy BPF_ALU+BPF_DIV+BPF_K Ta A <- A / k -.It Sy BPF_ALU+BPF_AND+BPF_K Ta A <- A & k -.It Sy BPF_ALU+BPF_OR+BPF_K Ta A <- A | k -.It Sy BPF_ALU+BPF_LSH+BPF_K Ta A <- A << k -.It Sy BPF_ALU+BPF_RSH+BPF_K Ta A <- A >> k -.It Sy BPF_ALU+BPF_ADD+BPF_X Ta A <- A + X -.It Sy BPF_ALU+BPF_SUB+BPF_X Ta A <- A - X -.It Sy BPF_ALU+BPF_MUL+BPF_X Ta A <- A * X -.It Sy BPF_ALU+BPF_DIV+BPF_X Ta A <- A / X -.It Sy BPF_ALU+BPF_AND+BPF_X Ta A <- A & X -.It Sy BPF_ALU+BPF_OR+BPF_X Ta A <- A | X -.It Sy BPF_ALU+BPF_LSH+BPF_X Ta A <- A << X -.It Sy BPF_ALU+BPF_RSH+BPF_X Ta A <- A >> X -.It Sy BPF_ALU+BPF_NEG Ta A <- -A +.Bl -column "BPF_ALU_BPF_ADD_BPF_K" "A \[<-] A + k" -offset indent +.It Sy BPF_ALU+BPF_ADD+BPF_K Ta A \[<-] A + k +.It Sy BPF_ALU+BPF_SUB+BPF_K Ta A \[<-] A - k +.It Sy BPF_ALU+BPF_MUL+BPF_K Ta A \[<-] A * k +.It Sy BPF_ALU+BPF_DIV+BPF_K Ta A \[<-] A / k +.It Sy BPF_ALU+BPF_AND+BPF_K Ta A \[<-] A & k +.It Sy BPF_ALU+BPF_OR+BPF_K Ta A \[<-] A | k +.It Sy BPF_ALU+BPF_LSH+BPF_K Ta A \[<-] A << k +.It Sy BPF_ALU+BPF_RSH+BPF_K Ta A \[<-] A >> k +.It Sy BPF_ALU+BPF_ADD+BPF_X Ta A \[<-] A + X +.It Sy BPF_ALU+BPF_SUB+BPF_X Ta A \[<-] A - X +.It Sy BPF_ALU+BPF_MUL+BPF_X Ta A \[<-] A * X +.It Sy BPF_ALU+BPF_DIV+BPF_X Ta A \[<-] A / X +.It Sy BPF_ALU+BPF_AND+BPF_X Ta A \[<-] A & X +.It Sy BPF_ALU+BPF_OR+BPF_X Ta A \[<-] A | X +.It Sy BPF_ALU+BPF_LSH+BPF_X Ta A \[<-] A << X +.It Sy BPF_ALU+BPF_RSH+BPF_X Ta A \[<-] A >> X +.It Sy BPF_ALU+BPF_NEG Ta A \[<-] -A .El .It Sy BPF_JMP The jump instructions alter flow of control. @@ -706,17 +706,17 @@ fit into the above classes, and for any be added. Currently, these are the register transfer instructions that copy the index register to the accumulator or vice versa. -.Bl -column "BPF_MISC+BPF_TAX" "X <- A" -offset indent -.It Sy BPF_MISC+BPF_TAX Ta X <- A -.It Sy BPF_MISC+BPF_TXA Ta A <- X +.Bl -column "BPF_MISC+BPF_TAX" "X \[<-] A" -offset indent +.It Sy BPF_MISC+BPF_TAX Ta X \[<-] A +.It Sy BPF_MISC+BPF_TXA Ta A \[<-] X .El .Pp Also, two instructions to call a "coprocessor" if initialized by the kernel component. There is no coprocessor by default. -.Bl -column "BPF_MISC+BPF_COPX" "A <- funcs[X](...)" -offset indent -.It Sy BPF_MISC+BPF_COP Ta A <- funcs[k](..) -.It Sy BPF_MISC+BPF_COPX Ta A <- funcs[X](..) +.Bl -column "BPF_MISC+BPF_COPX" "A \[<-] funcs[X](...)" -offset indent +.It Sy BPF_MISC+BPF_COP Ta A \[<-] funcs[k](..) +.It Sy BPF_MISC+BPF_COPX Ta A \[<-] funcs[X](..) .El .Pp If the coprocessor is not set or the function index is out of range, these