Add support for RARP
This commit is contained in:
parent
f185ceb206
commit
b3ac5f8d5d
@ -62,12 +62,14 @@ void ArpProtocol::protoDataCopyFrom(const OstProto::Protocol &protocol)
|
|||||||
|
|
||||||
QString ArpProtocol::name() const
|
QString ArpProtocol::name() const
|
||||||
{
|
{
|
||||||
return QString("Address Resolution Protocol");
|
return isRarp() ?
|
||||||
|
QString("Reverse Address Resolution Protocol") :
|
||||||
|
QString("Address Resolution Protocol");
|
||||||
}
|
}
|
||||||
|
|
||||||
QString ArpProtocol::shortName() const
|
QString ArpProtocol::shortName() const
|
||||||
{
|
{
|
||||||
return QString("ARP");
|
return isRarp() ? QString("RARP") : QString("ARP");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -96,7 +98,7 @@ quint32 ArpProtocol::protocolId(ProtocolIdType type) const
|
|||||||
{
|
{
|
||||||
switch(type)
|
switch(type)
|
||||||
{
|
{
|
||||||
case ProtocolIdEth: return 0x0806;
|
case ProtocolIdEth: return isRarp() ? 0x8035 : 0x0806;
|
||||||
default:break;
|
default:break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -808,3 +810,11 @@ int ArpProtocol::protocolFrameVariableCount() const
|
|||||||
|
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ArpProtocol::isRarp() const
|
||||||
|
{
|
||||||
|
if ((data.op_code() == 3)
|
||||||
|
|| (data.op_code() ==4))
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@ -96,6 +96,8 @@ public:
|
|||||||
virtual int protocolFrameVariableCount() const;
|
virtual int protocolFrameVariableCount() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
bool isRarp() const;
|
||||||
|
|
||||||
OstProto::Arp data;
|
OstProto::Arp data;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -30,6 +30,8 @@ ArpConfigForm::ArpConfigForm(QWidget *parent)
|
|||||||
opCodeCombo->setValidator(new QIntValidator(0, 0xFFFF, this));
|
opCodeCombo->setValidator(new QIntValidator(0, 0xFFFF, this));
|
||||||
opCodeCombo->addItem(1, "ARP Request");
|
opCodeCombo->addItem(1, "ARP Request");
|
||||||
opCodeCombo->addItem(2, "ARP Reply");
|
opCodeCombo->addItem(2, "ARP Reply");
|
||||||
|
opCodeCombo->addItem(3, "Reverse ARP Request");
|
||||||
|
opCodeCombo->addItem(4, "Reverse ARP Reply");
|
||||||
|
|
||||||
connect(senderHwAddrMode, SIGNAL(currentIndexChanged(int)),
|
connect(senderHwAddrMode, SIGNAL(currentIndexChanged(int)),
|
||||||
SLOT(on_senderHwAddrMode_currentIndexChanged(int)));
|
SLOT(on_senderHwAddrMode_currentIndexChanged(int)));
|
||||||
|
Loading…
Reference in New Issue
Block a user