summaryrefslogtreecommitdiff
path: root/usr
diff options
context:
space:
mode:
Diffstat (limited to 'usr')
-rw-r--r--usr/src/uts/common/io/dls/dls_link.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/usr/src/uts/common/io/dls/dls_link.c b/usr/src/uts/common/io/dls/dls_link.c
index 73e1206891..41bd104c31 100644
--- a/usr/src/uts/common/io/dls/dls_link.c
+++ b/usr/src/uts/common/io/dls/dls_link.c
@@ -167,10 +167,11 @@ i_dls_link_subchain(dls_link_t *dlp, mblk_t *mp, const mac_header_info_t *mhip,
prevp->b_next = mp;
/*
- * The source, destination, sap, vlan id and the MSGNOLOOP
- * flag must all match in a given subchain.
+ * The source, destination, sap, vlan tag must all match in
+ * a given subchain.
*/
- if (memcmp(mhip->mhi_daddr, cmhi.mhi_daddr, addr_size) != 0 ||
+ if (mhip->mhi_saddr == NULL || cmhi.mhi_saddr == NULL ||
+ memcmp(mhip->mhi_daddr, cmhi.mhi_daddr, addr_size) != 0 ||
memcmp(mhip->mhi_saddr, cmhi.mhi_saddr, addr_size) != 0 ||
mhip->mhi_bindsap != cmhi.mhi_bindsap) {
/*