summaryrefslogtreecommitdiffstats
path: root/sys/net
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>1999-03-15 01:22:01 +0000
committerwpaul <wpaul@FreeBSD.org>1999-03-15 01:22:01 +0000
commita1b49dc15234a4ca3eddd3dbaac7e6d80043d7a2 (patch)
treede4c7718db9bff5c4c1c6635b83317b350228286 /sys/net
parent4d1fbb5a8a943b33b0b23a9117eaf12e5fa71f90 (diff)
downloadFreeBSD-src-a1b49dc15234a4ca3eddd3dbaac7e6d80043d7a2.zip
FreeBSD-src-a1b49dc15234a4ca3eddd3dbaac7e6d80043d7a2.tar.gz
Grrr... botched remote commit. Let's try this again: vlan updates,
take two.
Diffstat (limited to 'sys/net')
-rw-r--r--sys/net/if_vlan.c3
-rw-r--r--sys/net/if_vlan_var.h10
2 files changed, 11 insertions, 2 deletions
diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c
index 3960ee0..880b157 100644
--- a/sys/net/if_vlan.c
+++ b/sys/net/if_vlan.c
@@ -26,7 +26,7 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: if_vlan.c,v 1.9 1999/03/15 00:33:02 wpaul Exp $
+ * $Id: if_vlan.c,v 1.5 1999/03/15 01:17:26 wpaul Exp $
*/
/*
@@ -40,6 +40,7 @@
* if_start(), rewrite them for use by the real outgoing interface,
* and ask it to send them.
*
+ *
* XXX It's incorrect to assume that we must always kludge up
* headers on the physical device's behalf: some devices support
* VLAN tag insersion and extraction in firmware. For these cases,
diff --git a/sys/net/if_vlan_var.h b/sys/net/if_vlan_var.h
index 83bb41b..7498cbf 100644
--- a/sys/net/if_vlan_var.h
+++ b/sys/net/if_vlan_var.h
@@ -26,13 +26,18 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: if_vlan_var.h,v 1.3 1999/03/15 00:33:02 wpaul Exp $
*/
#ifndef _NET_IF_VLAN_VAR_H_
#define _NET_IF_VLAN_VAR_H_ 1
#ifdef KERNEL
+struct vlan_mc_entry {
+ struct ether_addr mc_addr;
+ SLIST_ENTRY(vlan_mc_entry) mc_entries;
+};
+
struct ifvlan {
struct arpcom ifv_ac; /* make this an interface */
struct ifnet *ifv_p; /* parent inteface of this vlan */
@@ -41,6 +46,7 @@ struct ifvlan {
u_int16_t ifvm_proto; /* encapsulation ethertype */
u_int16_t ifvm_tag; /* tag to apply on packets leaving if */
} ifv_mib;
+ SLIST_HEAD(__vlan_mchead, vlan_mc_entry) vlan_mc_listhead;
};
#define ifv_if ifv_ac.ac_if
#define ifv_tag ifv_mib.ifvm_tag
@@ -79,6 +85,8 @@ struct vlanreq {
/* shared with if_ethersubr.c: */
extern u_int vlan_proto;
extern int vlan_input(struct ether_header *eh, struct mbuf *m);
+extern void vlan_input_tag(struct ether_header *eh,
+ struct mbuf *m, u_int16_t t);
#endif
#endif /* _NET_IF_VLAN_VAR_H_ */
OpenPOWER on IntegriCloud