{ C_LISTEN, YP_TADDR, YP_VADDR = { 53 }, YP_FMULTI, { check_listen } },
{ C_COMMENT, YP_TSTR, YP_VNONE },
// Legacy items.
- { C_LISTEN_XDP, YP_TADDR, YP_VADDR = { 53 }, YP_FMULTI, { check_xdp_old } },
+ { C_LISTEN_XDP, YP_TADDR, YP_VADDR = { 53 }, YP_FMULTI, { check_xdp_listen_old } },
{ C_MAX_TCP_CLIENTS, YP_TINT, YP_VINT = { 0, INT32_MAX, YP_NIL } },
{ C_TCP_HSHAKE_TIMEOUT, YP_TINT, YP_VINT = { 0, INT32_MAX, 5, YP_STIME } },
{ C_TCP_REPLY_TIMEOUT, YP_TINT, YP_VINT = { 0, INT32_MAX, 10, YP_STIME } },
};
static const yp_item_t desc_xdp[] = {
- { C_LISTEN, YP_TADDR, YP_VADDR = { 53 }, YP_FMULTI, { check_xdp } },
+ { C_LISTEN, YP_TADDR, YP_VADDR = { 53 }, YP_FMULTI, { check_xdp_listen } },
{ C_TCP, YP_TBOOL, YP_VNONE },
{ C_TCP_MAX_CLIENTS, YP_TINT, YP_VINT = { 0, INT32_MAX, 1000000 } },
{ C_TCP_INBUF_MAX_SIZE, YP_TINT, YP_VINT = { MEGA(1), SSIZE_MAX, MEGA(100), YP_SSIZE } },
{ C_MODULE, YP_TGRP, YP_VGRP = { desc_module }, YP_FMULTI | CONF_IO_FRLD_ALL |
CONF_IO_FCHECK_ZONES, { load_module } },
{ C_SRV, YP_TGRP, YP_VGRP = { desc_server }, CONF_IO_FRLD_SRV, { check_server } },
- { C_XDP, YP_TGRP, YP_VGRP = { desc_xdp } },
+ { C_XDP, YP_TGRP, YP_VGRP = { desc_xdp }, CONF_IO_FRLD_SRV, { check_xdp } },
{ C_CTL, YP_TGRP, YP_VGRP = { desc_control } },
{ C_LOG, YP_TGRP, YP_VGRP = { desc_log }, YP_FMULTI | CONF_IO_FRLD_LOG },
{ C_STATS, YP_TGRP, YP_VGRP = { desc_stats }, CONF_IO_FRLD_SRV },
return KNOT_EOK;
}
-int check_xdp_old(
+int check_xdp_listen_old(
knotd_conf_check_args_t *args)
{
CONF_LOG(LOG_NOTICE, "option 'server.listen-xdp' is obsolete, "
return KNOT_EOK;
}
-int check_xdp(
+int check_xdp_listen(
knotd_conf_check_args_t *args)
{
#ifndef ENABLE_XDP
} \
}
-static void check_mtu(knotd_conf_check_args_t *args, conf_val_t *xdp)
+static void check_mtu(knotd_conf_check_args_t *args, conf_val_t *xdp_listen)
{
#ifdef ENABLE_XDP
conf_val_t val = conf_get_txn(args->extra->conf, args->extra->txn,
KNOT_XDP_MAX_MTU);
}
- while (xdp->code == KNOT_EOK) {
- struct sockaddr_storage addr = conf_addr(xdp, NULL);
+ while (xdp_listen->code == KNOT_EOK) {
+ struct sockaddr_storage addr = conf_addr(xdp_listen, NULL);
conf_xdp_iface_t iface;
int ret = conf_xdp_iface(&addr, &iface);
if (ret != KNOT_EOK) {
CONF_LOG(LOG_WARNING, "maximum UDP payload not compatible "
"with MTU of interface %s", iface.name);
}
- conf_val_next(xdp);
+ conf_val_next(xdp_listen);
}
#endif
}
int check_server(
knotd_conf_check_args_t *args)
{
- conf_val_t listen = conf_get_txn(args->extra->conf, args->extra->txn, C_SRV,
- C_LISTEN);
- conf_val_t xdp = conf_get_txn(args->extra->conf, args->extra->txn, C_XDP,
- C_LISTEN);
- conf_val_t tcp = conf_get_txn(args->extra->conf, args->extra->txn, C_XDP,
- C_TCP);
- if (xdp.code == KNOT_EOK) {
- if (listen.code != KNOT_EOK && tcp.code != KNOT_EOK) {
- CONF_LOG(LOG_WARNING, "unavailable TCP processing");
- }
- check_mtu(args, &xdp);
- }
-
CHECK_LEGACY_NAME(C_SRV, C_TCP_REPLY_TIMEOUT, C_TCP_RMT_IO_TIMEOUT);
CHECK_LEGACY_NAME(C_SRV, C_MAX_TCP_CLIENTS, C_TCP_MAX_CLIENTS);
CHECK_LEGACY_NAME(C_SRV, C_MAX_UDP_PAYLOAD, C_UDP_MAX_PAYLOAD);
return KNOT_EOK;
}
+int check_xdp(
+ knotd_conf_check_args_t *args)
+{
+ conf_val_t xdp_listen = conf_get_txn(args->extra->conf, args->extra->txn,
+ C_XDP, C_LISTEN);
+ conf_val_t srv_listen = conf_get_txn(args->extra->conf, args->extra->txn,
+ C_SRV, C_LISTEN);
+ conf_val_t tcp = conf_get_txn(args->extra->conf, args->extra->txn, C_XDP,
+ C_TCP);
+ if (xdp_listen.code == KNOT_EOK) {
+ if (srv_listen.code != KNOT_EOK && tcp.code != KNOT_EOK) {
+ CONF_LOG(LOG_WARNING, "TCP processing not available");
+ }
+ check_mtu(args, &xdp_listen);
+ }
+
+ return KNOT_EOK;
+}
+
int check_keystore(
knotd_conf_check_args_t *args)
{