X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fgbp%2Fgbp_recirc.h;h=2f3354b794e65837ba9d06ebbe619bb143b01c46;hb=59f71132e;hp=1d1a88a396ba820fb24417db3899bed76f24a841;hpb=93cc3ee3b3a9c9224a1446625882205f3282a949;p=vpp.git diff --git a/src/plugins/gbp/gbp_recirc.h b/src/plugins/gbp/gbp_recirc.h index 1d1a88a396b..2f3354b794e 100644 --- a/src/plugins/gbp/gbp_recirc.h +++ b/src/plugins/gbp/gbp_recirc.h @@ -17,17 +17,21 @@ #define __GBP_RECIRC_H__ #include +#include #include /** - * An Endpoint Group representation + * A GBP recirculation interface representation + * Thes interfaces join Bridge domains that are internal to those that are + * NAT external, so the packets can be NAT translated and then undergo the + * whole policy process again. */ typedef struct gpb_recirc_t_ { /** * EPG ID that packets will classify to when they arrive on this recirc */ - epg_id_t gr_epg; + sclass_t gr_sclass; /** * The index of the EPG @@ -37,7 +41,7 @@ typedef struct gpb_recirc_t_ /** * FIB indices the EPG is mapped to */ - u32 gr_fib_index[FIB_PROTOCOL_IP_MAX]; + u32 gr_fib_index[DPO_PROTO_NUM]; /** * Is the interface for packets post-NAT translation (i.e. ext) @@ -48,7 +52,7 @@ typedef struct gpb_recirc_t_ /** */ u32 gr_sw_if_index; - u32 gr_itf; + gbp_itf_hdl_t gr_itf; /** * The endpoint created to represent the reric interface @@ -56,10 +60,10 @@ typedef struct gpb_recirc_t_ index_t gr_ep; } gbp_recirc_t; -extern int gbp_recirc_add (u32 sw_if_index, epg_id_t epg_id, u8 is_ext); -extern void gbp_recirc_delete (u32 sw_if_index); +extern int gbp_recirc_add (u32 sw_if_index, sclass_t sclass, u8 is_ext); +extern int gbp_recirc_delete (u32 sw_if_index); -typedef int (*gbp_recirc_cb_t) (gbp_recirc_t * gbpe, void *ctx); +typedef walk_rc_t (*gbp_recirc_cb_t) (gbp_recirc_t * gbpe, void *ctx); extern void gbp_recirc_walk (gbp_recirc_cb_t bgpe, void *ctx); /**