diff --git a/nest/route.h b/nest/route.h
index be3d759e..3ff61182 100644
--- a/nest/route.h
+++ b/nest/route.h
@@ -593,8 +593,8 @@ typedef struct ea_list {
 #define EALF_BISECT 2			/* Use interval bisection for searching */
 #define EALF_CACHED 4			/* Attributes belonging to cached rta */
 
-struct rte_src *rt_find_source(struct proto *p, u32 id);
-struct rte_src *rt_get_source(struct proto *p, u32 id);
+struct rte_src *rt_find_source(struct proto *p, u64 id);
+struct rte_src *rt_get_source(struct proto *p, u64 id);
 static inline void rt_lock_source(struct rte_src *src) { src->uc++; }
 static inline void rt_unlock_source(struct rte_src *src) { src->uc--; }
 void rt_prune_sources(void);
diff --git a/nest/rt-attr.c b/nest/rt-attr.c
index a567720e..7c49af17 100644
--- a/nest/rt-attr.c
+++ b/nest/rt-attr.c
@@ -124,13 +124,13 @@ rte_src_init(void)
 HASH_DEFINE_REHASH_FN(RSH, struct rte_src)
 
 struct rte_src *
-rt_find_source(struct proto *p, u32 id)
+rt_find_source(struct proto *p, u64 id)
 {
   return HASH_FIND(src_hash, RSH, p, id);
 }
 
 struct rte_src *
-rt_get_source(struct proto *p, u32 id)
+rt_get_source(struct proto *p, u64 id)
 {
   struct rte_src *src = rt_find_source(p, id);