5 #ifndef vnsw_agent_interface_ksync_h
6 #define vnsw_agent_interface_ksync_h
8 #include <net/ethernet.h>
10 #include <boost/asio.hpp>
11 #include <boost/bind.hpp>
20 #include "vrouter/ksync/agent_ksync_types.h"
24 uint32_t vrf_id, uint32_t &ifindex, uint32_t &fd,
27 uint32_t vrf_id, uint32_t ifindex, uint32_t fd);
28 void GetPhyMac(
const char *ifname,
char *mac);
62 virtual std::string
ToString()
const;
63 virtual int AddMsg(
char *buf,
int buf_len);
64 virtual int ChangeMsg(
char *buf,
int buf_len);
65 virtual int DeleteMsg(
char *buf,
int buf_len);
141 boost::optional<InterfaceOsParams::IfGuid>
os_guid_;
165 #endif // vnsw_agent_interface_ksync_h
bool layer3_forwarding() const
PhysicalInterface::EncapType encap_type_
static const int kDefaultInterfaceMsgSize
InetInterface::SubType sub_type_
VmInterface::DeviceType vmi_device_type_
bool dhcp_enable_v6() const
DISALLOW_COPY_AND_ASSIGN(InterfaceKSyncEntry)
VmInterface::FatFlowList fat_flow_list_
InterfaceKSyncObject(KSync *parent)
VmInterface::ProxyArpMode proxy_arp_mode_
void KSyncInterfaceCreate(Interface::Type type, const char *if_name, uint32_t vrf_id, uint32_t &ifindex, uint32_t &fd, MacAddress &mac)
virtual KSyncEntry * UnresolvedReference()
bool KSyncEntrySandesh(Sandesh *resp)
bool has_service_vlan() const
boost::optional< InterfaceOsParams::IfGuid > os_guid_
virtual bool IsLess(const KSyncEntry &rhs) const
KSyncDBObject * GetObject() const
bool mac_ip_learning_enable_
void GetPhyMac(const char *ifname, char *mac)
virtual KSyncEntry * Alloc(const KSyncEntry *entry, uint32_t index)
int Encode(sandesh_op::type op, char *buf, int buf_len)
void KSyncInterfaceDelete(Interface::Type type, const char *if_name, uint32_t vrf_id, uint32_t ifindex, uint32_t fd)
const MacAddress & mac() const
virtual KSyncEntry * DBToKSyncEntry(const DBEntry *e)
virtual ~InterfaceKSyncObject()
bool flood_unknown_unicast_
const MacAddress & smac() const
std::vector< KSyncEntryPtr > xconnect_list_
DISALLOW_COPY_AND_ASSIGN(InterfaceKSyncObject)
KSyncEntryPtr qos_config_
InterfaceKSyncObject * ksync_obj_
boost::asio::ip::address_v6 Ip6Address
boost::intrusive_ptr< KSyncEntry > KSyncEntryPtr
VmInterface::FatFlowExcludeList fat_flow_exclude_list_
const MacAddress & pbb_mac() const
bool pbb_interface() const
virtual std::string ToString() const
std::string display_name_
PhysicalInterface::SubType subtype_
uint32_t multicast_vrf_id_
virtual ~InterfaceKSyncEntry()
VmInterface::HbsIntfType hbs_intf_type_
virtual int DeleteMsg(char *buf, int buf_len)
InterfaceKSyncEntry(InterfaceKSyncObject *obj, const InterfaceKSyncEntry *entry, uint32_t index)
virtual bool Sync(DBEntry *e)
PhysicalInterface::EncapType encap_type() const
bool drop_new_flows() const
DBFilterResp DBEntryFilter(const DBEntry *e, const KSyncDBEntry *k)
virtual int ChangeMsg(char *buf, int buf_len)
std::set< MacAddress > aap_mac_list_
Interface::MirrorDirection mirror_direction_
const string & interface_name() const
VmInterface::VmiType vmi_type_
void SetKsyncItfSandeshData(KSyncItfSandeshData *data) const
uint32_t interface_id() const
void FillObjectLog(sandesh_op::type op, KSyncIntfInfo &info) const
virtual int AddMsg(char *buf, int buf_len)
Interface::Transport transport_