Liking cljdoc? Tell your friends :D

clj-ebpf.net.udp

UDP packet parsing and manipulation helpers for eBPF programs.

UDP packet parsing and manipulation helpers for eBPF programs.
raw docstring

DHCP-CLIENT-PORT-BEclj

source

DHCP-SERVER-PORT-BEclj

source

DNS-PORT-BEclj

source

get-payload-lenclj

(get-payload-len len-reg udp-hdr-reg)

Calculate UDP payload length from UDP length field. Payload length = UDP length - 8

len-reg: Register to store payload length (also used as scratch) udp-hdr-reg: Register pointing to UDP header

Calculate UDP payload length from UDP length field.
Payload length = UDP length - 8

len-reg: Register to store payload length (also used as scratch)
udp-hdr-reg: Register pointing to UDP header
sourceraw docstring

get-payload-ptrclj

(get-payload-ptr payload-reg udp-hdr-reg)

Calculate pointer to UDP payload. UDP header is always 8 bytes.

payload-reg: Register to store payload pointer udp-hdr-reg: Register pointing to UDP header

Calculate pointer to UDP payload.
UDP header is always 8 bytes.

payload-reg: Register to store payload pointer
udp-hdr-reg: Register pointing to UDP header
sourceraw docstring

is-dhcp-requestclj

(is-dhcp-request dport-reg dhcp-label)

Check if this is a DHCP request (dport 67).

dport-reg: Register containing destination port (network order) dhcp-label: Label to jump to if DHCP request

Check if this is a DHCP request (dport 67).

dport-reg: Register containing destination port (network order)
dhcp-label: Label to jump to if DHCP request
sourceraw docstring

is-dnsclj

(is-dns dport-reg dns-label)

Check if destination port is DNS (53).

dport-reg: Register containing destination port (network order) dns-label: Label to jump to if DNS

Check if destination port is DNS (53).

dport-reg: Register containing destination port (network order)
dns-label: Label to jump to if DNS
sourceraw docstring

is-dportclj

(is-dport dport-reg port match-label)

Check if destination port matches (network byte order comparison).

dport-reg: Register containing destination port (network order) port: Port number (will be converted to network order) match-label: Label to jump to if ports match

Check if destination port matches (network byte order comparison).

dport-reg: Register containing destination port (network order)
port: Port number (will be converted to network order)
match-label: Label to jump to if ports match
sourceraw docstring

is-sportclj

(is-sport sport-reg port match-label)

Check if source port matches (network byte order comparison).

sport-reg: Register containing source port (network order) port: Port number (will be converted to network order) match-label: Label to jump to if ports match

Check if source port matches (network byte order comparison).

sport-reg: Register containing source port (network order)
port: Port number (will be converted to network order)
match-label: Label to jump to if ports match
sourceraw docstring

load-checksumclj

(load-checksum dst-reg udp-hdr-reg)

Load UDP checksum field into dst-reg.

dst-reg: Destination register udp-hdr-reg: Register pointing to UDP header

Load UDP checksum field into dst-reg.

dst-reg: Destination register
udp-hdr-reg: Register pointing to UDP header
sourceraw docstring

load-dportclj

(load-dport dst-reg udp-hdr-reg)

Load UDP destination port into dst-reg (network byte order).

dst-reg: Destination register udp-hdr-reg: Register pointing to UDP header

Load UDP destination port into dst-reg (network byte order).

dst-reg: Destination register
udp-hdr-reg: Register pointing to UDP header
sourceraw docstring

load-fieldclj

(load-field dst-reg udp-hdr-reg field size)

Load a UDP header field into dst-reg.

dst-reg: Destination register udp-hdr-reg: Register pointing to start of UDP header field: Field keyword (:sport, :dport, :len, :check) size: :b (byte), :h (half-word)

Load a UDP header field into dst-reg.

dst-reg: Destination register
udp-hdr-reg: Register pointing to start of UDP header
field: Field keyword (:sport, :dport, :len, :check)
size: :b (byte), :h (half-word)
sourceraw docstring

load-lengthclj

(load-length dst-reg udp-hdr-reg)

Load UDP length field into dst-reg (network byte order).

dst-reg: Destination register udp-hdr-reg: Register pointing to UDP header

Load UDP length field into dst-reg (network byte order).

dst-reg: Destination register
udp-hdr-reg: Register pointing to UDP header
sourceraw docstring

load-length-hostclj

(load-length-host dst-reg udp-hdr-reg)

Load UDP length field in host byte order.

dst-reg: Destination register udp-hdr-reg: Register pointing to UDP header

Load UDP length field in host byte order.

dst-reg: Destination register
udp-hdr-reg: Register pointing to UDP header
sourceraw docstring

load-portsclj

(load-ports sport-reg dport-reg udp-hdr-reg)

Load UDP source and destination ports. Ports are loaded in network byte order.

sport-reg: Register for source port dport-reg: Register for destination port udp-hdr-reg: Register pointing to UDP header

Load UDP source and destination ports.
Ports are loaded in network byte order.

sport-reg: Register for source port
dport-reg: Register for destination port
udp-hdr-reg: Register pointing to UDP header
sourceraw docstring

load-ports-hostclj

(load-ports-host sport-reg dport-reg udp-hdr-reg)

Load UDP source and destination ports in host byte order.

sport-reg: Register for source port (host order) dport-reg: Register for destination port (host order) udp-hdr-reg: Register pointing to UDP header

Load UDP source and destination ports in host byte order.

sport-reg: Register for source port (host order)
dport-reg: Register for destination port (host order)
udp-hdr-reg: Register pointing to UDP header
sourceraw docstring

load-sportclj

(load-sport dst-reg udp-hdr-reg)

Load UDP source port into dst-reg (network byte order).

dst-reg: Destination register udp-hdr-reg: Register pointing to UDP header

Load UDP source port into dst-reg (network byte order).

dst-reg: Destination register
udp-hdr-reg: Register pointing to UDP header
sourceraw docstring

NTP-PORT-BEclj

source

parse-udp-headerclj

(parse-udp-header udp-hdr-reg
                  data-end-reg
                  sport-reg
                  dport-reg
                  fail-label
                  scratch-reg)

Parse UDP header and check bounds. Returns instructions that:

  1. Check bounds for UDP header (8 bytes)
  2. Load source and destination ports

udp-hdr-reg: Register pointing to UDP header start data-end-reg: Register containing data_end pointer sport-reg: Register to store source port dport-reg: Register to store destination port fail-label: Label to jump to on bounds failure scratch-reg: Scratch register for bounds check

Parse UDP header and check bounds.
Returns instructions that:
1. Check bounds for UDP header (8 bytes)
2. Load source and destination ports

udp-hdr-reg: Register pointing to UDP header start
data-end-reg: Register containing data_end pointer
sport-reg: Register to store source port
dport-reg: Register to store destination port
fail-label: Label to jump to on bounds failure
scratch-reg: Scratch register for bounds check
sourceraw docstring

SNMP-PORT-BEclj

source

store-checksumclj

(store-checksum udp-hdr-reg csum-reg)

Store UDP checksum field.

udp-hdr-reg: Register pointing to UDP header csum-reg: Register containing checksum

Store UDP checksum field.

udp-hdr-reg: Register pointing to UDP header
csum-reg: Register containing checksum
sourceraw docstring

store-dportclj

(store-dport udp-hdr-reg port-reg)

Store UDP destination port (expects network byte order).

udp-hdr-reg: Register pointing to UDP header port-reg: Register containing port (network order)

Store UDP destination port (expects network byte order).

udp-hdr-reg: Register pointing to UDP header
port-reg: Register containing port (network order)
sourceraw docstring

store-fieldclj

(store-field udp-hdr-reg field src-reg size)

Store value to UDP header field.

udp-hdr-reg: Register pointing to UDP header start field: Field keyword src-reg: Register containing value to store size: :h for all UDP fields

Store value to UDP header field.

udp-hdr-reg: Register pointing to UDP header start
field: Field keyword
src-reg: Register containing value to store
size: :h for all UDP fields
sourceraw docstring

store-lengthclj

(store-length udp-hdr-reg len-reg)

Store UDP length field (expects network byte order).

udp-hdr-reg: Register pointing to UDP header len-reg: Register containing length (network order)

Store UDP length field (expects network byte order).

udp-hdr-reg: Register pointing to UDP header
len-reg: Register containing length (network order)
sourceraw docstring

store-port-hostclj

(store-port-host udp-hdr-reg field port-reg scratch-reg)

Store UDP port from host byte order value.

udp-hdr-reg: Register pointing to UDP header field: :sport or :dport port-reg: Register containing port (host order) scratch-reg: Scratch register for byte order conversion

Store UDP port from host byte order value.

udp-hdr-reg: Register pointing to UDP header
field: :sport or :dport
port-reg: Register containing port (host order)
scratch-reg: Scratch register for byte order conversion
sourceraw docstring

store-sportclj

(store-sport udp-hdr-reg port-reg)

Store UDP source port (expects network byte order).

udp-hdr-reg: Register pointing to UDP header port-reg: Register containing port (network order)

Store UDP source port (expects network byte order).

udp-hdr-reg: Register pointing to UDP header
port-reg: Register containing port (network order)
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close