5 #ifndef __agent_pkt_flow_info_h_
6 #define __agent_pkt_flow_info_h_
134 void SetPktInfo(boost::shared_ptr<PktInfo> info);
147 boost::shared_ptr<PktInfo>
pkt;
222 #endif // __agent_pkt_flow_info_h_
void SetPktInfo(boost::shared_ptr< PktInfo > info)
bool linklocal_bind_local_port
static const Ip6Address kDefaultIpv6
bool bgp_router_service_flow
bool flood_unknown_unicast
bool UnknownUnicastFlow(const PktInfo *p, const PktControlInfo *in_info, const PktControlInfo *out_info)
static bool GetIngressNwPolicyAclList(const Interface *intf, const VnEntry *vn, MatchPolicy *m_policy)
bool IngressRouteAllowNatLookup(const AgentRoute *in_rt, const AgentRoute *out_rt, uint32_t sport, uint32_t dport, const Interface *intf)
const VnListType * src_vn
boost::asio::ip::address IpAddress
uint32_t out_component_nh_idx
const NextHop * TunnelToNexthop(const PktInfo *pkt)
void BgpRouterServiceFromVm(const PktInfo *pkt, PktControlInfo *in, PktControlInfo *out)
bool EgressRouteAllowNatLookup(const AgentRoute *in_rt, const AgentRoute *out_rt, uint32_t sport, uint32_t dport, const Interface *intf)
static const int kBgpRouterServiceInvalidFd
FlowRouteRefMap flow_source_plen_map
bool RouteAllowNatLookupCommon(const AgentRoute *rt, uint32_t sport, uint32_t dport, const Interface *intf)
void ChangeEncap(const VmInterface *intf, const PktInfo *pkt, PktControlInfo *in, PktControlInfo *out, bool nat_flow)
void UpdateEvictedFlowStats(const PktInfo *pkt)
Base class for all Route entries in agent.
void LinkLocalPortBind(const PktInfo *pkt, const PktControlInfo *in, FlowEntry *flow)
void ChangeFloatingIpEncap(const PktInfo *pkt, PktControlInfo *in, PktControlInfo *out)
boost::shared_ptr< PktInfo > pkt
void UpdateRoute(const AgentRoute **rt, const VrfEntry *vrf, const IpAddress &addr, const MacAddress &mac, FlowRouteRefMap &ref_map)
const VnListType * dst_vn
bool ValidateConfig(const PktInfo *pkt, PktControlInfo *in)
void IngressProcess(const PktInfo *pkt, PktControlInfo *in, PktControlInfo *out)
IpAddress FamilyToAddress(Address::Family family)
void FloatingIpSNat(const PktInfo *pkt, PktControlInfo *in, PktControlInfo *out)
void GenerateTrafficSeen(const PktInfo *pkt, const PktControlInfo *in)
boost::asio::ip::address_v6 Ip6Address
bool VrfTranslate(const PktInfo *pkt, PktControlInfo *ctrl, PktControlInfo *rev_flow, const IpAddress &src_ip, bool nat_flow)
map< int, int > FlowRouteRefMap
bool IsBgpRouterServiceRoute(const AgentRoute *in_rt, const AgentRoute *out_rt, const Interface *intf, uint32_t sport, uint32_t dport)
bool Process(const PktInfo *pkt, PktControlInfo *in, PktControlInfo *out)
static bool ComputeDirection(const Interface *intf)
int linklocal_src_port_fd
static const int kLinkLocalInvalidFd
void Add(const PktInfo *pkt, PktControlInfo *in, PktControlInfo *out)
std::set< std::string > VnListType
boost::asio::ip::address_v4 Ip4Address
static const Ip4Address kDefaultIpv4
uint8_t RouteToPrefixLen(const AgentRoute *route)
void CalculatePort(const PktInfo *p, const Interface *intf)
uint16_t short_flow_reason
void BgpRouterServiceTranslate(const PktInfo *pkt, PktControlInfo *in, PktControlInfo *out)
void LinkLocalServiceFromVm(const PktInfo *pkt, PktControlInfo *in, PktControlInfo *out)
void ChangeVrf(const PktInfo *pkt, PktControlInfo *info, const VrfEntry *vrf)
virtual ~PktControlInfo()
bool overlay_route_not_found
void CheckLinkLocal(const PktInfo *pkt)
void NatVxlanVrfTranslate(const PktInfo *pkt, PktControlInfo *in, PktControlInfo *out)
FlowRouteRefMap flow_dest_plen_map
void ApplyFlowLimits(const PktControlInfo *in, const PktControlInfo *out)
void ChangeEncapToOverlay(const VmInterface *intf, const PktInfo *pkt, PktControlInfo *in, PktControlInfo *out)
void EgressProcess(const PktInfo *pkt, PktControlInfo *in, PktControlInfo *out)
void LinkLocalServiceTranslate(const PktInfo *pkt, PktControlInfo *in, PktControlInfo *out)
void LinkLocalServiceFromHost(const PktInfo *pkt, PktControlInfo *in, PktControlInfo *out)
void UpdateFipStatsInfo(FlowEntry *flow, FlowEntry *rflow, const PktInfo *p, const PktControlInfo *in, const PktControlInfo *o)
void FloatingIpDNat(const PktInfo *pkt, PktControlInfo *in, PktControlInfo *out)
PktFlowInfo(Agent *a, boost::shared_ptr< PktInfo > info, FlowTable *ftable)