uint8_t tpa[4]; //!< Target protocol address.
} arp_over_ether_t;
+static fr_dict_t const *dict_arp;
+
+extern fr_dict_autoload_t proto_arp_dict[];
+fr_dict_autoload_t proto_arp_dict[] = {
+ { .out = &dict_arp, .proto = "arp" },
+ { NULL }
+};
+
static rlm_rcode_t arp_process(REQUEST *request)
{
CONF_SECTION *unlang;
if (!fr_cond_assert((size_t)(end - p) < len)) return -1; /* Should have been detected in socket_recv */
- da = fr_dict_attr_by_name(NULL, header_names[i].name);
+ da = fr_dict_attr_by_name(dict_arp, header_names[i].name);
if (!da) return 0;
MEM(vp = fr_pair_afrom_da(request->packet, da));
return 0;
}
-
extern rad_protocol_t proto_arp;
rad_protocol_t proto_arp = {
.magic = RLM_MODULE_INIT,
.inst_size = sizeof(arp_socket_t),
.transports = 0,
.tls = false,
+
.bootstrap = arp_socket_bootstrap,
.compile = arp_socket_compile,
.parse = arp_socket_parse,
rbtree_t *session_tree;
} bfd_socket_t;
+static fr_dict_t const *dict_bfd;
+
+extern fr_dict_autoload_t proto_bfd_dict[];
+fr_dict_autoload_t proto_bfd_dict[] = {
+ { .out = &dict_bfd, .proto = "bfd" },
+ { NULL }
+};
+
static int bfd_start_packets(bfd_state_t *session);
static int bfd_start_control(bfd_state_t *session);
static int bfd_stop_control(bfd_state_t *session);