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));
void set_icmpv6_proto(Icmpv6Proto *proto)
void SetDhcpProto(DhcpProto *proto)
void SetDnsProto(DnsProto *proto)
EventManager * event_manager() const
void set_dhcpv6_proto(Dhcpv6Proto *proto)
void SetArpProto(ArpProto *proto)
void SetIgmpProto(IgmpProto *proto)
void SetBfdProto(BfdProto *proto)
void SetIcmpProto(IcmpProto *proto)
boost::scoped_ptr< DnsProto > dns_proto_
void FreeLocalPortBindings()
boost::scoped_ptr< IcmpErrorProto > icmp_error_proto_
boost::scoped_ptr< BfdProto > bfd_proto_
boost::scoped_ptr< Icmpv6ErrorProto > icmpv6_error_proto_
std::vector< int > reserved_port_fd_list_
boost::scoped_ptr< Icmpv6Proto > icmpv6_proto_
boost::scoped_ptr< MetadataProxy > metadata_proxy_
boost::scoped_ptr< IcmpProto > icmp_proto_
boost::scoped_ptr< ArpProto > arp_proto_
boost::scoped_ptr< IgmpProto > igmp_proto_
boost::scoped_ptr< Dhcpv6Proto > dhcpv6_proto_
bool AllocateFd(uint16_t port_number, uint8_t ip_proto)
void Init(bool run_with_vrouter)
ServicesModule(Agent *agent, const std::string &metadata_secret)
boost::scoped_ptr< DhcpProto > dhcp_proto_
std::string metadata_secret_key_
#define LOG(_Level, _Msg)
#define VXLAN_UDP_DEST_PORT
boost::shared_ptr< TraceBuffer< SandeshTrace > > SandeshTraceBufferPtr
SandeshTraceBufferPtr SandeshTraceBufferCreate(const std::string &buf_name, size_t buf_size, bool trace_enable=true)
SandeshTraceBufferPtr MetadataTraceBuf(SandeshTraceBufferCreate("Metadata", 500))
SandeshTraceBufferPtr DhcpTraceBuf(SandeshTraceBufferCreate("Dhcp", 1000))
SandeshTraceBufferPtr IgmpTraceBuf(SandeshTraceBufferCreate("Igmp", 500))
SandeshTraceBufferPtr ArpTraceBuf(SandeshTraceBufferCreate("Arp", 1000))
SandeshTraceBufferPtr Dhcpv6TraceBuf(SandeshTraceBufferCreate("Dhcpv6", 1000))
SandeshTraceBufferPtr BfdTraceBuf(SandeshTraceBufferCreate("Bfd", 500))
SandeshTraceBufferPtr Icmpv6TraceBuf(SandeshTraceBufferCreate("Icmpv6", 500))
#define MPLS_OVER_UDP_OLD_DEST_PORT
#define MPLS_OVER_UDP_NEW_DEST_PORT