]> git.proxmox.com Git - mirror_frr.git/blobdiff - ripngd/ripng_route.h
zebra: Allow ns delete to happen after under/over flow checks
[mirror_frr.git] / ripngd / ripng_route.h
index 283d82684caebb26403ec868e8f4124991456e70..e402f4a66c850a7016eb097cadb30ec64ea4049b 100644 (file)
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with GNU Zebra; see the file COPYING.  If not, write to the Free
- * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.  
+ * You should have received a copy of the GNU General Public License along
+ * with this program; see the file COPYING; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
 #ifndef _ZEBRA_RIPNG_ROUTE_H
 #define _ZEBRA_RIPNG_ROUTE_H
 
-struct ripng_aggregate
-{
-  /* Aggregate route count. */
-  unsigned int count;
+struct ripng_aggregate {
+       /* Aggregate route count. */
+       unsigned int count;
 
-  /* Suppressed route count. */
-  unsigned int suppress;
+       /* Suppressed route count. */
+       unsigned int suppress;
 
-  /* Metric of this route.  */
-  u_char metric;               
+       /* Metric of this route.  */
+       uint8_t metric;
 
-  /* Tag field of RIPng packet.*/
-  u_short tag;         
-};
-
-void
-ripng_aggregate_increment (struct route_node *rp, struct ripng_info *rinfo);
+       /* Tag field of RIPng packet.*/
+       uint16_t tag;
 
-void
-ripng_aggregate_decrement (struct route_node *rp, struct ripng_info *rinfo);
-
-int
-ripng_aggregate_add (struct prefix *p);
+       /* Route-map futures - this variables can be changed. */
+       struct in6_addr nexthop_out;
+       uint8_t metric_set;
+       uint8_t metric_out;
+       uint16_t tag_out;
+};
 
-int
-ripng_aggregate_delete (struct prefix *p);
+extern void ripng_aggregate_increment(struct agg_node *rp,
+                                     struct ripng_info *rinfo);
+extern void ripng_aggregate_decrement(struct agg_node *rp,
+                                     struct ripng_info *rinfo);
+extern void ripng_aggregate_decrement_list(struct agg_node *rp,
+                                          struct list *list);
+extern int ripng_aggregate_add(struct prefix *p);
+extern int ripng_aggregate_delete(struct prefix *p);
+extern void ripng_aggregate_free(struct ripng_aggregate *aggregate);
 
 #endif /* _ZEBRA_RIPNG_ROUTE_H */