From 50989e2cda0233dbf07a6d349d44d5a3c85b9fdb Mon Sep 17 00:00:00 2001 From: Iliya Iliev Date: Tue, 2 May 2023 08:11:01 +0300 Subject: [PATCH] docs: Update changelog Signed-off-by: Iliya Iliev --- docs/.doctrees/changelog.doctree | Bin 15308 -> 14876 bytes docs/.doctrees/environment.pickle | Bin 104986 -> 104974 bytes docs/_modules/xdp_sock.c.html | 4 ++-- docs/changelog.html | 25 +++++++++++-------------- docs/searchindex.js | 2 +- 5 files changed, 14 insertions(+), 17 deletions(-) diff --git a/docs/.doctrees/changelog.doctree b/docs/.doctrees/changelog.doctree index 299a5555a8694902cd47d0b018913ab6f8563512..20a01cc2a64b337b0f66b4e3ccf89eaaaef2cf3d 100644 GIT binary patch literal 14876 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 BpP2vv diff --git a/docs/_modules/xdp_sock.c.html b/docs/_modules/xdp_sock.c.html index 77fbc11..554fcfa 100644 --- a/docs/_modules/xdp_sock.c.html +++ b/docs/_modules/xdp_sock.c.html @@ -322,9 +322,9 @@

Source code for xdp_sock.c

     if (*self_p) {
         xdp_sock_t *self = *self_p;
         //  Free class properties here
-        struct xsk_umem *umem = self->umem->umem;
         xsk_socket__delete(self->xsk);
-        (void)xsk_umem__delete(umem);
+        (void)xsk_umem__delete(self->umem->umem);
+        free(self->umem);
 
         munmap(self->bufs, XDP_IFACE_XSK_FRAMES * XDP_IFACE_XSK_FRAMESIZE);
         //  Free object itself
diff --git a/docs/changelog.html b/docs/changelog.html
index e85f0d7..43351b3 100644
--- a/docs/changelog.html
+++ b/docs/changelog.html
@@ -97,45 +97,42 @@ 

ChangelogBranch:
main
Commit:
-

baa29ee17f

+

69d4864035

Warning

There were uncommitted changes when this was compiled.
-
-

Warning

-There were untracked files when this was compiled.

    -
  • bindings: go: Add go bindings by Iliya Iliev at 2023-04-23 15:36:38

    +
  • xdp_sock: Fix memory leak by Iliya Iliev at 2023-05-01 20:04:31

    Signed-off-by: Iliya Iliev <iliyailiev3592@gmail.com>

  • -
  • xdp_sock: Fix return value for recv by Iliya Iliev at 2023-04-23 15:36:17

    +
  • docs_src: Add docs to Cmake root by Iliya Iliev at 2023-05-01 19:47:53

    Signed-off-by: Iliya Iliev <iliyailiev3592@gmail.com>

  • -
  • bindings: cpp: Add CPP bindings by Iliya Iliev at 2023-04-23 13:27:37

    +
  • bindgins: Add bindings to Cmake root by Iliya Iliev at 2023-05-01 19:47:23

    Signed-off-by: Iliya Iliev <iliyailiev3592@gmail.com>

  • -
  • docs: Update usage & api info by Iliya Iliev at 2023-04-20 21:44:26

    +
  • bindings: go: Add .mod file by Iliya Iliev at 2023-05-01 19:43:32

    Signed-off-by: Iliya Iliev <iliyailiev3592@gmail.com>

  • -
  • bindings: python: Terminate process after 100 iterrations by Iliya Iliev at 2023-04-20 19:56:52

    +
  • bindings: Use default program options by Iliya Iliev at 2023-05-01 18:51:19

    Signed-off-by: Iliya Iliev <iliyailiev3592@gmail.com>

  • -
  • bindings: python: Add send thread to test app by Iliya Iliev at 2023-04-20 19:36:10

    +
  • xdp_sock_bpf: Install object files in libdir/bpf by Iliya Iliev at 2023-05-01 18:50:40

    Signed-off-by: Iliya Iliev <iliyailiev3592@gmail.com>

  • -
  • bindings: python: Implement send data path by Iliya Iliev at 2023-04-20 19:35:48

    +
  • xdp_iface_app: Use defaults by Iliya Iliev at 2023-05-01 18:49:56

    Signed-off-by: Iliya Iliev <iliyailiev3592@gmail.com>

  • -
  • xdp_iface_app: Add test application by Iliya Iliev at 2023-04-20 19:35:02

    +
  • api: xdp_sock: Add xdp default map & sockopts by Iliya Iliev at 2023-05-01 18:49:20

    Signed-off-by: Iliya Iliev <iliyailiev3592@gmail.com>

  • -
  • xdp_sock: Implement send data path by Iliya Iliev at 2023-04-20 19:34:38

    +
  • api: xdp_iface: Add xdp program defalut path by Iliya Iliev at 2023-05-01 18:48:29

    Signed-off-by: Iliya Iliev <iliyailiev3592@gmail.com>

  • -
  • Add Dockerfile by Iliya Iliev at 2023-04-20 14:16:44

    +
  • bindings: Add rust bindigns by Iliya Iliev at 2023-05-01 14:08:09

    Signed-off-by: Iliya Iliev <iliyailiev3592@gmail.com>

diff --git a/docs/searchindex.js b/docs/searchindex.js index 2c4251a..37ccda3 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/index", "api/xdp_iface", "api/xdp_sock", "changelog", "contributing/code", "contributing/index", "contributing/internals", "examples", "index", "license", "quickstart", "support"], "filenames": ["api/index.md", "api/xdp_iface.rst", "api/xdp_sock.rst", "changelog.md", "contributing/code.md", "contributing/index.md", "contributing/internals.md", "examples.md", "index.md", "license.rst", "quickstart.md", "support.md"], "titles": ["API", "XDP Interface", "XDP Socket", "Changelog", "Code base contributions", "Contributing", "Internals", "Examples", "XDP Interface", "License", "QuickStart", "Support"], "terms": {"branch": 3, "main": [3, 7], "commit": 3, "3e414b79e4": [], "There": 3, "were": [3, 4], "uncommit": 3, "chang": 3, "when": [3, 4], "thi": [1, 2, 3, 4, 7, 8, 10], "wa": 3, "compil": [3, 4], "untrack": 3, "file": [3, 4, 6], "api": [3, 6], "xdp_sock": [0, 2, 3, 7], "fix": [3, 4], "arg": [], "type": 2, "typo": [], "iliya": [3, 4, 11], "iliev": [3, 4, 11], "17": 3, "08": [], "26": 3, "sign": 3, "off": [3, 7], "iliyailiev3592": [3, 11], "gmail": [3, 11], "com": [3, 10, 11], "bind": [3, 4, 6, 8], "python": [3, 4, 7, 10], "add": [3, 4, 10], "exampl": 4, "applic": [3, 4, 10], "53": [], "07": [], "implement": [3, 4], "recv": [3, 4, 7], "data": [3, 4, 8], "path": [3, 4], "52": 3, "50": [], "47": [], "xdp_sock_bpf": [6, 7, 10], "xsk": 2, "map": 2, "redirect": [], "pkt": 7, "45": [], "44": 3, "xdp_ifac": [0, 1, 4, 7, 10], "get": [1, 2, 10], "prog": [], "method": 0, "09": [], "37": 3, "sock_new": [], "14": 3, "23": [3, 7], "39": [], "54": [], "name": [1, 2, 10], "38": [3, 10], "55": [], "xdp": [0, 7, 10], "sock": 7, "class": [0, 6, 7], "00": [], "24": [], "22": [], "59": [], "draft": 3, "latest": 3, "either": 4, "bug": [4, 11], "ad": 4, "new": [1, 2, 4], "function": 4, "ar": 4, "more": 4, "than": 4, "welcom": 4, "howev": 4, "pleas": 4, "consid": 4, "basic": [4, 8], "rule": 4, "guidelin": 4, "about": 4, "submit": 4, "If": [4, 11], "you": [1, 2, 4, 5, 10, 11], "follow": [4, 7, 10], "ll": 4, "help": [4, 11], "make": [4, 7, 10], "our": 4, "common": [4, 10], "effort": 4, "whole": 4, "thing": 4, "work": 4, "bit": 4, "easier": 4, "In": [4, 10], "particular": 4, "format": [4, 7], "style": 4, "whitespac": 4, "would": [4, 10], "otherwis": 4, "touch": 4, "patch": 4, "It": [4, 8], "s": [4, 7], "ok": 4, "issu": [4, 11], "immedi": 4, "area": 4, "few": 4, "line": [4, 7], "re": 4, "think": 4, "section": 4, "realli": 4, "doe": 4, "need": [4, 10, 11], "reindent": 4, "other": 4, "larg": 4, "scale": 4, "separ": 4, "which": [4, 8, 10], "semant": 4, "put": 4, "same": 4, "featur": 4, "longer": 4, "seri": 4, "logic": 4, "each": 4, "should": [4, 10], "execut": 4, "successfulli": 4, "For": [4, 10], "instanc": 4, "makefil": 4, "one": 4, "itself": 4, "two": [0, 4], "here": [4, 8], "so": [1, 2, 4], "peopl": 4, "can": [1, 2, 4, 8, 10], "later": 4, "us": [1, 2, 4, 6, 7, 8, 10, 11], "tool": [4, 10], "like": 4, "git": [4, 10], "bisect": 4, "without": 4, "hit": 4, "point": 4, "histori": 4, "where": 4, "build": [4, 6, 8], "doesn": 4, "reason": 4, "unrel": 4, "thei": 4, "chase": 4, "document": [4, 8], "first": 4, "last": 4, "someon": 4, "read": [2, 4], "do": 4, "clean": 4, "room": 4, "evalu": 4, "valid": 4, "match": 4, "A": 4, "mention": 4, "also": 4, "often": 4, "good": 4, "candid": 4, "multipl": 4, "thought": 4, "properli": 4, "see": 4, "advic": [4, 5], "from": [2, 4, 7], "openstack": 4, "stand": 4, "own": 4, "histor": 4, "record": 4, "why": 4, "appli": 4, "necessari": 4, "we": 4, "some": [4, 5], "examin": 4, "show": 4, "below": 4, "The": [0, 4, 6, 7, 8, 10], "snippet": 4, "repositori": 4, "9e475b3": 4, "6": 4, "hour": 4, "ago": 4, "d779316": 4, "part": 4, "delimit": 4, "symbol": 4, "associ": [1, 4], "modul": 4, "system": [4, 6, 8, 10], "relat": 4, "have": 4, "well": 4, "organis": 4, "log": 4, "modular": 4, "sourc": [1, 2, 4, 6], "helpful": 4, "back": 4, "track": 4, "easili": 4, "sinc": 4, "provid": [4, 5, 8], "clue": 4, "relev": 4, "an": [4, 8], "although": 4, "continu": 4, "integr": 4, "servic": 4, "attempt": 4, "newli": 4, "still": 4, "save": 4, "everyon": 4, "time": 4, "alreadi": 4, "softwar": [4, 10, 11], "peer": 4, "onli": [4, 6], "chip": 4, "goal": 4, "try": 4, "least": 4, "mani": 4, "what": [4, 5], "worri": 4, "know": 4, "perfectli": 4, "fine": 4, "admit": 4, "weak": 4, "becaus": 4, "unfamiliar": 4, "thank": 5, "your": 5, "interest": 5, "project": [5, 6, 10, 11], "intern": [5, 8], "describ": 5, "code": 5, "non": 5, "mandatori": 5, "how": [5, 7, 8], "pretti": [6, 10], "standard": [6, 10], "zproject": 6, "base": [6, 8, 10], "cmakelist": 6, "txt": 6, "root": 6, "cmake": [6, 8, 10], "includ": [6, 7], "shard": [], "lib": [6, 7], "header": 6, "interfac": [0, 7, 10], "sphinx_doc": [], "src": [6, 10], "purpous": 8, "guidanc": 8, "instal": 8, "apr": [], "16": 7, "2023": [], "4": 7, "min": [], "find": 11, "list": 11, "contant": 11, "engin": 11, "email": 11, "975947c0cc": [], "termin": 3, "process": [3, 10], "after": 3, "100": 3, "iterr": 3, "20": [3, 7], "19": [3, 10], "56": 3, "send": [2, 3, 7, 10], "thread": 3, "test": [3, 7, 10], "app": 3, "36": 3, "10": 3, "35": 3, "48": 3, "xdp_iface_app": 3, "02": 3, "34": 3, "dockerfil": [3, 6], "wakeup": [], "argument": [], "18": [], "05": [], "12": [], "xdp_log": [], "xdpifac": [0, 7, 8], "share": [6, 8, 10], "librari": [6, 8, 10], "consit": 8, "written": 8, "c": [7, 8, 10], "higher": 8, "level": 8, "languag": 8, "python3": [8, 10], "documentaion": 8, "easi": 8, "simpl": 8, "allow": 8, "input": 8, "output": 8, "over": 8, "ebpf": [1, 6, 8], "program": [1, 7, 8, 10], "tutori": [8, 10], "useful": 8, "inform": [8, 10], "libxdp": 8, "usag": [3, 8], "its": 8, "found": [8, 10], "develop": 8, "avail": 8, "under": 8, "offici": [8, 10], "linux": [8, 10], "kernel": 8, "achiv": 8, "libxp": 10, "libbpf": 10, "order": 10, "clone": 10, "debian": 10, "machin": 10, "start": 10, "instruct": 10, "bellow": 10, "apt": 10, "updat": [3, 10], "recommend": 10, "suggest": 10, "y": 10, "clang": 10, "llvm": 10, "libelf": 10, "dev": 10, "m4": 10, "libpcap": 10, "gcc": 10, "multilib": 10, "essenti": 10, "gener": 10, "cloud": 10, "5": 10, "0": [1, 2, 7, 10], "pkg": 10, "config": 10, "addit": 10, "complet": 10, "To": 10, "http": 10, "github": 10, "cd": 10, "submodul": 10, "init": 10, "configur": 10, "sudo": 10, "note": 10, "artefact": 10, "mai": [7, 10], "deploi": 10, "usr": 10, "lib64": 10, "ld_library_path": 10, "command": 10, "export": 10, "ldconfig": 10, "ilieviliya92": 10, "mkdir": 10, "result": 10, "directori": [6, 10], "xdpiface_app": 10, "simpli": 10, "load": [1, 7, 10], "o": [7, 10], "object": [1, 2, 10], "lo": [7, 10], "batch": [2, 7, 10], "packet": 10, "receiv": [2, 7, 10], "print": [7, 10], "stdout": 10, "run": 10, "quit": 10, "ctrl": 10, "bpf": 10, "socket": [0, 7, 10], "administr": 10, "privileg": 10, "similar": 10, "resid": 10, "py": 10, "current": 0, "consist": 0, "descript": 6, "core": 6, "compoment": 6, "doc": [3, 6], "docs_src": 6, "licens": 6, "xml": 6, "project_templ": 6, "gsl": 6, "templat": 6, "readm": 6, "md": 6, "constructor": 0, "destructor": 0, "xdp_iface_t": [1, 2, 7], "xdp_iface_new": [1, 7], "const": [1, 2, 7], "char": [1, 2, 7], "creat": [1, 2, 7], "return": [1, 2, 3, 7], "On": [1, 2], "success": [1, 2], "null": [1, 2], "could": [1, 2], "void": [1, 2, 7], "xdp_iface_destroi": [1, 7], "self_p": [1, 2], "destroi": [1, 2, 7], "must": [1, 2], "ani": [1, 2], "tcp": [1, 2], "server": [1, 2], "via": [1, 2], "paramet": [1, 2], "pointer": [1, 2], "refer": [1, 2], "nullifi": [1, 2], "none": [1, 2, 7], "int": [1, 2, 7], "xdp_iface_load_program": [1, 7], "self": [1, 2, 7], "xdp_prog_path": [1, 7], "err": [1, 2, 7], "valu": [1, 2, 3, 7], "failiur": [1, 2], "xdp_iface_unload_program": [1, 7], "unlooad": 1, "xdp_iface_get_nam": 1, "network": 1, "ro": 1, "string": [1, 7], "xdp_iface_get_prog": 1, "obejct": 1, "xdp_sock_t": [2, 7], "xdp_sock_new": [2, 7], "xdp_interfac": 2, "xdp_sock_destroi": [2, 7], "xdp_sock_lookup_bpf_map": [2, 7], "map_nam": 2, "uint32_t": [2, 7], "key_siz": 2, "value_s": 2, "xdp_sock_set_sockopt": [2, 7], "opt_typ": 2, "opt_valu": 2, "xdp_sock_get_fd": 2, "xdp_sock_rx_batch_get_s": [2, 7], "frames_rcvd": [2, 7], "nb": 2, "xdp_sock_rx_batch_releas": [2, 7], "xdp_sock_recv": [2, 7], "buffer": 2, "size_t": [2, 7], "buffer_s": 2, "xdp_sock_tx_batch_set_s": [2, 7], "xdp_sock_tx_batch_releas": [2, 7], "frames_send": 2, "xdp_sock_send": [2, 7], "baa29ee17f": 3, "go": 3, "15": 3, "cpp": 3, "13": 3, "27": 3, "info": 3, "21": 3, "attach": 2, "fd": 2, "set": 2, "option": 2, "descriptor": 2, "size": 2, "number": 2, "frame": [2, 7], "maximum": 2, "1": [2, 7], "releas": 2, "rx": 2, "tx": 2, "slot": 2, "prepar": 2, "ring": 2, "trigger": 2, "place": 2, "sy": 7, "h": 7, "xdpiface_class": 7, "static": 7, "hex_dump": 7, "length": 7, "unsign": 7, "address": 7, "line_s": 7, "32": 7, "buf": 7, "i": 7, "printf": 7, "zu": 7, "n": 7, "while": 7, "02x": 7, "__": 7, "right": 7, "close": 7, "33": 7, "255": 7, "0x2e": 7, "argc": 7, "argv": 7, "ret": 7, "batch_siz": 7, "30": 7, "i_buff": 7, "9000": 7, "i_buffer_s": 7, "o_buffer_s": 7, "1000": 7, "o_buff": 7, "memset": 7, "0x55": 7, "fail": 7, "goto": 7, "exit": 7, "xsks_map": 7, "so_prefer_busy_pol": 7, "so_busy_pol": 7, "so_busy_poll_budget": 7, "cstring": 7, "iostream": 7, "hpp": 7, "hexdump": 7, "ptr": 7, "buflen": 7, "j": 7, "06x": 7, "els": 7, "isprint": 7, "std": 7, "loadprogram": 7, "xdpsock": 7, "lookupbpfmap": 7, "setsockopt": 7, "txbatchsets": 7, "txbatchreleas": 7, "rxbatchgets": 7, "rxbatchreleas": 7, "cout": 7, "endl": 7, "unloadprogram": 7, "def": 7, "load_program": 7, "lookup_bpf_map": 7, "b": 7, "set_sockopt": 7, "frames_recd": 7, "c_int": 7, "create_string_buff": 7, "c_size_t": 7, "frames_receiv": 7, "1500": 7, "raw": 7, "bytearrai": 7, "tx_batch_set_s": 7, "rang": 7, "tx_batch_releas": 7, "rx_batch_get_s": 7, "rx_batch_releas": 7, "unload_program": 7, "__init__": 7, "__iter__": 7, "last_b": 7, "last_lin": 7, "len": 7, "bs": 7, "08x": 7, "join": 7, "x": 7, "8": 7, "chr": 7, "127": 7, "yield": 7, "__str__": 7, "__repr__": 7, "__name__": 7, "__main__": 7, "golang": 7, "packag": 7, "import": 7, "encod": 7, "hex": 7, "byte": 7, "fmt": 7, "vari": 7, "func": 7, "uint32": 7, "var": 7, "obuffers": 7, "obuff": 7, "repeat": 7, "ibuffers": 7, "ibuff": 7, "xdpifacenew": 7, "nil": 7, "t": 7, "errorf": 7, "ifac": 7, "defer": 7, "xdpsocknew": 7, "loopupbpfmap": 7, "println": 7, "dump": 7, "illustr": 7, "ctype": 7, "kei": 2}, "objects": {"": [[1, 0, 1, "c.xdp_iface_destroy", "xdp_iface_destroy"], [1, 0, 1, "c.xdp_iface_get_name", "xdp_iface_get_name"], [1, 0, 1, "c.xdp_iface_get_prog", "xdp_iface_get_prog"], [1, 0, 1, "c.xdp_iface_load_program", "xdp_iface_load_program"], [1, 0, 1, "c.xdp_iface_new", "xdp_iface_new"], [1, 0, 1, "c.xdp_iface_unload_program", "xdp_iface_unload_program"], [2, 0, 1, "c.xdp_sock_destroy", "xdp_sock_destroy"], [2, 0, 1, "c.xdp_sock_get_fd", "xdp_sock_get_fd"], [2, 0, 1, "c.xdp_sock_lookup_bpf_map", "xdp_sock_lookup_bpf_map"], [2, 0, 1, "c.xdp_sock_new", "xdp_sock_new"], [2, 0, 1, "c.xdp_sock_recv", "xdp_sock_recv"], [2, 0, 1, "c.xdp_sock_rx_batch_get_size", "xdp_sock_rx_batch_get_size"], [2, 0, 1, "c.xdp_sock_rx_batch_release", "xdp_sock_rx_batch_release"], [2, 0, 1, "c.xdp_sock_send", "xdp_sock_send"], [2, 0, 1, "c.xdp_sock_set_sockopt", "xdp_sock_set_sockopt"], [2, 0, 1, "c.xdp_sock_tx_batch_release", "xdp_sock_tx_batch_release"], [2, 0, 1, "c.xdp_sock_tx_batch_set_size", "xdp_sock_tx_batch_set_size"]], "xdp_iface_destroy": [[1, 1, 1, "c.xdp_iface_destroy", "self_p"]], "xdp_iface_get_name": [[1, 1, 1, "c.xdp_iface_get_name", "self"]], "xdp_iface_get_prog": [[1, 1, 1, "c.xdp_iface_get_prog", "self"]], "xdp_iface_load_program": [[1, 1, 1, "c.xdp_iface_load_program", "self"], [1, 1, 1, "c.xdp_iface_load_program", "xdp_prog_path"]], "xdp_iface_new": [[1, 1, 1, "c.xdp_iface_new", "interface"]], "xdp_iface_unload_program": [[1, 1, 1, "c.xdp_iface_unload_program", "self"]], "xdp_sock_destroy": [[2, 1, 1, "c.xdp_sock_destroy", "self_p"]], "xdp_sock_get_fd": [[2, 1, 1, "c.xdp_sock_get_fd", "self"]], "xdp_sock_lookup_bpf_map": [[2, 1, 1, "c.xdp_sock_lookup_bpf_map", "key_size"], [2, 1, 1, "c.xdp_sock_lookup_bpf_map", "map_name"], [2, 1, 1, "c.xdp_sock_lookup_bpf_map", "self"], [2, 1, 1, "c.xdp_sock_lookup_bpf_map", "value_size"], [2, 1, 1, "c.xdp_sock_lookup_bpf_map", "xdp_interface"]], "xdp_sock_new": [[2, 1, 1, "c.xdp_sock_new", "xdp_interface"]], "xdp_sock_recv": [[2, 1, 1, "c.xdp_sock_recv", "buffer"], [2, 1, 1, "c.xdp_sock_recv", "buffer_size"], [2, 1, 1, "c.xdp_sock_recv", "self"]], "xdp_sock_rx_batch_get_size": [[2, 1, 1, "c.xdp_sock_rx_batch_get_size", "frames_rcvd"], [2, 1, 1, "c.xdp_sock_rx_batch_get_size", "nb"], [2, 1, 1, "c.xdp_sock_rx_batch_get_size", "self"]], "xdp_sock_rx_batch_release": [[2, 1, 1, "c.xdp_sock_rx_batch_release", "frames_rcvd"], [2, 1, 1, "c.xdp_sock_rx_batch_release", "self"]], "xdp_sock_send": [[2, 1, 1, "c.xdp_sock_send", "buffer"], [2, 1, 1, "c.xdp_sock_send", "buffer_size"], [2, 1, 1, "c.xdp_sock_send", "self"]], "xdp_sock_set_sockopt": [[2, 1, 1, "c.xdp_sock_set_sockopt", "opt_type"], [2, 1, 1, "c.xdp_sock_set_sockopt", "opt_value"], [2, 1, 1, "c.xdp_sock_set_sockopt", "self"]], "xdp_sock_tx_batch_release": [[2, 1, 1, "c.xdp_sock_tx_batch_release", "frames_send"], [2, 1, 1, "c.xdp_sock_tx_batch_release", "self"]], "xdp_sock_tx_batch_set_size": [[2, 1, 1, "c.xdp_sock_tx_batch_set_size", "nb"], [2, 1, 1, "c.xdp_sock_tx_batch_set_size", "self"]]}, "objtypes": {"0": "c:function", "1": "c:functionParam"}, "objnames": {"0": ["c", "function", "C function"], "1": ["c", "functionParam", "C function parameter"]}, "titleterms": {"changelog": 3, "2023": 3, "16": 3, "04": 3, "v1": 3, "1": 3, "0": 3, "code": 4, "base": 4, "contribut": [4, 5], "don": 4, "t": 4, "includ": 4, "irrelev": 4, "chang": 4, "split": 4, "up": 4, "long": 4, "commit": 4, "write": 4, "meaning": 4, "messag": 4, "test": 4, "your": 4, "review": 4, "intern": 6, "repositori": 6, "layout": 6, "exampl": 7, "xdp": [1, 2, 8], "interfac": [1, 8], "licens": 9, "quickstart": 10, "depend": 10, "initi": 10, "setup": 10, "support": 11, "maintain": 11, "project": 8, "goal": 8, "ifac": [], "api": 0, "socket": 2, "build": 10, "instal": 10, "xdpifac": 10, "lib": 10, "valid": 10, "bind": 10, "usag": 10, "content": 10, "constructor": [1, 2], "destructor": [1, 2], "method": [1, 2]}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["api/index", "api/xdp_iface", "api/xdp_sock", "changelog", "contributing/code", "contributing/index", "contributing/internals", "examples", "index", "license", "quickstart", "support"], "filenames": ["api/index.md", "api/xdp_iface.rst", "api/xdp_sock.rst", "changelog.md", "contributing/code.md", "contributing/index.md", "contributing/internals.md", "examples.md", "index.md", "license.rst", "quickstart.md", "support.md"], "titles": ["API", "XDP Interface", "XDP Socket", "Changelog", "Code base contributions", "Contributing", "Internals", "Examples", "XDP Interface", "License", "QuickStart", "Support"], "terms": {"branch": 3, "main": [3, 7], "commit": 3, "3e414b79e4": [], "There": 3, "were": [3, 4], "uncommit": 3, "chang": 3, "when": [3, 4], "thi": [1, 2, 3, 4, 7, 8, 10], "wa": 3, "compil": [3, 4], "untrack": [], "file": [3, 4, 6], "api": [3, 6], "xdp_sock": [0, 2, 3, 7], "fix": [3, 4], "arg": [], "type": 2, "typo": [], "iliya": [3, 4, 11], "iliev": [3, 4, 11], "17": [], "08": 3, "26": [], "sign": 3, "off": [3, 7], "iliyailiev3592": [3, 11], "gmail": [3, 11], "com": [3, 10, 11], "bind": [3, 4, 6, 8], "python": [4, 7, 10], "add": [3, 4, 10], "exampl": 4, "applic": [4, 10], "53": 3, "07": [], "implement": 4, "recv": [4, 7], "data": [4, 8], "path": [3, 4], "52": [], "50": 3, "47": 3, "xdp_sock_bpf": [3, 6, 7, 10], "xsk": 2, "map": [2, 3], "redirect": [], "pkt": 7, "45": [], "44": [], "xdp_ifac": [0, 1, 3, 4, 7, 10], "get": [1, 2, 10], "prog": [], "method": 0, "09": 3, "37": [], "sock_new": [], "14": 3, "23": [3, 7], "39": [], "54": [], "name": [1, 2, 10], "38": 10, "55": [], "xdp": [0, 3, 7, 10], "sock": 7, "class": [0, 6, 7], "00": [], "24": [], "22": [], "59": [], "draft": 3, "latest": 3, "either": 4, "bug": [4, 11], "ad": 4, "new": [1, 2, 4], "function": 4, "ar": 4, "more": 4, "than": 4, "welcom": 4, "howev": 4, "pleas": 4, "consid": 4, "basic": [4, 8], "rule": 4, "guidelin": 4, "about": 4, "submit": 4, "If": [4, 11], "you": [1, 2, 4, 5, 10, 11], "follow": [4, 7, 10], "ll": 4, "help": [4, 11], "make": [4, 7, 10], "our": 4, "common": [4, 10], "effort": 4, "whole": 4, "thing": 4, "work": 4, "bit": 4, "easier": 4, "In": [4, 10], "particular": 4, "format": [4, 7], "style": 4, "whitespac": 4, "would": [4, 10], "otherwis": 4, "touch": 4, "patch": 4, "It": [4, 8], "s": [4, 7], "ok": 4, "issu": [4, 11], "immedi": 4, "area": 4, "few": 4, "line": [4, 7], "re": 4, "think": 4, "section": 4, "realli": 4, "doe": 4, "need": [4, 10, 11], "reindent": 4, "other": 4, "larg": 4, "scale": 4, "separ": 4, "which": [4, 8, 10], "semant": 4, "put": 4, "same": 4, "featur": 4, "longer": 4, "seri": 4, "logic": 4, "each": 4, "should": [4, 10], "execut": 4, "successfulli": 4, "For": [4, 10], "instanc": 4, "makefil": 4, "one": 4, "itself": 4, "two": [0, 4], "here": [4, 8], "so": [1, 2, 4], "peopl": 4, "can": [1, 2, 4, 8, 10], "later": 4, "us": [1, 2, 3, 4, 6, 7, 8, 10, 11], "tool": [4, 10], "like": 4, "git": [4, 10], "bisect": 4, "without": 4, "hit": 4, "point": 4, "histori": 4, "where": 4, "build": [4, 6, 8], "doesn": 4, "reason": 4, "unrel": 4, "thei": 4, "chase": 4, "document": [4, 8], "first": 4, "last": 4, "someon": 4, "read": [2, 4], "do": 4, "clean": 4, "room": 4, "evalu": 4, "valid": 4, "match": 4, "A": 4, "mention": 4, "also": 4, "often": 4, "good": 4, "candid": 4, "multipl": 4, "thought": 4, "properli": 4, "see": 4, "advic": [4, 5], "from": [2, 4, 7], "openstack": 4, "stand": 4, "own": 4, "histor": 4, "record": 4, "why": 4, "appli": 4, "necessari": 4, "we": 4, "some": [4, 5], "examin": 4, "show": 4, "below": 4, "The": [0, 4, 6, 7, 8, 10], "snippet": 4, "repositori": 4, "9e475b3": 4, "6": 4, "hour": 4, "ago": 4, "d779316": 4, "part": 4, "delimit": 4, "symbol": 4, "associ": [1, 4], "modul": 4, "system": [4, 6, 8, 10], "relat": 4, "have": 4, "well": 4, "organis": 4, "log": 4, "modular": 4, "sourc": [1, 2, 4, 6], "helpful": 4, "back": 4, "track": 4, "easili": 4, "sinc": 4, "provid": [4, 5, 8], "clue": 4, "relev": 4, "an": [4, 8], "although": 4, "continu": 4, "integr": 4, "servic": 4, "attempt": 4, "newli": 4, "still": 4, "save": 4, "everyon": 4, "time": 4, "alreadi": 4, "softwar": [4, 10, 11], "peer": 4, "onli": [4, 6], "chip": 4, "goal": 4, "try": 4, "least": 4, "mani": 4, "what": [4, 5], "worri": 4, "know": 4, "perfectli": 4, "fine": 4, "admit": 4, "weak": 4, "becaus": 4, "unfamiliar": 4, "thank": 5, "your": 5, "interest": 5, "project": [5, 6, 10, 11], "intern": [5, 8], "describ": 5, "code": 5, "non": 5, "mandatori": 5, "how": [5, 7, 8], "pretti": [6, 10], "standard": [6, 10], "zproject": 6, "base": [6, 8, 10], "cmakelist": 6, "txt": 6, "root": [3, 6], "cmake": [3, 6, 8, 10], "includ": [6, 7], "shard": [], "lib": [6, 7], "header": 6, "interfac": [0, 7, 10], "sphinx_doc": [], "src": [6, 10], "purpous": 8, "guidanc": 8, "instal": [3, 8], "apr": [], "16": 7, "2023": [], "4": 7, "min": [], "find": 11, "list": 11, "contant": 11, "engin": 11, "email": 11, "975947c0cc": [], "termin": [], "process": 10, "after": [], "100": [], "iterr": [], "20": [3, 7], "19": [3, 10], "56": 3, "send": [2, 7, 10], "thread": [], "test": [7, 10], "app": [], "36": [], "10": [], "35": [], "48": 3, "xdp_iface_app": 3, "02": [], "34": [], "dockerfil": 6, "wakeup": [], "argument": [], "18": 3, "05": 3, "12": [], "xdp_log": [], "xdpifac": [0, 7, 8], "share": [6, 8, 10], "librari": [6, 8, 10], "consit": 8, "written": 8, "c": [7, 8, 10], "higher": 8, "level": 8, "languag": 8, "python3": [8, 10], "documentaion": 8, "easi": 8, "simpl": 8, "allow": 8, "input": 8, "output": 8, "over": 8, "ebpf": [1, 6, 8], "program": [1, 3, 7, 8, 10], "tutori": [8, 10], "useful": 8, "inform": [8, 10], "libxdp": 8, "usag": 8, "its": 8, "found": [8, 10], "develop": 8, "avail": 8, "under": 8, "offici": [8, 10], "linux": [8, 10], "kernel": 8, "achiv": 8, "libxp": 10, "libbpf": 10, "order": 10, "clone": 10, "debian": 10, "machin": 10, "start": 10, "instruct": 10, "bellow": 10, "apt": 10, "updat": 10, "recommend": 10, "suggest": 10, "y": 10, "clang": 10, "llvm": 10, "libelf": 10, "dev": 10, "m4": 10, "libpcap": 10, "gcc": 10, "multilib": 10, "essenti": 10, "gener": 10, "cloud": 10, "5": 10, "0": [1, 2, 7, 10], "pkg": 10, "config": 10, "addit": 10, "complet": 10, "To": 10, "http": 10, "github": 10, "cd": 10, "submodul": 10, "init": 10, "configur": 10, "sudo": 10, "note": 10, "artefact": 10, "mai": [7, 10], "deploi": 10, "usr": 10, "lib64": 10, "ld_library_path": 10, "command": 10, "export": 10, "ldconfig": 10, "ilieviliya92": 10, "mkdir": 10, "result": 10, "directori": [6, 10], "xdpiface_app": 10, "simpli": 10, "load": [1, 7, 10], "o": [7, 10], "object": [1, 2, 3, 10], "lo": [7, 10], "batch": [2, 7, 10], "packet": 10, "receiv": [2, 7, 10], "print": [7, 10], "stdout": 10, "run": 10, "quit": 10, "ctrl": 10, "bpf": [3, 10], "socket": [0, 7, 10], "administr": 10, "privileg": 10, "similar": 10, "resid": 10, "py": 10, "current": 0, "consist": 0, "descript": 6, "core": 6, "compoment": 6, "doc": [3, 6], "docs_src": [3, 6], "licens": 6, "xml": 6, "project_templ": 6, "gsl": 6, "templat": 6, "readm": 6, "md": 6, "constructor": 0, "destructor": 0, "xdp_iface_t": [1, 2, 7], "xdp_iface_new": [1, 7], "const": [1, 2, 7], "char": [1, 2, 7], "creat": [1, 2, 7], "return": [1, 2, 7], "On": [1, 2], "success": [1, 2], "null": [1, 2], "could": [1, 2], "void": [1, 2, 7], "xdp_iface_destroi": [1, 7], "self_p": [1, 2], "destroi": [1, 2, 7], "must": [1, 2], "ani": [1, 2], "tcp": [1, 2], "server": [1, 2], "via": [1, 2], "paramet": [1, 2], "pointer": [1, 2], "refer": [1, 2], "nullifi": [1, 2], "none": [1, 2, 7], "int": [1, 2, 7], "xdp_iface_load_program": [1, 7], "self": [1, 2, 7], "xdp_prog_path": [1, 7], "err": [1, 2, 7], "valu": [1, 2, 7], "failiur": [1, 2], "xdp_iface_unload_program": [1, 7], "unlooad": 1, "xdp_iface_get_nam": 1, "network": 1, "ro": 1, "string": [1, 7], "xdp_iface_get_prog": 1, "obejct": 1, "xdp_sock_t": [2, 7], "xdp_sock_new": [2, 7], "xdp_interfac": 2, "xdp_sock_destroi": [2, 7], "xdp_sock_lookup_bpf_map": [2, 7], "map_nam": 2, "uint32_t": [2, 7], "key_siz": 2, "value_s": 2, "xdp_sock_set_sockopt": [2, 7], "opt_typ": 2, "opt_valu": 2, "xdp_sock_get_fd": 2, "xdp_sock_rx_batch_get_s": [2, 7], "frames_rcvd": [2, 7], "nb": 2, "xdp_sock_rx_batch_releas": [2, 7], "xdp_sock_recv": [2, 7], "buffer": 2, "size_t": [2, 7], "buffer_s": 2, "xdp_sock_tx_batch_set_s": [2, 7], "xdp_sock_tx_batch_releas": [2, 7], "frames_send": 2, "xdp_sock_send": [2, 7], "baa29ee17f": [], "go": 3, "15": [], "cpp": [], "13": [], "27": [], "info": [], "21": [], "attach": 2, "fd": 2, "set": 2, "option": [2, 3], "descriptor": 2, "size": 2, "number": 2, "frame": [2, 7], "maximum": 2, "1": [2, 7], "releas": 2, "rx": 2, "tx": 2, "slot": 2, "prepar": 2, "ring": 2, "trigger": 2, "place": 2, "sy": 7, "h": 7, "xdpiface_class": 7, "static": 7, "hex_dump": 7, "length": 7, "unsign": 7, "address": 7, "line_s": 7, "32": [3, 7], "buf": 7, "i": 7, "printf": 7, "zu": 7, "n": 7, "while": 7, "02x": 7, "__": 7, "right": 7, "close": 7, "33": 7, "255": 7, "0x2e": 7, "argc": 7, "argv": 7, "ret": 7, "batch_siz": 7, "30": 7, "i_buff": 7, "9000": 7, "i_buffer_s": 7, "o_buffer_s": 7, "1000": 7, "o_buff": 7, "memset": 7, "0x55": 7, "fail": 7, "goto": 7, "exit": 7, "xsks_map": 7, "so_prefer_busy_pol": 7, "so_busy_pol": 7, "so_busy_poll_budget": 7, "cstring": 7, "iostream": 7, "hpp": 7, "hexdump": 7, "ptr": 7, "buflen": 7, "j": 7, "06x": 7, "els": 7, "isprint": 7, "std": 7, "loadprogram": 7, "xdpsock": 7, "lookupbpfmap": 7, "setsockopt": 7, "txbatchsets": 7, "txbatchreleas": 7, "rxbatchgets": 7, "rxbatchreleas": 7, "cout": 7, "endl": 7, "unloadprogram": 7, "def": 7, "load_program": 7, "lookup_bpf_map": 7, "b": 7, "set_sockopt": 7, "frames_recd": 7, "c_int": 7, "create_string_buff": 7, "c_size_t": 7, "frames_receiv": 7, "1500": 7, "raw": 7, "bytearrai": 7, "tx_batch_set_s": 7, "rang": 7, "tx_batch_releas": 7, "rx_batch_get_s": 7, "rx_batch_releas": 7, "unload_program": 7, "__init__": 7, "__iter__": 7, "last_b": 7, "last_lin": 7, "len": 7, "bs": 7, "08x": 7, "join": 7, "x": 7, "8": 7, "chr": 7, "127": 7, "yield": 7, "__str__": 7, "__repr__": 7, "__name__": 7, "__main__": 7, "golang": 7, "packag": 7, "import": 7, "encod": 7, "hex": 7, "byte": 7, "fmt": 7, "vari": 7, "func": 7, "uint32": 7, "var": 7, "obuffers": 7, "obuff": 7, "repeat": 7, "ibuffers": 7, "ibuff": 7, "xdpifacenew": 7, "nil": 7, "t": 7, "errorf": 7, "ifac": 7, "defer": 7, "xdpsocknew": 7, "loopupbpfmap": 7, "println": 7, "dump": 7, "illustr": 7, "ctype": 7, "kei": 2, "94b0319089": [], "01": 3, "bindgin": 3, "mod": 3, "43": 3, "default": 3, "51": 3, "libdir": 3, "40": 3, "49": 3, "sockopt": 3, "defalut": 3, "29": 3, "rust": 3, "bindign": 3, "gitignor": [], "ignor": [], "03": [], "69d4864035": 3, "memori": 3, "leak": 3, "31": 3}, "objects": {"": [[1, 0, 1, "c.xdp_iface_destroy", "xdp_iface_destroy"], [1, 0, 1, "c.xdp_iface_get_name", "xdp_iface_get_name"], [1, 0, 1, "c.xdp_iface_get_prog", "xdp_iface_get_prog"], [1, 0, 1, "c.xdp_iface_load_program", "xdp_iface_load_program"], [1, 0, 1, "c.xdp_iface_new", "xdp_iface_new"], [1, 0, 1, "c.xdp_iface_unload_program", "xdp_iface_unload_program"], [2, 0, 1, "c.xdp_sock_destroy", "xdp_sock_destroy"], [2, 0, 1, "c.xdp_sock_get_fd", "xdp_sock_get_fd"], [2, 0, 1, "c.xdp_sock_lookup_bpf_map", "xdp_sock_lookup_bpf_map"], [2, 0, 1, "c.xdp_sock_new", "xdp_sock_new"], [2, 0, 1, "c.xdp_sock_recv", "xdp_sock_recv"], [2, 0, 1, "c.xdp_sock_rx_batch_get_size", "xdp_sock_rx_batch_get_size"], [2, 0, 1, "c.xdp_sock_rx_batch_release", "xdp_sock_rx_batch_release"], [2, 0, 1, "c.xdp_sock_send", "xdp_sock_send"], [2, 0, 1, "c.xdp_sock_set_sockopt", "xdp_sock_set_sockopt"], [2, 0, 1, "c.xdp_sock_tx_batch_release", "xdp_sock_tx_batch_release"], [2, 0, 1, "c.xdp_sock_tx_batch_set_size", "xdp_sock_tx_batch_set_size"]], "xdp_iface_destroy": [[1, 1, 1, "c.xdp_iface_destroy", "self_p"]], "xdp_iface_get_name": [[1, 1, 1, "c.xdp_iface_get_name", "self"]], "xdp_iface_get_prog": [[1, 1, 1, "c.xdp_iface_get_prog", "self"]], "xdp_iface_load_program": [[1, 1, 1, "c.xdp_iface_load_program", "self"], [1, 1, 1, "c.xdp_iface_load_program", "xdp_prog_path"]], "xdp_iface_new": [[1, 1, 1, "c.xdp_iface_new", "interface"]], "xdp_iface_unload_program": [[1, 1, 1, "c.xdp_iface_unload_program", "self"]], "xdp_sock_destroy": [[2, 1, 1, "c.xdp_sock_destroy", "self_p"]], "xdp_sock_get_fd": [[2, 1, 1, "c.xdp_sock_get_fd", "self"]], "xdp_sock_lookup_bpf_map": [[2, 1, 1, "c.xdp_sock_lookup_bpf_map", "key_size"], [2, 1, 1, "c.xdp_sock_lookup_bpf_map", "map_name"], [2, 1, 1, "c.xdp_sock_lookup_bpf_map", "self"], [2, 1, 1, "c.xdp_sock_lookup_bpf_map", "value_size"], [2, 1, 1, "c.xdp_sock_lookup_bpf_map", "xdp_interface"]], "xdp_sock_new": [[2, 1, 1, "c.xdp_sock_new", "xdp_interface"]], "xdp_sock_recv": [[2, 1, 1, "c.xdp_sock_recv", "buffer"], [2, 1, 1, "c.xdp_sock_recv", "buffer_size"], [2, 1, 1, "c.xdp_sock_recv", "self"]], "xdp_sock_rx_batch_get_size": [[2, 1, 1, "c.xdp_sock_rx_batch_get_size", "frames_rcvd"], [2, 1, 1, "c.xdp_sock_rx_batch_get_size", "nb"], [2, 1, 1, "c.xdp_sock_rx_batch_get_size", "self"]], "xdp_sock_rx_batch_release": [[2, 1, 1, "c.xdp_sock_rx_batch_release", "frames_rcvd"], [2, 1, 1, "c.xdp_sock_rx_batch_release", "self"]], "xdp_sock_send": [[2, 1, 1, "c.xdp_sock_send", "buffer"], [2, 1, 1, "c.xdp_sock_send", "buffer_size"], [2, 1, 1, "c.xdp_sock_send", "self"]], "xdp_sock_set_sockopt": [[2, 1, 1, "c.xdp_sock_set_sockopt", "opt_type"], [2, 1, 1, "c.xdp_sock_set_sockopt", "opt_value"], [2, 1, 1, "c.xdp_sock_set_sockopt", "self"]], "xdp_sock_tx_batch_release": [[2, 1, 1, "c.xdp_sock_tx_batch_release", "frames_send"], [2, 1, 1, "c.xdp_sock_tx_batch_release", "self"]], "xdp_sock_tx_batch_set_size": [[2, 1, 1, "c.xdp_sock_tx_batch_set_size", "nb"], [2, 1, 1, "c.xdp_sock_tx_batch_set_size", "self"]]}, "objtypes": {"0": "c:function", "1": "c:functionParam"}, "objnames": {"0": ["c", "function", "C function"], "1": ["c", "functionParam", "C function parameter"]}, "titleterms": {"changelog": 3, "2023": 3, "16": 3, "04": 3, "v1": 3, "1": 3, "0": 3, "code": 4, "base": 4, "contribut": [4, 5], "don": 4, "t": 4, "includ": 4, "irrelev": 4, "chang": 4, "split": 4, "up": 4, "long": 4, "commit": 4, "write": 4, "meaning": 4, "messag": 4, "test": 4, "your": 4, "review": 4, "intern": 6, "repositori": 6, "layout": 6, "exampl": 7, "xdp": [1, 2, 8], "interfac": [1, 8], "licens": 9, "quickstart": 10, "depend": 10, "initi": 10, "setup": 10, "support": 11, "maintain": 11, "project": 8, "goal": 8, "ifac": [], "api": 0, "socket": 2, "build": 10, "instal": 10, "xdpifac": 10, "lib": 10, "valid": 10, "bind": 10, "usag": 10, "content": 10, "constructor": [1, 2], "destructor": [1, 2], "method": [1, 2]}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 56}}) \ No newline at end of file