diff options
author | Ondrej Filip <feela@network.cz> | 2018-02-27 06:08:03 +0100 |
---|---|---|
committer | Ondrej Filip <feela@network.cz> | 2018-02-27 06:08:03 +0100 |
commit | 44062812600bd29f8edf30ebc871ff218069c5a2 (patch) | |
tree | 656c5cfcfe340cc8a12e7a88d930cfe839f7b97e /proto/pipe/config.Y | |
parent | 6f46465af1b3d21ca67e3b4379640c008fc9d1a1 (diff) | |
parent | 1561ee799cfe79d208ce9588e487da4b62a88dad (diff) |
Merge branch 'int-new' of ssh://gitlab.labs.nic.cz/labs/bird into int-new
Diffstat (limited to 'proto/pipe/config.Y')
-rw-r--r-- | proto/pipe/config.Y | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/proto/pipe/config.Y b/proto/pipe/config.Y index 4f96fdcb..b3c332be 100644 --- a/proto/pipe/config.Y +++ b/proto/pipe/config.Y @@ -25,13 +25,19 @@ CF_ADDTO(proto, pipe_proto '}' { this_channel = NULL; } ) pipe_proto_start: proto_start PIPE { this_proto = proto_config_new(&proto_pipe, $1); - this_channel = channel_config_new(NULL, NULL, 0, this_proto); - this_channel->in_filter = FILTER_ACCEPT; - this_channel->out_filter = FILTER_ACCEPT; +} +proto_name +{ + this_channel = proto_cf_main_channel(this_proto); + if (!this_channel) { + this_channel = channel_config_new(NULL, NULL, 0, this_proto); + this_channel->in_filter = FILTER_ACCEPT; + this_channel->out_filter = FILTER_ACCEPT; + } }; pipe_proto: - pipe_proto_start proto_name '{' + pipe_proto_start '{' | pipe_proto proto_item ';' | pipe_proto channel_item ';' | pipe_proto PEER TABLE rtable ';' { PIPE_CFG->peer = $4; } |