HostDev: Use unused constants

This commit is contained in:
Srivats P 2018-07-31 22:24:31 +05:30
parent 86ab58ae8c
commit ffa0fdaa74

View File

@ -26,6 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
const quint64 kBcastMac = 0xffffffffffffULL; const quint64 kBcastMac = 0xffffffffffffULL;
const quint16 kEthTypeIp4 = 0x0800; const quint16 kEthTypeIp4 = 0x0800;
const quint16 kEthTypeArp = 0x0806;
const quint16 kEthTypeIp6 = 0x86dd; const quint16 kEthTypeIp6 = 0x86dd;
const int kIp6HdrLen = 40; const int kIp6HdrLen = 40;
const quint8 kIpProtoIcmp6 = 58; const quint8 kIpProtoIcmp6 = 58;
@ -100,17 +101,17 @@ void EmulDevice::receivePacket(PacketBuffer *pktBuf)
switch(ethType) switch(ethType)
{ {
case 0x0806: // ARP case kEthTypeArp:
if (hasIp4_) if (hasIp4_)
receiveArp(pktBuf); receiveArp(pktBuf);
break; break;
case 0x0800: // IPv4 case kEthTypeIp4:
if (hasIp4_) if (hasIp4_)
receiveIp4(pktBuf); receiveIp4(pktBuf);
break; break;
case 0x86dd: // IPv6 case kEthTypeIp6:
if (hasIp6_) if (hasIp6_)
receiveIp6(pktBuf); receiveIp6(pktBuf);
break; break;
@ -214,7 +215,7 @@ void EmulDevice::receiveArp(PacketBuffer *pktBuf)
protoType = qFromBigEndian<quint16>(pktData + offset); protoType = qFromBigEndian<quint16>(pktData + offset);
offset += 2; offset += 2;
if (protoType != 0x0800) // IPv4 if (protoType != kEthTypeIp4)
goto _invalid_exit; goto _invalid_exit;
hwAddrLen = pktData[offset]; hwAddrLen = pktData[offset];
@ -266,7 +267,7 @@ void EmulDevice::receiveArp(PacketBuffer *pktBuf)
*(quint32*)(pktData+24) = qToBigEndian(srcIp); *(quint32*)(pktData+24) = qToBigEndian(srcIp);
} }
encap(rspPkt, srcMac, 0x0806); encap(rspPkt, srcMac, kEthTypeArp);
transmitPacket(rspPkt); transmitPacket(rspPkt);
qDebug("Sent ARP Reply for srcIp/tgtIp=%s/%s", qDebug("Sent ARP Reply for srcIp/tgtIp=%s/%s",
@ -335,7 +336,7 @@ void EmulDevice::sendArpRequest(quint32 tgtIp)
*(quint32*)(pktData+24) = qToBigEndian(tgtIp); *(quint32*)(pktData+24) = qToBigEndian(tgtIp);
} }
encap(reqPkt, kBcastMac, 0x0806); encap(reqPkt, kBcastMac, kEthTypeArp);
transmitPacket(reqPkt); transmitPacket(reqPkt);
arpTable_.insert(tgtIp, 0); arpTable_.insert(tgtIp, 0);
@ -426,7 +427,7 @@ void EmulDevice::sendIp4Reply(PacketBuffer *pktBuf)
sum = (sum & 0xFFFF) + (sum >> 16); sum = (sum & 0xFFFF) + (sum >> 16);
*(quint16*)(pktData + 10) = qToBigEndian(quint16(~sum)); *(quint16*)(pktData + 10) = qToBigEndian(quint16(~sum));
encap(pktBuf, arpTable_.value(tgtIp), 0x0800); encap(pktBuf, arpTable_.value(tgtIp), kEthTypeIp4);
transmitPacket(pktBuf); transmitPacket(pktBuf);
} }
@ -579,7 +580,7 @@ void EmulDevice::sendIp6Reply(PacketBuffer *pktBuf)
// Reset TTL // Reset TTL
pktData[7] = 64; pktData[7] = 64;
encap(pktBuf, ndpTable_.value(tgtIp), 0x86dd); encap(pktBuf, ndpTable_.value(tgtIp), kEthTypeIp6);
transmitPacket(pktBuf); transmitPacket(pktBuf);
} }