]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Rename as_path_get_last/as_path_get_first to be consistent.
authorOndrej Zajicek <santiago@crfreenet.org>
Mon, 12 Oct 2009 18:44:58 +0000 (20:44 +0200)
committerOndrej Zajicek <santiago@crfreenet.org>
Mon, 12 Oct 2009 18:44:58 +0000 (20:44 +0200)
filter/filter.c
nest/a-path.c
proto/bgp/attrs.c

index 7bcf383d4312d251718e4498b8110f3f9314ce63..07a25f4ab667053ed11dd1ea45dd24a4ed1ee1dc 100644 (file)
@@ -734,7 +734,7 @@ interpret(struct f_inst *what)
       runtime( "AS Path expected" );
 
     as = 0;
-    as_path_get_last(v1.val.ad, &as); /* really last */
+    as_path_get_first(v1.val.ad, &as);
     res.type = T_INT;
     res.val.i = as;
     break;
@@ -744,7 +744,7 @@ interpret(struct f_inst *what)
       runtime( "AS path expected" );
 
     as = 0;
-    as_path_get_first(v1.val.ad, &as); /* really first */
+    as_path_get_last(v1.val.ad, &as);
     res.type = T_INT;
     res.val.i = as;
     break;
index 19d61f0bdb214edb2273840fa7ff5b96042eb3ec..c804619b006df0c170a7addd69233377d2f89da7 100644 (file)
@@ -213,7 +213,7 @@ as_path_getlen_int(struct adata *path, int bs)
 }
 
 int
-as_path_get_first(struct adata *path, u32 *orig_as)
+as_path_get_last(struct adata *path, u32 *orig_as)
 {
   int bs = bgp_as4_support ? 4 : 2;
   int found = 0;
@@ -229,8 +229,7 @@ as_path_get_first(struct adata *path, u32 *orig_as)
        case AS_PATH_SET:
          if (len = *p++)
            {
-             found = 1;
-             res = get_as(p);
+             found = 0;
              p += bs * len;
            }
          break;
@@ -246,12 +245,13 @@ as_path_get_first(struct adata *path, u32 *orig_as)
        }
     }
 
-  *orig_as = res;
+  if (found)
+    *orig_as = res;
   return found;
 }
 
 int
-as_path_get_last(struct adata *path, u32 *last_as)
+as_path_get_first(struct adata *path, u32 *last_as)
 {
   u8 *p = path->data;
 
index 831ada574db6b20f1b672c63ce512c7eb1915d6c..d839ed09af6d46a22afa73f834b48a147414d6e9 100644 (file)
@@ -996,7 +996,7 @@ bgp_get_neighbor(rte *r)
   eattr *e = ea_find(r->attrs->eattrs, EA_CODE(EAP_BGP, BA_AS_PATH));
   u32 as;
 
-  if (e && as_path_get_last(e->u.ptr, &as))
+  if (e && as_path_get_first(e->u.ptr, &as))
     return as;
   else
     return ((struct bgp_proto *) r->attrs->proto)->remote_as;
@@ -1470,7 +1470,7 @@ bgp_get_route_info(rte *e, byte *buf, ea_list *attrs)
   u32 origas;
 
   buf += bsprintf(buf, " (%d) [", e->pref);
-  if (p && as_path_get_first(p->u.ptr, &origas))
+  if (p && as_path_get_last(p->u.ptr, &origas))
     buf += bsprintf(buf, "AS%u", origas);
   if (o)
     buf += bsprintf(buf, "%c", "ie?"[o->u.data]);