diff --git a/client/main.cpp b/client/main.cpp
index 65864f0..94d3baf 100644
--- a/client/main.cpp
+++ b/client/main.cpp
@@ -38,11 +38,23 @@ extern ProtocolWidgetFactory *OstProtocolWidgetFactory;
QSettings *appSettings;
QMainWindow *mainWindow;
+#if defined(Q_OS_WIN32)
+QString kGzipPathDefaultValue;
+QString kDiffPathDefaultValue;
+QString kAwkPathDefaultValue;
+#endif
+
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
int exitCode;
+#if defined(Q_OS_WIN32)
+ kGzipPathDefaultValue = app.applicationDirPath() + "/gzip.exe";
+ kDiffPathDefaultValue = app.applicationDirPath() + "/diff.exe";
+ kAwkPathDefaultValue = app.applicationDirPath() + "/gawk.exe";
+#endif
+
app.setApplicationName("Ostinato");
app.setOrganizationName("Ostinato");
app.setProperty("version", version);
diff --git a/common/ostproto.pro b/common/ostproto.pro
index e4467dc..8d14c1a 100644
--- a/common/ostproto.pro
+++ b/common/ostproto.pro
@@ -18,6 +18,7 @@ PROTOS = \
vlan.proto \
svlan.proto \
vlanstack.proto \
+ stp.proto \
arp.proto \
ip4.proto \
ip6.proto \
@@ -90,6 +91,7 @@ SOURCES += \
dot3.cpp \
llc.cpp \
snap.cpp \
+ stp.cpp \
arp.cpp \
ip4.cpp \
ip6.cpp \
diff --git a/common/ostprotogui.pro b/common/ostprotogui.pro
index dcbec0c..a91beea 100644
--- a/common/ostprotogui.pro
+++ b/common/ostprotogui.pro
@@ -15,6 +15,7 @@ FORMS += \
dot3.ui \
llc.ui \
snap.ui \
+ stp.ui \
arp.ui \
ip4.ui \
ip6.ui \
@@ -59,6 +60,7 @@ HEADERS += \
dot2llcconfig.h \
snapconfig.h \
dot2snapconfig.h \
+ stpconfig.h \
arpconfig.h \
ip4config.h \
ip6config.h \
@@ -94,6 +96,7 @@ SOURCES += \
dot3config.cpp \
llcconfig.cpp \
snapconfig.cpp \
+ stpconfig.cpp \
arpconfig.cpp \
ip4config.cpp \
ip6config.cpp \
@@ -112,6 +115,7 @@ SOURCES += \
SOURCES += \
vlanpdml.cpp \
svlanpdml.cpp \
+ stppdml.cpp \
eth2pdml.cpp \
llcpdml.cpp \
arppdml.cpp \
diff --git a/common/pdmlreader.cpp b/common/pdmlreader.cpp
index 7b5eb9d..8906520 100644
--- a/common/pdmlreader.cpp
+++ b/common/pdmlreader.cpp
@@ -35,6 +35,7 @@ along with this program. If not, see
#include "ip4pdml.h"
#include "ip6pdml.h"
#include "mldpdml.h"
+#include "stppdml.h"
#include "svlanpdml.h"
#include "tcppdml.h"
#include "textprotopdml.h"
@@ -77,6 +78,7 @@ PdmlReader::PdmlReader(OstProto::StreamConfigList *streams)
factory_.insert("udp", PdmlUdpProtocol::createInstance);
factory_.insert("udplite", PdmlUdpProtocol::createInstance);
factory_.insert("vlan", PdmlVlanProtocol::createInstance);
+ factory_.insert("stp", PdmlStpProtocol::createInstance);
}
PdmlReader::~PdmlReader()
diff --git a/common/protocol.proto b/common/protocol.proto
index deccf07..19d27b1 100644
--- a/common/protocol.proto
+++ b/common/protocol.proto
@@ -140,6 +140,7 @@ message Protocol {
kDot2LlcFieldNumber = 206;
kDot2SnapFieldNumber = 207;
kVlanStackFieldNumber = 208;
+ kStpFieldNumber = 210;
kArpFieldNumber = 300;
kIp4FieldNumber = 301;
diff --git a/common/protocolmanager.cpp b/common/protocolmanager.cpp
index 84e1e2d..9908d0c 100644
--- a/common/protocolmanager.cpp
+++ b/common/protocolmanager.cpp
@@ -34,6 +34,7 @@ along with this program. If not, see
#include "snap.h"
#include "dot2snap.h"
#include "eth2.h"
+#include "stp.h"
// L3 Protos
#include "arp.h"
@@ -89,6 +90,8 @@ ProtocolManager::ProtocolManager()
(void*) SnapProtocol::createInstance);
registerProtocol(OstProto::Protocol::kDot2SnapFieldNumber,
(void*) Dot2SnapProtocol::createInstance);
+ registerProtocol(OstProto::Protocol::kStpFieldNumber,
+ (void*) StpProtocol::createInstance);
// Layer 3 Protocols
registerProtocol(OstProto::Protocol::kArpFieldNumber,
diff --git a/common/protocolwidgetfactory.cpp b/common/protocolwidgetfactory.cpp
index 8c8e30a..cc78bbf 100644
--- a/common/protocolwidgetfactory.cpp
+++ b/common/protocolwidgetfactory.cpp
@@ -30,6 +30,7 @@ along with this program. If not, see
#include "dot2llcconfig.h"
#include "snapconfig.h"
#include "dot2snapconfig.h"
+#include "stpconfig.h"
// L3 Protocol Widgets
#include "arpconfig.h"
#include "ip4config.h"
@@ -93,7 +94,10 @@ ProtocolWidgetFactory::ProtocolWidgetFactory()
OstProtocolWidgetFactory->registerProtocolConfigWidget(
OstProto::Protocol::kDot2SnapFieldNumber,
(void*) Dot2SnapConfigForm::createInstance);
-
+ OstProtocolWidgetFactory->registerProtocolConfigWidget(
+ OstProto::Protocol::kStpFieldNumber,
+ (void*) StpConfigForm::createInstance);
+
// Layer 3 Protocols
OstProtocolWidgetFactory->registerProtocolConfigWidget(
OstProto::Protocol::kArpFieldNumber,