]> git.proxmox.com Git - mirror_frr.git/blobdiff - bgpd/rfapi/rfapi_import.h
*: reindent
[mirror_frr.git] / bgpd / rfapi / rfapi_import.h
index 1888d5f25d447dffbd873411d0bbca754166424d..fc5bb01cef86aa4b642f1552272708dfac60a3b9 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
  *
  * Copyright 2009-2016, LabN Consulting, L.L.C.
  *
  * routes are not segregated by RD - the RD is stored in bgp_info_extra
  * and is needed to determine if two prefixes are the same.
  */
-struct rfapi_import_table
-{
-  struct rfapi_import_table *next;
-  struct rfapi_nve_group_cfg *rfg;
-  struct ecommunity *rt_import_list;    /* copied from nve grp */
-  int refcount;                 /* nve grps and nves */
-  uint32_t l2_logical_net_id;   /* L2 only: EVPN Eth Seg Id */
-  struct route_table *imported_vpn[AFI_MAX];
-  struct rfapi_monitor_vpn *vpn0_queries[AFI_MAX];
-  struct rfapi_monitor_eth *eth0_queries;
-  struct route_table *imported_encap[AFI_MAX];
-  struct skiplist *monitor_exterior_orphans;
-  int local_count[AFI_MAX];
-  int remote_count[AFI_MAX];
-  int holddown_count[AFI_MAX];
-  int imported_count[AFI_MAX];
+struct rfapi_import_table {
+       struct rfapi_import_table *next;
+       struct rfapi_nve_group_cfg *rfg;
+       struct ecommunity *rt_import_list; /* copied from nve grp */
+       int refcount;                      /* nve grps and nves */
+       uint32_t l2_logical_net_id;     /* L2 only: EVPN Eth Seg Id */
+       struct route_table *imported_vpn[AFI_MAX];
+       struct rfapi_monitor_vpn *vpn0_queries[AFI_MAX];
+       struct rfapi_monitor_eth *eth0_queries;
+       struct route_table *imported_encap[AFI_MAX];
+       struct skiplist *monitor_exterior_orphans;
+       int local_count[AFI_MAX];
+       int remote_count[AFI_MAX];
+       int holddown_count[AFI_MAX];
+       int imported_count[AFI_MAX];
 };
 
-#define RFAPI_LOCAL_BI(bi) \
-    (((bi)->type == ZEBRA_ROUTE_BGP) && ((bi)->sub_type == BGP_ROUTE_RFP))
+#define RFAPI_LOCAL_BI(bi)                                                     \
+       (((bi)->type == ZEBRA_ROUTE_BGP) && ((bi)->sub_type == BGP_ROUTE_RFP))
 
-#define RFAPI_DIRECT_IMPORT_BI(bi) \
-    (((bi)->type ==  ZEBRA_ROUTE_BGP_DIRECT) || ((bi)->type ==  ZEBRA_ROUTE_BGP_DIRECT_EXT))
+#define RFAPI_DIRECT_IMPORT_BI(bi)                                             \
+       (((bi)->type == ZEBRA_ROUTE_BGP_DIRECT)                                \
+        || ((bi)->type == ZEBRA_ROUTE_BGP_DIRECT_EXT))
 
-#define RFAPI_UPDATE_ITABLE_COUNT(bi, itable, afi, cnt) \
-    if (RFAPI_LOCAL_BI(bi)) {                          \
-       (itable)->local_count[(afi)] += (cnt);          \
-    } else {                                           \
-        if (RFAPI_DIRECT_IMPORT_BI(bi))                 \
-            (itable)->imported_count[(afi)] += (cnt);   \
-        else                                            \
-            (itable)->remote_count[(afi)]   += (cnt);   \
-    }
+#define RFAPI_UPDATE_ITABLE_COUNT(bi, itable, afi, cnt)                        \
+       if (RFAPI_LOCAL_BI(bi)) {                                              \
+               (itable)->local_count[(afi)] += (cnt);                         \
+       } else {                                                               \
+               if (RFAPI_DIRECT_IMPORT_BI(bi))                                \
+                       (itable)->imported_count[(afi)] += (cnt);              \
+               else                                                           \
+                       (itable)->remote_count[(afi)] += (cnt);                \
+       }
 
-extern uint8_t
-rfapiRfpCost (struct attr *attr);
+extern uint8_t rfapiRfpCost(struct attr *attr);
 
-extern void
-rfapiDebugBacktrace (void);
+extern void rfapiDebugBacktrace(void);
 
-extern void
-rfapiCheckRouteCount (void);
+extern void rfapiCheckRouteCount(void);
 
 /*
  * Print BI in an Import Table
  */
-extern void
-rfapiPrintBi (void *stream, struct bgp_info *bi);
+extern void rfapiPrintBi(void *stream, struct bgp_info *bi);
 
-extern void
-rfapiShowImportTable (
-  void                 *stream,
-  const char           *label,
-  struct route_table   *rt,
-  int                  isvpn);
+extern void rfapiShowImportTable(void *stream, const char *label,
+                                struct route_table *rt, int isvpn);
 
 extern struct rfapi_import_table *
-rfapiImportTableRefAdd (
-  struct bgp *bgp,
-  struct ecommunity *rt_import_list,
-  struct rfapi_nve_group_cfg *rfg);
+rfapiImportTableRefAdd(struct bgp *bgp, struct ecommunity *rt_import_list,
+                      struct rfapi_nve_group_cfg *rfg);
 
-extern void
-rfapiImportTableRefDelByIt (
-  struct bgp                   *bgp,
-  struct rfapi_import_table    *it_target);
+extern void rfapiImportTableRefDelByIt(struct bgp *bgp,
+                                      struct rfapi_import_table *it_target);
 
 
 /*
@@ -111,106 +99,78 @@ rfapiImportTableRefDelByIt (
  * then return those, and also include all the non-removed routes from the
  * next less-specific node (i.e., this node's parent) at the end.
  */
-extern struct rfapi_next_hop_entry *
-rfapiRouteNode2NextHopList (
-  struct route_node    *rn,
-  uint32_t             lifetime,               /* put into nexthop entries */
-  struct rfapi_ip_addr *exclude_vnaddr,        /* omit routes to same NVE */
-  struct route_table    *rfd_rib_table,                /* preload this NVE rib table */
-  struct prefix                *pfx_target_original);  /* query target */
-
-extern struct rfapi_next_hop_entry *
-rfapiRouteTable2NextHopList (
-  struct route_table   *rt,
-  uint32_t             lifetime,               /* put into nexthop entries */
-  struct rfapi_ip_addr *exclude_vnaddr,        /* omit routes to same NVE */
-  struct route_table    *rfd_rib_table,                /* preload this NVE rib table */
-  struct prefix                *pfx_target_original);  /* query target */
-
-extern struct rfapi_next_hop_entry *
-rfapiEthRouteTable2NextHopList (
-  uint32_t                     logical_net_id,
-  struct rfapi_ip_prefix       *rprefix,
-  uint32_t                     lifetime,        /* put into nexthop entries */
-  struct rfapi_ip_addr         *exclude_vnaddr, /* omit routes to same NVE */
-  struct route_table            *rib_route_table,/* preload NVE rib node */
-  struct prefix                        *pfx_target_original);  /* query target */
-
-extern int
-rfapiEcommunitiesIntersect (struct ecommunity *e1, struct ecommunity *e2);
-
-extern void
-rfapiCheckRefcount (struct route_node *rn, safi_t safi, int lockoffset);
-
-extern int
-rfapiHasNonRemovedRoutes (struct route_node *rn);
-
-extern int
-rfapiProcessDeferredClose (struct thread *t);
-
-extern int
-rfapiGetUnAddrOfVpnBi (struct bgp_info *bi, struct prefix *p);
-
-extern void
-rfapiNexthop2Prefix (struct attr *attr, struct prefix *p);
-
-extern void
-rfapiUnicastNexthop2Prefix (
-  afi_t                afi,
-  struct attr  *attr,
-  struct prefix        *p);
+extern struct rfapi_next_hop_entry *rfapiRouteNode2NextHopList(
+       struct route_node *rn, uint32_t lifetime, /* put into nexthop entries */
+       struct rfapi_ip_addr *exclude_vnaddr,     /* omit routes to same NVE */
+       struct route_table *rfd_rib_table,   /* preload this NVE rib table */
+       struct prefix *pfx_target_original); /* query target */
+
+extern struct rfapi_next_hop_entry *rfapiRouteTable2NextHopList(
+       struct route_table *rt,
+       uint32_t lifetime,                    /* put into nexthop entries */
+       struct rfapi_ip_addr *exclude_vnaddr, /* omit routes to same NVE */
+       struct route_table *rfd_rib_table,    /* preload this NVE rib table */
+       struct prefix *pfx_target_original);  /* query target */
+
+extern struct rfapi_next_hop_entry *rfapiEthRouteTable2NextHopList(
+       uint32_t logical_net_id, struct rfapi_ip_prefix *rprefix,
+       uint32_t lifetime,                    /* put into nexthop entries */
+       struct rfapi_ip_addr *exclude_vnaddr, /* omit routes to same NVE */
+       struct route_table *rib_route_table,  /* preload NVE rib node */
+       struct prefix *pfx_target_original);  /* query target */
+
+extern int rfapiEcommunitiesIntersect(struct ecommunity *e1,
+                                     struct ecommunity *e2);
+
+extern void rfapiCheckRefcount(struct route_node *rn, safi_t safi,
+                              int lockoffset);
+
+extern int rfapiHasNonRemovedRoutes(struct route_node *rn);
+
+extern int rfapiProcessDeferredClose(struct thread *t);
+
+extern int rfapiGetUnAddrOfVpnBi(struct bgp_info *bi, struct prefix *p);
+
+extern void rfapiNexthop2Prefix(struct attr *attr, struct prefix *p);
+
+extern void rfapiUnicastNexthop2Prefix(afi_t afi, struct attr *attr,
+                                      struct prefix *p);
 
 /* Filtered Import Function actions */
 #define FIF_ACTION_UPDATE      0
 #define FIF_ACTION_WITHDRAW    1
 #define FIF_ACTION_KILL                2
 
-extern void
-rfapiBgpInfoFilteredImportVPN (
-  struct rfapi_import_table    *import_table,
-  int                          action,
-  struct peer                  *peer,
-  void                         *rfd,           /* set for looped back routes */
-  struct prefix                        *p,
-  struct prefix                        *aux_prefix,    /* AFI_ETHER: optional IP */
-  afi_t                                afi,
-  struct prefix_rd             *prd,
-  struct attr                  *attr,          /* part of bgp_info */
-  u_char                       type,           /* part of bgp_info */
-  u_char                       sub_type,       /* part of bgp_info */
-  uint32_t                     *label);        /* part of bgp_info */
-
-extern struct rfapi_next_hop_entry *
-rfapiEthRouteNode2NextHopList (
-  struct route_node            *rn,
-  struct rfapi_ip_prefix       *rprefix,
-  uint32_t                     lifetime,        /* put into nexthop entries */
-  struct rfapi_ip_addr         *exclude_vnaddr, /* omit routes to same NVE */
-  struct route_table            *rib_route_table,/* preload NVE rib table */
-  struct prefix                        *pfx_target_original); /* query target */
+extern void rfapiBgpInfoFilteredImportVPN(
+       struct rfapi_import_table *import_table, int action, struct peer *peer,
+       void *rfd, /* set for looped back routes */
+       struct prefix *p,
+       struct prefix *aux_prefix, /* AFI_ETHER: optional IP */
+       afi_t afi, struct prefix_rd *prd,
+       struct attr *attr, /* part of bgp_info */
+       u_char type,       /* part of bgp_info */
+       u_char sub_type,   /* part of bgp_info */
+       uint32_t *label);  /* part of bgp_info */
 
-extern struct rfapi_import_table *
-rfapiMacImportTableGetNoAlloc (
-  struct bgp   *bgp,
-  uint32_t     lni);
+extern struct rfapi_next_hop_entry *rfapiEthRouteNode2NextHopList(
+       struct route_node *rn, struct rfapi_ip_prefix *rprefix,
+       uint32_t lifetime,                    /* put into nexthop entries */
+       struct rfapi_ip_addr *exclude_vnaddr, /* omit routes to same NVE */
+       struct route_table *rib_route_table,  /* preload NVE rib table */
+       struct prefix *pfx_target_original);  /* query target */
 
-extern struct rfapi_import_table *
-rfapiMacImportTableGet (
-  struct bgp   *bgp,
-  uint32_t     lni);
+extern struct rfapi_import_table *rfapiMacImportTableGetNoAlloc(struct bgp *bgp,
+                                                               uint32_t lni);
+
+extern struct rfapi_import_table *rfapiMacImportTableGet(struct bgp *bgp,
+                                                        uint32_t lni);
 
-extern int
-rfapiGetL2o (
-  struct attr                  *attr,
-  struct rfapi_l2address_option *l2o);
+extern int rfapiGetL2o(struct attr *attr, struct rfapi_l2address_option *l2o);
 
-extern int rfapiEcommunityGetLNI (
-  struct ecommunity    *ecom,
-  uint32_t             *lni);
+extern int rfapiEcommunityGetLNI(struct ecommunity *ecom, uint32_t *lni);
 
-extern int rfapiEcommunityGetEthernetTag (
-  struct ecommunity *ecom,
-  uint16_t * tag_id);
+extern int rfapiEcommunityGetEthernetTag(struct ecommunity *ecom,
+                                        uint16_t *tag_id);
 
 /* enable for debugging; disable for performance */
 #if 0
@@ -224,7 +184,7 @@ extern int rfapiEcommunityGetEthernetTag (
  *
  * UI helper: For use by the "clear vnc prefixes" command
  *
- * input: 
+ * input:
  *     un                      if set, tunnel must match this prefix
  *     vn                      if set, nexthop prefix must match this prefix
  *     p                       if set, prefix must match this prefix
@@ -239,25 +199,21 @@ extern int rfapiEcommunityGetEthernetTag (
  * return value:
  *     void
  --------------------------------------------*/
-extern void
-rfapiDeleteRemotePrefixes (
-  struct prefix        *un,
-  struct prefix        *vn,
-  struct prefix        *p,
-  struct rfapi_import_table *it,
-  int          delete_active,
-  int          delete_holddown,
-  uint32_t     *pARcount,     /* active routes */
-  uint32_t     *pAHcount,     /* active nves */
-  uint32_t     *pHRcount,     /* holddown routes */
-  uint32_t     *pHHcount);    /* holddown nves */
+extern void rfapiDeleteRemotePrefixes(struct prefix *un, struct prefix *vn,
+                                     struct prefix *p,
+                                     struct rfapi_import_table *it,
+                                     int delete_active, int delete_holddown,
+                                     uint32_t *pARcount,  /* active routes */
+                                     uint32_t *pAHcount,  /* active nves */
+                                     uint32_t *pHRcount,  /* holddown routes */
+                                     uint32_t *pHHcount); /* holddown nves */
 
 /*------------------------------------------
  * rfapiCountAllItRoutes
  *
  * UI helper: count VRF routes from BGP side
  *
- * input: 
+ * input:
  *
  * output
  *     pARcount                count of active routes
@@ -267,19 +223,17 @@ rfapiDeleteRemotePrefixes (
  * return value:
  *     void
  --------------------------------------------*/
-extern void
-rfapiCountAllItRoutes (
-  int *pALRcount,      /* active local routes */
-  int *pARRcount,      /* active remote routes */
-  int *pHRcount,       /* holddown routes */
-  int *pIRcount);      /* direct imported routes */
+extern void rfapiCountAllItRoutes(int *pALRcount, /* active local routes */
+                                 int *pARRcount, /* active remote routes */
+                                 int *pHRcount,  /* holddown routes */
+                                 int *pIRcount); /* direct imported routes */
 
 /*------------------------------------------
  * rfapiGetHolddownFromLifetime
  *
  * calculate holddown value based on lifetime
  *
- * input: 
+ * input:
  *     lifetime                lifetime
  *
  * return value:
@@ -287,7 +241,6 @@ rfapiCountAllItRoutes (
  *     and RFAPI_LIFETIME_INFINITE_WITHDRAW_DELAY
  *
  --------------------------------------------*/
-extern uint32_t
-rfapiGetHolddownFromLifetime (uint32_t lifetime);
+extern uint32_t rfapiGetHolddownFromLifetime(uint32_t lifetime);
 
 #endif /* QUAGGA_HGP_RFAPI_IMPORT_H */