Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+4 −3
Original line number Original line Diff line number Diff line
@@ -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);
	}
	}