aboutsummaryrefslogtreecommitdiff
path: root/hw/net/igb_core.c
diff options
context:
space:
mode:
authorTomasz Dzieciol <t.dzieciol@partner.samsung.com>2023-05-29 16:01:51 +0200
committerJason Wang <jasowang@redhat.com>2023-09-18 14:36:13 +0800
commit1c4e67a5be1fd89bd2c919799b2eb1478142848a (patch)
tree6bed2f0cd51452d1324ac41e5aad330545425c5f /hw/net/igb_core.c
parent17ccd01647960e760f9b3daa41bcdc6aabd2ddc9 (diff)
downloadqemu-1c4e67a5be1fd89bd2c919799b2eb1478142848a.zip
qemu-1c4e67a5be1fd89bd2c919799b2eb1478142848a.tar.gz
qemu-1c4e67a5be1fd89bd2c919799b2eb1478142848a.tar.bz2
igb: add IPv6 extended headers traffic detection
Signed-off-by: Tomasz Dzieciol <t.dzieciol@partner.samsung.com> Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com> Tested-by: Akihiko Odaki <akihiko.odaki@daynix.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'hw/net/igb_core.c')
-rw-r--r--hw/net/igb_core.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c
index 6d2712e..9f43fe5 100644
--- a/hw/net/igb_core.c
+++ b/hw/net/igb_core.c
@@ -1420,7 +1420,9 @@ igb_rx_desc_get_packet_type(IGBCore *core, struct NetRxPkt *pkt, uint16_t etqf)
net_rx_pkt_get_protocols(pkt, &hasip4, &hasip6, &l4hdr_proto);
if (hasip6 && !(core->mac[RFCTL] & E1000_RFCTL_IPV6_DIS)) {
- pkt_type = E1000_ADVRXD_PKT_IP6;
+ eth_ip6_hdr_info *ip6hdr_info = net_rx_pkt_get_ip6_info(pkt);
+ pkt_type = ip6hdr_info->has_ext_hdrs ? E1000_ADVRXD_PKT_IP6E :
+ E1000_ADVRXD_PKT_IP6;
} else if (hasip4) {
pkt_type = E1000_ADVRXD_PKT_IP4;
} else {