]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Merge commit '702c04fbef222e802ca4dfac645dc75ede522db6' into haugesund
authorMaria Matejka <mq@ucw.cz>
Mon, 30 May 2022 15:18:46 +0000 (17:18 +0200)
committerMaria Matejka <mq@ucw.cz>
Mon, 30 May 2022 15:18:46 +0000 (17:18 +0200)
16 files changed:
1  2 
doc/bird.sgml
filter/f-inst.c
lib/route.h
nest/config.Y
nest/rt-dev.c
nest/rt-show.c
nest/rt-table.c
proto/babel/babel.c
proto/bgp/packets.c
proto/ospf/rt.c
proto/perf/perf.c
proto/rip/rip.c
proto/rpki/rpki.c
proto/static/static.c
sysdep/bsd/krt-sock.c
sysdep/linux/netlink.c

diff --cc doc/bird.sgml
Simple merge
diff --cc filter/f-inst.c
index be1c3e1da2c2073e1e5216580878b199cee51ae3,5eacc7169a3cddebd38d159b80e17a7f94656e28..7fa1c8b8f2d27aff61afc40638648ce2e92764cc
  
        switch (sa.sa_code)
        {
-       case SA_FROM:   RESULT(sa.type, ip, rta->from); break;
        case SA_GW:     RESULT(sa.type, ip, rta->nh.gw); break;
 -      case SA_NET:    RESULT(sa.type, net, (*fs->rte)->net->n.addr); break;
 -      case SA_PROTO:  RESULT(sa.type, s, (*fs->rte)->src->proto->name); break;
 +      case SA_NET:    RESULT(sa.type, net, fs->rte->net); break;
 +      case SA_PROTO:  RESULT(sa.type, s, fs->rte->src->proto->name); break;
        case SA_SOURCE: RESULT(sa.type, i, rta->source); break;
-       case SA_SCOPE:  RESULT(sa.type, i, rta->scope); break;
        case SA_DEST:   RESULT(sa.type, i, rta->dest); break;
        case SA_IFNAME: RESULT(sa.type, s, rta->nh.iface ? rta->nh.iface->name : ""); break;
        case SA_IFINDEX:        RESULT(sa.type, i, rta->nh.iface ? rta->nh.iface->index : 0); break;
diff --cc lib/route.h
Simple merge
diff --cc nest/config.Y
Simple merge
diff --cc nest/rt-dev.c
Simple merge
diff --cc nest/rt-show.c
Simple merge
diff --cc nest/rt-table.c
Simple merge
Simple merge
Simple merge
diff --cc proto/ospf/rt.c
Simple merge
Simple merge
diff --cc proto/rip/rip.c
index cf186f87cd78906f02a2702f1c99c9cd7e20601c,f54426061577bf0cb35d114414b0103a1fb6375d..1c7d1f1f8101b35efaa6ee45b2e8bc2c268a22c9
@@@ -189,40 -199,30 +199,29 @@@ rip_announce_rte(struct rip_proto *p, s
      else
      {
        /* Unipath route */
-       a0.from = rt->from->nbr->addr;
        a0.nh.gw = rt->next_hop;
        a0.nh.iface = rt->from->ifa->iface;
+       ea_set_attr_data(&a0.eattrs, &ea_gen_from, 0, &rt->from->nbr->addr, sizeof(ip_addr));
      }
  
-     struct {
-       ea_list l;
-       eattr a[4];
-       struct rip_iface_adata riad;
-     } ea_block = {
-       .l.count = ARRAY_SIZE(ea_block.a),
-       .a = {
-       EA_LITERAL_EMBEDDED(&ea_gen_preference, 0, p->p.main_channel->preference),
-       EA_LITERAL_EMBEDDED(&ea_rip_metric, 0, rt_metric),
-       EA_LITERAL_EMBEDDED(&ea_rip_tag, 0, rt_tag),
-       EA_LITERAL_DIRECT_ADATA(&ea_rip_from, 0, &ea_block.riad.ad),
-       },
-       .riad = {
-       .ad = { .length = sizeof(struct rip_iface_adata) - sizeof(struct adata) },
-       .iface = a0.nh.iface,
-       },
-     };
+     ea_set_attr_u32(&a0.eattrs, &ea_rip_tag, 0, rt_tag);
  
-     a0.eattrs = &ea_block.l;
+     struct rip_iface_adata riad = {
+       .ad = { .length = sizeof(struct rip_iface_adata) - sizeof(struct adata) },
+       .iface = a0.nh.iface,
+     };
+     ea_set_attr(&a0.eattrs,
+       EA_LITERAL_DIRECT_ADATA(&ea_rip_from, 0, &riad.ad));
  
 -    rta *a = rta_lookup(&a0);
 -    rte *e = rte_get_temp(a, p->p.main_source);
 +    rte e0 = {
 +      .attrs = &a0,
 +      .src = p->p.main_source,
 +    };
  
 -    rte_update(&p->p, en->n.addr, e);
 +    rte_update(p->p.main_channel, en->n.addr, &e0, p->p.main_source);
    }
    else
 -  {
 -    /* Withdraw */
 -    rte_update(&p->p, en->n.addr, NULL);
 -  }
 +    rte_update(p->p.main_channel, en->n.addr, NULL, p->p.main_source);
  }
  
  /**
Simple merge
Simple merge
index 32d386930016b66634196b9eb477317e02d8297c,bc6b1839a5f8c24683512fe70b39c5e14017f30e..19ef2394cd2dfdf5c0a432e40b10053685efc155
@@@ -518,8 -519,8 +518,7 @@@ krt_read_route(struct ks_msg *msg, stru
    net = net_get(p->p.main_channel->table, &ndst);
  
    rta a = {
 -    .src = p->p.main_source,
      .source = RTS_INHERIT,
-     .scope = SCOPE_UNIVERSE,
    };
  
    /* reject/blackhole routes have also set RTF_GATEWAY,
Simple merge