See l3afd.cfg for a full example configuration.
[DEFAULT]
[l3afd]
pid-file: ./l3afd.pid
datacenter: dummy
bpf-dir: /dev/shm
bpf-log-dir:
kernel-major-version: 4
kernel-minor-version: 15
shutdown-timeout: 1s
http-client-timeout: 10s
max-nf-restart-count: 3
bpf-chaining-enabled: true
swagger-api-enabled: false
# PROD | DEV
environment: PROD
....
| FieldName | Example | Description |
|---|---|---|
| pid-file | "l3afd.pid" |
It contains process id of eBPF Programs |
| datacenter | "dummy" |
Name of Datacenter |
| bpf-dir | "/dev/shm" |
Absolute Path of eBPF Programs (where they are extracted) |
| bpf-log-dir | "" |
Absolute Path,where we store logs eBPF Programs |
| kernel-major-version | "4" |
Major version of the kernel |
| kernel-minor-version | "15" |
Miner version of the kernel (Ex 4.15) |
| shutdown-timeout | "1s" |
It is the amount of time allowed to stop all network functions |
| http-client-timeout | "10s" |
It is the amount of time allowed to get response headers |
| max-nf-restart-count | "3" |
Maximum number of attempts to monitor eBPF Program |
| bpf-chaining-enabled | "true" |
Boolean to set bpf-chaining |
| swagger-api-enabled | "false" |
Boolean to check swagger api enable or not |
| environment | "PROD" |
Environment variable |
| BpfMapDefaultPath | "/sys/fs/bpf" |
It is a base path for storing bpf maps |
| TcMapsRelativePath | "tc/globals" |
It is a relative path of tc maps with respect to BpfMapDefaultPath |
| FieldName | Example | Description |
|---|---|---|
| url | "http://localhost:8000/" |
Default Repository to Download eBPF Programs |
| FieldName | Example | Description |
|---|---|---|
| metrics-addr | "0.0.0.0:8898" |
Prometheus endpoint for pull/scrape the metrics |
| kf-poll-interval | "30s" |
Periodic Interval to scrape metrics using Prometheus |
| n-metric-samples | "20" |
Number of Metric Samples |
| FieldName | Example | Description |
|---|---|---|
| host | "" |
Hostname of admin |
| username | "" |
Username of admin |
| api-key | "" |
Api key of admin |
| groud-id | "0" |
Group id of admin |
| api-enabled | "true" |
Boolean to check api enabled or not |
| FieldName | Example | Description |
|---|---|---|
| name | "xdp-root" |
Name of xdp-root program |
| artifact | "xdp-root.tar.gz" |
Archive of xdp-root program |
| ingress-map-name | "root_array" |
Ingress map name of xdp-root program |
| command | "xdp_root" |
Command to run xdp-root program |
| version | "1.01" |
Version of xdp-root program |
| is-user-program | "false" |
Boolean to check xdp-root is kernel space or user space program |
| FieldName | Example | Description |
|---|---|---|
| name | "tc_root" |
Name of tc_root program |
| artifact | "l3af_tc_root.tar.gz" |
Archive of tc_root program |
| ingress-map-name | "tc_ingress_root_array" |
Ingress map name of tc_root program |
| egress-map-name | "tc_egress_root_array" |
Egress map name of tc_root program |
| command | "tc_root" |
Command to run tc_root program |
| version | "1.0" |
Version of tc_root program |
| is-user-program | "false" |
Boolean to check tc_root is kernel space or user space program |
| FieldName | Example | Description |
|---|---|---|
| addr | "0.0.0.0:8899" |
Address of ebpf chain debuging |
| enabled | "true" |
Boolean to check ebpf-chain-debuging is enabled or not |
| FieldName | Example | Description |
|---|---|---|
| restapi-addr | "localhost:53000" |
Address of l3af-configs rest api |
| FieldName | Example | Description |
|---|---|---|
| filename | "/etc/l3afd/l3af-config.json" |
Absolute path of persistent config file |
| FieldName | Example | Description |
|---|---|---|
| enabled | "true" |
Boolean to check mtls enabled or not |
| min-tls-version | "" |
Minimum tls version allowed |
| cert-dir | "/etc/l3af/certs" |
Absolute path of ca certificates |
| server-crt-filename | "server.crt" |
Server's ca certificate filename |
| server-key-filename | "server.key" |
Server's key filename |
| cert-expiry-warning-days | "30" |
How many days before expiry you want warning |