Skip to content

Commit e0fdb09

Browse files
committed
Fix bug in nfpcapd for ipv6 processing
1 parent 8d5ab76 commit e0fdb09

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

src/nfpcapd/flowdump.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,10 @@ static int StorePcapFlow(flowParam_t *flowParam, struct FlowNode *Node) {
122122
if (Node->flowKey.version == AF_INET6) {
123123
UpdateRecordSize(EXipv6FlowSize);
124124
PushExtension(recordHeader, EXipv6Flow, ipv6Flow);
125-
ipv6Flow->srcAddr[0] = Node->flowKey.src_addr.v6[0];
126-
ipv6Flow->srcAddr[1] = Node->flowKey.src_addr.v6[1];
127-
ipv6Flow->dstAddr[0] = Node->flowKey.dst_addr.v6[0];
128-
ipv6Flow->dstAddr[1] = Node->flowKey.dst_addr.v6[1];
125+
ipv6Flow->srcAddr[0] = ntohll(Node->flowKey.src_addr.v6[0]);
126+
ipv6Flow->srcAddr[1] = ntohll(Node->flowKey.src_addr.v6[1]);
127+
ipv6Flow->dstAddr[0] = ntohll(Node->flowKey.dst_addr.v6[0]);
128+
ipv6Flow->dstAddr[1] = ntohll(Node->flowKey.dst_addr.v6[1]);
129129
} else {
130130
UpdateRecordSize(EXipv4FlowSize);
131131
PushExtension(recordHeader, EXipv4Flow, ipv4Flow);

src/nfpcapd/pcaproc.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -921,7 +921,7 @@ int ProcessPacket(packetParam_t *packetParam, const struct pcap_pkthdr *hdr, con
921921
}
922922

923923
if (ipPayloadEnd < dataptr || ipPayloadEnd > eodata) {
924-
LogError("payload data length error. Check line: %u", __LINE__);
924+
LogError("ProcessPacket() payload data length error line: %u", __LINE__);
925925
Free_Node(Node);
926926
goto END_FUNC;
927927
}
@@ -1085,7 +1085,7 @@ int ProcessPacket(packetParam_t *packetParam, const struct pcap_pkthdr *hdr, con
10851085
// move IP to tun IP
10861086
Node->tun_src_addr = Node->flowKey.src_addr;
10871087
Node->tun_dst_addr = Node->flowKey.dst_addr;
1088-
Node->tun_proto = IPPROTO_IPIP;
1088+
Node->tun_proto = IPPROTO_IPV6;
10891089
Node->tun_ip_version = Node->flowKey.version;
10901090

10911091
dbg_printf(" IPIPv6 tunnel - inner IPv6:\n");

0 commit comments

Comments
 (0)