/* * BIRD -- Wireguard Protocol Configuration * * (c) 1999 Martin Mares * * Can be freely distributed and used under the terms of the GNU GPL. */ CF_HDR #include "proto/wireguard/wireguard.h" CF_DEFINES #define WG_CFG ((struct wg_config *) this_proto) CF_DECLS CF_KEYWORDS(WIREGUARD, PEERS) CF_GRAMMAR proto: wireguard_proto '}' ; wireguard_proto_start: proto_start WIREGUARD { this_proto = proto_config_new(&proto_wireguard, $1); } ; wireguard_proto: wireguard_proto_start proto_name '{' | wireguard_proto proto_channel ';' { this_proto->net_type = $2->net_type; } | wireguard_proto proto_item ';' | wireguard_proto INTERFACE TEXT ';' { WG_CFG->ifname = $3; } | wireguard_proto PEERS '{' peers '}' ; peers: /* empty */ | peers peer peer: ipa pubkey ';' pubkey: TEXT CF_CODE CF_END