8 #include "sandesh/sandesh_types.h"
9 #include "sandesh/sandesh.h"
10 #include "sandesh/sandesh_trace.h"
33 : agent_(agent), metadata_secret_key_(metadata_secret), dhcp_proto_(NULL),
34 dhcpv6_proto_(NULL), dns_proto_(NULL), arp_proto_(NULL), bfd_proto_(NULL),
35 icmp_proto_(NULL), icmpv6_proto_(NULL), igmp_proto_(NULL), metadata_proxy_(NULL) {
43 boost::asio::io_context &io = *
event->
io_service();
126 if (l3_proto == IPPROTO_TCP) {
127 fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
129 fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
133 LOG(ERROR,
"Failed to create socket, errno:" << strerror(errno));
137 struct sockaddr_in address;
138 memset(&address, 0,
sizeof(address));
139 address.sin_family = AF_INET;
140 address.sin_port = htons(port_number);
141 if (::bind(fd, (
struct sockaddr*) &address,
sizeof(address)) < 0) {
142 LOG(ERROR,
"failed to bind socket to port: " << port_number
143 <<
"errno: " << strerror(errno));
SandeshTraceBufferPtr Dhcpv6TraceBuf
void set_icmpv6_proto(Icmpv6Proto *proto)
SandeshTraceBufferPtr ArpTraceBuf
SandeshTraceBufferPtr BfdTraceBuf
void SetDnsProto(DnsProto *proto)
void SetBfdProto(BfdProto *proto)
boost::scoped_ptr< Icmpv6ErrorProto > icmpv6_error_proto_
boost::scoped_ptr< IgmpProto > igmp_proto_
boost::asio::io_context * io_service()
#define MPLS_OVER_UDP_OLD_DEST_PORT
std::vector< int > reserved_port_fd_list_
SandeshTraceBufferPtr IgmpTraceBuf
boost::scoped_ptr< DnsProto > dns_proto_
boost::shared_ptr< TraceBuffer< SandeshTrace > > SandeshTraceBufferPtr
void set_dhcpv6_proto(Dhcpv6Proto *proto)
boost::scoped_ptr< DhcpProto > dhcp_proto_
ServicesModule(Agent *agent, const std::string &metadata_secret)
boost::scoped_ptr< Dhcpv6Proto > dhcpv6_proto_
SandeshTraceBufferPtr DhcpTraceBuf
void SetDhcpProto(DhcpProto *proto)
boost::scoped_ptr< IcmpErrorProto > icmp_error_proto_
void FreeLocalPortBindings()
#define VXLAN_UDP_DEST_PORT
boost::scoped_ptr< MetadataProxy > metadata_proxy_
EventManager * event_manager() const
void SetIgmpProto(IgmpProto *proto)
void SetIcmpProto(IcmpProto *proto)
#define MPLS_OVER_UDP_NEW_DEST_PORT
boost::scoped_ptr< Icmpv6Proto > icmpv6_proto_
void Init(bool run_with_vrouter)
std::string metadata_secret_key_
#define LOG(_Level, _Msg)
boost::scoped_ptr< BfdProto > bfd_proto_
boost::scoped_ptr< IcmpProto > icmp_proto_
bool AllocateFd(uint16_t port_number, uint8_t ip_proto)
SandeshTraceBufferPtr MetadataTraceBuf
void SetArpProto(ArpProto *proto)
SandeshTraceBufferPtr Icmpv6TraceBuf
SandeshTraceBufferPtr SandeshTraceBufferCreate(const std::string &buf_name, size_t buf_size, bool trace_enable=true)
boost::scoped_ptr< ArpProto > arp_proto_