mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2025-01-03 07:31:54 +00:00
Merge branch 'mq-aggregator-for-v3' into HEAD
This commit is contained in:
commit
11faa7d36b
@ -1678,7 +1678,7 @@ rte_same(const rte *x, const rte *y)
|
|||||||
{
|
{
|
||||||
/* rte.flags / rte.pflags are not checked, as they are internal to rtable */
|
/* rte.flags / rte.pflags are not checked, as they are internal to rtable */
|
||||||
return
|
return
|
||||||
(
|
(x == y) || (
|
||||||
(x->attrs == y->attrs) ||
|
(x->attrs == y->attrs) ||
|
||||||
((!(x->attrs->flags & EALF_CACHED) || !(y->attrs->flags & EALF_CACHED)) && ea_same(x->attrs, y->attrs))
|
((!(x->attrs->flags & EALF_CACHED) || !(y->attrs->flags & EALF_CACHED)) && ea_same(x->attrs, y->attrs))
|
||||||
) &&
|
) &&
|
||||||
|
@ -54,8 +54,17 @@ aggregator_proto_item:
|
|||||||
if (!AGGREGATOR_CFG->aggr_on_net)
|
if (!AGGREGATOR_CFG->aggr_on_net)
|
||||||
cf_error("aggregate on must be always include 'net'.");
|
cf_error("aggregate on must be always include 'net'.");
|
||||||
|
|
||||||
|
struct f_inst *rot = NULL;
|
||||||
|
while ($4.begin)
|
||||||
|
{
|
||||||
|
struct f_inst *tmp = $4.begin->next;
|
||||||
|
$4.begin->next = rot;
|
||||||
|
rot = $4.begin;
|
||||||
|
$4.begin = tmp;
|
||||||
|
}
|
||||||
|
|
||||||
AGGREGATOR_CFG->aggr_on_count = count;
|
AGGREGATOR_CFG->aggr_on_count = count;
|
||||||
AGGREGATOR_CFG->aggr_on = f_linearize($4.begin, count);
|
AGGREGATOR_CFG->aggr_on = f_linearize(rot, count);
|
||||||
|
|
||||||
struct f_line *premerge = f_linearize($4.end, 0);
|
struct f_line *premerge = f_linearize($4.end, 0);
|
||||||
premerge->args = count;
|
premerge->args = count;
|
||||||
|
@ -1,9 +1,17 @@
|
|||||||
log "bird.log" all;
|
log "bird.log" all;
|
||||||
|
|
||||||
|
attribute int foo;
|
||||||
|
|
||||||
protocol device {}
|
protocol device {}
|
||||||
|
|
||||||
protocol static {
|
protocol static {
|
||||||
ipv6;
|
ipv6 {
|
||||||
|
import filter {
|
||||||
|
preference = 111;
|
||||||
|
foo = 666;
|
||||||
|
accept;
|
||||||
|
};
|
||||||
|
};
|
||||||
route 2001:db8:0::/48 unreachable { bgp_path.prepend(65432); bgp_path.prepend(4200000000); };
|
route 2001:db8:0::/48 unreachable { bgp_path.prepend(65432); bgp_path.prepend(4200000000); };
|
||||||
route 2001:db8:1::/48 unreachable;
|
route 2001:db8:1::/48 unreachable;
|
||||||
route 2001:db8:2::/48 unreachable;
|
route 2001:db8:2::/48 unreachable;
|
||||||
@ -25,6 +33,8 @@ protocol static {
|
|||||||
protocol static {
|
protocol static {
|
||||||
ipv6 {
|
ipv6 {
|
||||||
import filter {
|
import filter {
|
||||||
|
preference = 222;
|
||||||
|
foo = 666;
|
||||||
bgp_med = 1;
|
bgp_med = 1;
|
||||||
bgp_community = -empty-.add((65533,1)).add((65500,0xe));
|
bgp_community = -empty-.add((65533,1)).add((65500,0xe));
|
||||||
accept;
|
accept;
|
||||||
@ -43,6 +53,8 @@ protocol static {
|
|||||||
protocol static {
|
protocol static {
|
||||||
ipv6 {
|
ipv6 {
|
||||||
import filter {
|
import filter {
|
||||||
|
preference = 222;
|
||||||
|
foo = 666;
|
||||||
bgp_med = 2;
|
bgp_med = 2;
|
||||||
bgp_community = -empty-.add((65533,2)).add((65500,0xd));
|
bgp_community = -empty-.add((65533,2)).add((65500,0xd));
|
||||||
accept;
|
accept;
|
||||||
@ -61,6 +73,8 @@ protocol static {
|
|||||||
protocol static {
|
protocol static {
|
||||||
ipv6 {
|
ipv6 {
|
||||||
import filter {
|
import filter {
|
||||||
|
preference = 222;
|
||||||
|
foo = 666;
|
||||||
bgp_med = 4;
|
bgp_med = 4;
|
||||||
bgp_community = -empty-.add((65533,4)).add((65500,0xb));
|
bgp_community = -empty-.add((65533,4)).add((65500,0xb));
|
||||||
accept;
|
accept;
|
||||||
@ -79,6 +93,8 @@ protocol static {
|
|||||||
protocol static {
|
protocol static {
|
||||||
ipv6 {
|
ipv6 {
|
||||||
import filter {
|
import filter {
|
||||||
|
preference = 222;
|
||||||
|
foo = 666;
|
||||||
bgp_med = 8;
|
bgp_med = 8;
|
||||||
bgp_community = -empty-.add((65533,8)).add((65500,0x7));
|
bgp_community = -empty-.add((65533,8)).add((65500,0x7));
|
||||||
accept;
|
accept;
|
||||||
|
Loading…
Reference in New Issue
Block a user