Commit 213298f8 authored by Frank Blaschka's avatar Frank Blaschka Committed by Jeff Garzik

qeth: layer 3 support vlan IPv6 on hiper socket

hiper socket require the QETH_HDR_EXT_VLAN_FRAME flag in the
qdio header to handle vlan tagged frames.
Signed-off-by: default avatarFrank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
parent cd023216
...@@ -2568,9 +2568,10 @@ static void qeth_l3_fill_header(struct qeth_card *card, struct qeth_hdr *hdr, ...@@ -2568,9 +2568,10 @@ static void qeth_l3_fill_header(struct qeth_card *card, struct qeth_hdr *hdr,
* v6 uses passthrough, v4 sets the tag in the QDIO header. * v6 uses passthrough, v4 sets the tag in the QDIO header.
*/ */
if (card->vlangrp && vlan_tx_tag_present(skb)) { if (card->vlangrp && vlan_tx_tag_present(skb)) {
hdr->hdr.l3.ext_flags = (ipv == 4) ? if ((ipv == 4) || (card->info.type == QETH_CARD_TYPE_IQD))
QETH_HDR_EXT_VLAN_FRAME : hdr->hdr.l3.ext_flags = QETH_HDR_EXT_VLAN_FRAME;
QETH_HDR_EXT_INCLUDE_VLAN_TAG; else
hdr->hdr.l3.ext_flags = QETH_HDR_EXT_INCLUDE_VLAN_TAG;
hdr->hdr.l3.vlan_id = vlan_tx_tag_get(skb); hdr->hdr.l3.vlan_id = vlan_tx_tag_get(skb);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment