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/bind.hpp>
21 #include "vrouter/ksync/agent_ksync_types.h"
24 using namespace boost::placeholders;
27 uint32_t vrf_id, uint32_t &ifindex, uint32_t &fd,
30 uint32_t vrf_id, uint32_t ifindex, uint32_t fd);
46 if (parent_.get() == NULL) {
59 bool no_arp()
const {
return no_arp_; }
65 virtual std::string
ToString()
const;
66 virtual int AddMsg(
char *buf,
int buf_len);
67 virtual int ChangeMsg(
char *buf,
int buf_len);
68 virtual int DeleteMsg(
char *buf,
int buf_len);
79 int MsgLen() {
return kDefaultInterfaceMsgSize; }
80 bool KSyncEntrySandesh(
Sandesh *resp);
85 void SetKsyncItfSandeshData(KSyncItfSandeshData *data)
const;
144 boost::optional<InterfaceOsParams::IfGuid>
os_guid_;
160 void RegisterDBClients();
boost::asio::ip::address_v6 Ip6Address
static bool IsLess(const ShowRoute &lhs, const ShowRoute &rhs, const BgpSandeshContext *bsc, const string &table_name)
InetInterface::SubType sub_type_
PhysicalInterface::EncapType encap_type_
PhysicalInterface::SubType subtype_
bool dhcp_enable_v6() const
Interface::MirrorDirection mirror_direction_
VmInterface::FatFlowExcludeList fat_flow_exclude_list_
const MacAddress & mac() const
VmInterface::HbsIntfType hbs_intf_type_
bool has_service_vlan() const
bool flood_unknown_unicast_
VmInterface::ProxyArpMode proxy_arp_mode_
VmInterface::DeviceType vmi_device_type_
const MacAddress & smac() const
bool drop_new_flows() const
InterfaceKSyncObject * ksync_obj_
std::set< MacAddress > aap_mac_list_
uint32_t multicast_vrf_id_
bool mac_ip_learning_enable_
const MacAddress & pbb_mac() const
bool layer3_forwarding() const
std::string display_name_
VmInterface::FatFlowList fat_flow_list_
Interface::Transport transport_
bool pbb_interface() const
DISALLOW_COPY_AND_ASSIGN(InterfaceKSyncEntry)
uint32_t interface_id() const
KSyncEntryPtr qos_config_
VmInterface::VmiType vmi_type_
PhysicalInterface::EncapType encap_type() const
boost::optional< InterfaceOsParams::IfGuid > os_guid_
const string & interface_name() const
std::vector< KSyncEntryPtr > xconnect_list_
DISALLOW_COPY_AND_ASSIGN(InterfaceKSyncObject)
boost::intrusive_ptr< KSyncEntry > KSyncEntryPtr
void KSyncInterfaceCreate(Interface::Type type, const char *if_name, uint32_t vrf_id, uint32_t &ifindex, uint32_t &fd, MacAddress &mac)
void GetPhyMac(const char *ifname, char *mac)
void KSyncInterfaceDelete(Interface::Type type, const char *if_name, uint32_t vrf_id, uint32_t ifindex, uint32_t fd)
#define KSYNC_DEFAULT_MSG_SIZE
static string ToString(PhysicalDevice::ManagementProtocol proto)