cxgbe(4): Fix bugs in the handling of COP rules that match on VLAN tag.

Retrieve the tag from the correct ifnet and use the provided tag
(instead of hardcoded 0xffff, implying no tag) in the routines that
process offload policy.

Submitted by:	Krishnamraju Eraparaju @ Chelsio
Sponsored by:	Chelsio Communications
This commit is contained in:
np 2018-04-19 18:10:44 +00:00
parent 82b83ca7ef
commit 8361b5aefb
2 changed files with 2 additions and 2 deletions

View File

@ -405,7 +405,7 @@ t4_connect(struct toedev *tod, struct socket *so, struct rtentry *rt,
struct ifnet *ifp = VLAN_COOKIE(rt_ifp);
vi = ifp->if_softc;
VLAN_TAG(ifp, &vid);
VLAN_TAG(rt_ifp, &vid);
} else if (rt_ifp->if_type == IFT_IEEE8023ADLAG)
DONT_OFFLOAD_ACTIVE_OPEN(ENOSYS); /* XXX: implement lagg+TOE */
else

View File

@ -1234,7 +1234,7 @@ lookup_offload_policy(struct adapter *sc, int open_type, struct mbuf *m,
switch (open_type) {
case OPEN_TYPE_ACTIVE:
case OPEN_TYPE_LISTEN:
pkt = prepare_pkt(open_type, 0xffff, inp, &pktlen, &buflen);
pkt = prepare_pkt(open_type, vtag, inp, &pktlen, &buflen);
break;
case OPEN_TYPE_PASSIVE:
MPASS(m != NULL);