diff options
Diffstat (limited to 'usr')
| -rw-r--r-- | usr/src/uts/common/io/dls/dls_link.c | 7 |
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) { /* |
