Print this page
*** NO COMMENTS ***
@@ -20,10 +20,11 @@
*/
/*
* Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1990 Mentat Inc.
+ * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
*/
#include <sys/types.h>
#include <sys/stream.h>
#include <sys/dlpi.h>
@@ -7830,10 +7831,20 @@
* sure we are pointing correctly above db_base.
*/
if (ill->ill_type != IFT_ETHER)
return;
+ /*
+ * PPP (including PPPoE) interfaces lie about being an ethernet, but
+ * have other clues to indicate we should just bail now. We exploit
+ * the 0 broadcast address length.
+ *
+ * XXX KEBE ASKS --> what about IP multicast packets?
+ */
+ if (ill->ill_bcast_addr_length == 0)
+ return;
+
retry:
if ((uchar_t *)pether < mp->b_datap->db_base)
return;
/* Is there a VLAN tag? */