24 void*(*fnCopy)(
void*);
54 memcpy(newHdr, hdr,
sizeof* hdr);
138 static int packetId = 0;
147 memset(&pevent, 0,
sizeof pevent);
165 fnNetSimError(
"OSPF is not configured for device %d interface %d.\n",
193#pragma message(__LOC__"Change after virtual link implementation")
#define IP_IS_IN_SAME_NETWORK_IPV4(ip1, ip2, subnet)
#define IP_COMPARE(ip1, ip2)
#define fnNetSimError(x,...)
NETSIM_IPAddress AllDRouters
ptrOSPF_IF OSPF_IF_GET(ptrOSPF_PDS ospf, NETSIM_ID ifId)
#define OSPF_PDS_CURRENT()
#define OSPF_IF_CURRENT()
NETSIM_IPAddress AllSPFRouters
void OSPF_DD_MSG_NEW(ptrOSPFPACKETHDR hdr)
ptrOSPFDD OSPF_DD_MSG_COPY(ptrOSPFDD dd)
void OSPF_DD_MSG_FREE(ptrOSPFDD dd)
void OSPF_HELLO_MSG_NEW(ptrOSPFPACKETHDR hdr)
ptrOSPFHELLO OSPF_HELLO_MSG_COPY(ptrOSPFHELLO hello)
void OSPF_HELLO_MSG_FREE(ptrOSPFHELLO hello)
void OSPF_LSACK_NEW(ptrOSPFPACKETHDR hdr)
ptrOSPFLSACK OSPF_LSACK_COPY(ptrOSPFLSACK ack)
void OSPF_LSACK_FREE(ptrOSPFLSACK ack)
ptrOSPFLSREQ OSPF_LSREQ_MSG_COPY(ptrOSPFLSREQ lsr)
void OSPF_LSREQ_MSG_FREE(ptrOSPFLSREQ lsr)
void OSPF_LSREQ_MSG_NEW(ptrOSPFPACKETHDR hdr)
ptrOSPFLSUPDATE OSPF_LSUPDATE_MSG_COPY(ptrOSPFLSUPDATE lsu)
void OSPF_LSUPDATE_MSG_NEW(ptrOSPFPACKETHDR hdr)
void OSPF_LSUPDATE_MSG_FREE(ptrOSPFLSUPDATE lsu)
struct stru_ospf_msg_database OSPFMSG_DATABASE
void OSPF_SEND_PACKET(NetSim_PACKET *packet)
static char * OSPFMSG_TO_STR(OSPFMSG type)
ptrOSPFPACKETHDR OSPF_HDR_NEW()
static OSPFMSG_DATABASE pstruOSPFMsgCallback[]
void OSPF_HDR_FREE(ptrOSPFPACKETHDR hdr)
void OSPF_HDR_INCREASE_LEN(NetSim_PACKET *packet, UINT16 len)
static ptrOSPFPACKETHDR ospf_get_new_hdr(OSPFMSG type)
bool validate_ospf_packet(NetSim_PACKET *packet, NETSIM_ID d, NETSIM_ID in)
static void ospf_packet_update_src(NetSim_PACKET *packet, NETSIM_ID d, NETSIM_ID in)
ptrOSPFPACKETHDR OSPF_HDR_COPY(ptrOSPFPACKETHDR hdr)
void OSPF_HDR_SET_MSG(ptrOSPFPACKETHDR hdr, OSPFMSG type, void *msg, UINT16 len)
static bool validate_areaid(NetSim_PACKET *packet)
NetSim_PACKET * OSPF_PACKET_NEW(double time, OSPFMSG type, NETSIM_ID d, NETSIM_ID in)
#define OSPF_HDR_SET_AREAID(hdr, id)
#define OSPFMSG_TO_PACKETTYPE(msg)
#define OSPFPACKETHDR_LEN
#define OSPF_PACKET_GET_HDR(packet)
#define OSPF_HDR_SET_ROUTERID(hdr, id)
#define OSPF_HDR_GET_LEN(hdr)
enum enum_ospf_msg OSPFMSG
#define DEVICE_TYPE(DeviceId)
#define DEVICE_INTERFACE_CONFIGID(DeviceId, InterfaceId)
#define DEVICE_NWADDRESS(DeviceId, InterfaceId)
#define DEVICE_SUBNETMASK(DeviceId, InterfaceId)
#define DEVICE_CONFIGID(DeviceId)
EXPORTED struct stru_NetSim_EventDetails * pstruEventDetails
#define fn_NetSim_Packet_CreatePacket(layer)
#define fnpAddEvent(pstruEvent)
struct stru_NetSim_Packet * pPacket
netsimDEVICE_TYPE nDeviceType
void * Packet_AppProtocol
APPLICATION_LAYER_PROTOCOL nApplicationProtocol
IP_PROTOCOL_NUMBER IPProtocol
NETSIM_IPAddress szDestIP
NETSIM_IPAddress szSourceIP
struct stru_NetSim_Packet_AppLayer * pstruAppData
char szPacketType[MAX_PACKET_TYPE_LEN]
struct stru_NetSim_Packet_NetworkLayer * pstruNetworkData
unsigned int nControlDataType
struct stru_NetSim_Packet_TransportLayer * pstruTransportData
PACKET_PRIORITY nPacketPriority
void(* fnNew)(ptrOSPFPACKETHDR hdr)