From owner-freebsd-arch@FreeBSD.ORG Fri Jan 13 17:05:59 2006 Return-Path: X-Original-To: arch@FreeBSD.org Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F04FE16A41F; Fri, 13 Jan 2006 17:05:59 +0000 (GMT) (envelope-from glebius@FreeBSD.org) Received: from cell.sick.ru (cell.sick.ru [217.72.144.68]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2A31A43D7C; Fri, 13 Jan 2006 17:05:58 +0000 (GMT) (envelope-from glebius@FreeBSD.org) Received: from cell.sick.ru (glebius@localhost [127.0.0.1]) by cell.sick.ru (8.13.3/8.13.3) with ESMTP id k0DH5r7p099625 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 13 Jan 2006 20:05:53 +0300 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.sick.ru (8.13.3/8.13.1/Submit) id k0DH5rsU099624; Fri, 13 Jan 2006 20:05:53 +0300 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.sick.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Fri, 13 Jan 2006 20:05:52 +0300 From: Gleb Smirnoff To: arch@FreeBSD.org, re@FreeBSD.org Message-ID: <20060113170552.GF83922@FreeBSD.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Bn2rw/3z4jIqBvZU" Content-Disposition: inline User-Agent: Mutt/1.5.6i Cc: Subject: review: patch to restore VLAN kernel API in RELENG_6 X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jan 2006 17:06:00 -0000 --Bn2rw/3z4jIqBvZU Content-Type: text/plain; charset=koi8-r Content-Disposition: inline -- Totus tuus, Glebius. GLEBIUS-RIPN GLEB-RIPE --Bn2rw/3z4jIqBvZU Content-Type: text/plain; charset=koi8-r Content-Disposition: attachment; filename="VLAN_INPUT_TAG_NEW.diff" ? sys/dev/bge/if_bge.cbak ? sys/dev/em/if_em.cbak ? sys/dev/ixgb/if_ixgb.cbak ? sys/dev/nge/if_nge.cbak ? sys/dev/re/if_re.cbak ? sys/dev/txp/if_txp.cbak ? sys/dev/vge/if_vge.cbak ? sys/net80211/ieee80211_input.cbak Index: sys/dev/bge/if_bge.c =================================================================== RCS file: /home/ncvs/src/sys/dev/bge/if_bge.c,v retrieving revision 1.91.2.7 diff -u -r1.91.2.7 if_bge.c --- sys/dev/bge/if_bge.c 13 Jan 2006 11:51:08 -0000 1.91.2.7 +++ sys/dev/bge/if_bge.c 13 Jan 2006 17:04:31 -0000 @@ -2862,7 +2862,7 @@ * attach that information to the packet. */ if (have_tag) { - VLAN_INPUT_TAG(ifp, m, vlan_tag); + VLAN_INPUT_TAG_NEW(ifp, m, vlan_tag); if (m == NULL) continue; } Index: sys/dev/em/if_em.c =================================================================== RCS file: /home/ncvs/src/sys/dev/em/if_em.c,v retrieving revision 1.65.2.11 diff -u -r1.65.2.11 if_em.c --- sys/dev/em/if_em.c 13 Jan 2006 11:51:09 -0000 1.65.2.11 +++ sys/dev/em/if_em.c 13 Jan 2006 17:04:32 -0000 @@ -3015,7 +3015,7 @@ em_receive_checksum(adapter, current_desc, adapter->fmp); if (current_desc->status & E1000_RXD_STAT_VP) - VLAN_INPUT_TAG(ifp, adapter->fmp, + VLAN_INPUT_TAG_NEW(ifp, adapter->fmp, (le16toh(current_desc->special) & E1000_RXD_SPC_VLAN_MASK)); m = adapter->fmp; Index: sys/dev/ixgb/if_ixgb.c =================================================================== RCS file: /home/ncvs/src/sys/dev/ixgb/if_ixgb.c,v retrieving revision 1.10.2.5 diff -u -r1.10.2.5 if_ixgb.c --- sys/dev/ixgb/if_ixgb.c 13 Jan 2006 11:51:09 -0000 1.10.2.5 +++ sys/dev/ixgb/if_ixgb.c 13 Jan 2006 17:04:32 -0000 @@ -2143,7 +2143,7 @@ adapter->fmp); if (current_desc->status & IXGB_RX_DESC_STATUS_VP) - VLAN_INPUT_TAG(eh, adapter->fmp, + VLAN_INPUT_TAG_NEW(eh, adapter->fmp, current_desc->special); else ether_input(ifp, eh, adapter->fmp); @@ -2151,7 +2151,7 @@ ixgb_receive_checksum(adapter, current_desc, adapter->fmp); if (current_desc->status & IXGB_RX_DESC_STATUS_VP) - VLAN_INPUT_TAG(ifp, adapter->fmp, + VLAN_INPUT_TAG_NEW(ifp, adapter->fmp, current_desc->special); if (adapter->fmp != NULL) { Index: sys/dev/nge/if_nge.c =================================================================== RCS file: /home/ncvs/src/sys/dev/nge/if_nge.c,v retrieving revision 1.75.2.5 diff -u -r1.75.2.5 if_nge.c --- sys/dev/nge/if_nge.c 13 Jan 2006 11:51:10 -0000 1.75.2.5 +++ sys/dev/nge/if_nge.c 13 Jan 2006 17:04:32 -0000 @@ -1228,7 +1228,7 @@ * to vlan_input() instead of ether_input(). */ if (extsts & NGE_RXEXTSTS_VLANPKT) { - VLAN_INPUT_TAG(ifp, m, + VLAN_INPUT_TAG_NEW(ifp, m, ntohs(extsts & NGE_RXEXTSTS_VTCI)); if (m == NULL) continue; Index: sys/dev/re/if_re.c =================================================================== RCS file: /home/ncvs/src/sys/dev/re/if_re.c,v retrieving revision 1.46.2.11 diff -u -r1.46.2.11 if_re.c --- sys/dev/re/if_re.c 13 Jan 2006 11:51:10 -0000 1.46.2.11 +++ sys/dev/re/if_re.c 13 Jan 2006 17:04:33 -0000 @@ -1671,7 +1671,7 @@ } if (rxvlan & RL_RDESC_VLANCTL_TAG) { - VLAN_INPUT_TAG(ifp, m, + VLAN_INPUT_TAG_NEW(ifp, m, ntohs((rxvlan & RL_RDESC_VLANCTL_DATA))); if (m == NULL) continue; Index: sys/dev/txp/if_txp.c =================================================================== RCS file: /home/ncvs/src/sys/dev/txp/if_txp.c,v retrieving revision 1.31.2.4 diff -u -r1.31.2.4 if_txp.c --- sys/dev/txp/if_txp.c 13 Jan 2006 11:51:10 -0000 1.31.2.4 +++ sys/dev/txp/if_txp.c 13 Jan 2006 17:04:33 -0000 @@ -766,7 +766,7 @@ } if (rxd->rx_stat & RX_STAT_VLAN) { - VLAN_INPUT_TAG(ifp, m, htons(rxd->rx_vlan >> 16)); + VLAN_INPUT_TAG_NEW(ifp, m, htons(rxd->rx_vlan >> 16)); if (m == NULL) goto next; } Index: sys/dev/vge/if_vge.c =================================================================== RCS file: /home/ncvs/src/sys/dev/vge/if_vge.c,v retrieving revision 1.14.2.5 diff -u -r1.14.2.5 if_vge.c --- sys/dev/vge/if_vge.c 13 Jan 2006 11:51:10 -0000 1.14.2.5 +++ sys/dev/vge/if_vge.c 13 Jan 2006 17:04:33 -0000 @@ -1491,7 +1491,7 @@ } if (rxstat & VGE_RDSTS_VTAG) { - VLAN_INPUT_TAG(ifp, m, + VLAN_INPUT_TAG_NEW(ifp, m, ntohs((rxctl & VGE_RDCTL_VLANID))); if (m == NULL) continue; Index: sys/net/if_vlan_var.h =================================================================== RCS file: /home/ncvs/src/sys/net/if_vlan_var.h,v retrieving revision 1.21.2.1 diff -u -r1.21.2.1 if_vlan_var.h --- sys/net/if_vlan_var.h 13 Jan 2006 11:51:11 -0000 1.21.2.1 +++ sys/net/if_vlan_var.h 13 Jan 2006 17:04:33 -0000 @@ -102,7 +102,28 @@ */ #define VLAN_TAG_VALUE(_mt) (*(u_int *)((_mt) + 1)) -#define VLAN_INPUT_TAG(_ifp, _m, _t) do { \ +/* + * This macro is kept for API compatibility. + */ +#define VLAN_INPUT_TAG(_ifp, _m, _t, _errcase) do { \ + struct m_tag *mtag; \ + mtag = m_tag_alloc(MTAG_VLAN, MTAG_VLAN_TAG, \ + sizeof (u_int), M_NOWAIT); \ + if (mtag != NULL) { \ + VLAN_TAG_VALUE(mtag) = (_t); \ + m_tag_prepend((_m), mtag); \ + (_m)->m_flags |= M_VLANTAG; \ + } else { \ + (_ifp)->if_ierrors++; \ + m_freem(_m); \ + _errcase; \ + } \ +} while (0) + +/* + * This macro is equal to VLAN_INPUT_TAG() in HEAD. + */ +#define VLAN_INPUT_TAG_NEW(_ifp, _m, _t) do { \ struct m_tag *mtag; \ mtag = m_tag_alloc(MTAG_VLAN, MTAG_VLAN_TAG, \ sizeof (u_int), M_NOWAIT); \ Index: sys/net80211/ieee80211_input.c =================================================================== RCS file: /home/ncvs/src/sys/net80211/ieee80211_input.c,v retrieving revision 1.62.2.6 diff -u -r1.62.2.6 ieee80211_input.c --- sys/net80211/ieee80211_input.c 13 Jan 2006 11:51:11 -0000 1.62.2.6 +++ sys/net80211/ieee80211_input.c 13 Jan 2006 17:04:34 -0000 @@ -710,7 +710,7 @@ if (m != NULL) { if (ni->ni_vlan != 0) { /* attach vlan tag */ - VLAN_INPUT_TAG(ifp, m, ni->ni_vlan); + VLAN_INPUT_TAG_NEW(ifp, m, ni->ni_vlan); if (m == NULL) goto out; /* XXX goto err? */ } --Bn2rw/3z4jIqBvZU-- From owner-freebsd-arch@FreeBSD.ORG Fri Jan 13 17:17:59 2006 Return-Path: X-Original-To: arch@FreeBSD.org Delivered-To: freebsd-arch@FreeBSD.ORG Received: by hub.freebsd.org (Postfix, from userid 1035) id 7A13D16A420; Fri, 13 Jan 2006 17:17:59 +0000 (GMT) Date: Fri, 13 Jan 2006 17:17:59 +0000 From: Xin LI To: Gleb Smirnoff Message-ID: <20060113171759.GA1255@hub.freebsd.org> References: <20060113170552.GF83922@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060113170552.GF83922@FreeBSD.org> User-Agent: Mutt/1.4.2.1i Cc: arch@FreeBSD.org, re@FreeBSD.org Subject: Re: review: patch to restore VLAN kernel API in RELENG_6 X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jan 2006 17:17:59 -0000 Hi, Gleb, On Fri, Jan 13, 2006 at 08:05:52PM +0300, Gleb Smirnoff wrote: > Index: sys/dev/bge/if_bge.c > =================================================================== > RCS file: /home/ncvs/src/sys/dev/bge/if_bge.c,v > retrieving revision 1.91.2.7 > diff -u -r1.91.2.7 if_bge.c > --- sys/dev/bge/if_bge.c 13 Jan 2006 11:51:08 -0000 1.91.2.7 > +++ sys/dev/bge/if_bge.c 13 Jan 2006 17:04:31 -0000 > @@ -2862,7 +2862,7 @@ > * attach that information to the packet. > */ > if (have_tag) { > - VLAN_INPUT_TAG(ifp, m, vlan_tag); > + VLAN_INPUT_TAG_NEW(ifp, m, vlan_tag); What if "VLAN_INPUT_TAG_2" or something with numerical name? Just my $0.02, though :-) Cheers, From owner-freebsd-arch@FreeBSD.ORG Fri Jan 13 17:20:56 2006 Return-Path: X-Original-To: arch@FreeBSD.org Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5590A16A41F; Fri, 13 Jan 2006 17:20:56 +0000 (GMT) (envelope-from glebius@FreeBSD.org) Received: from cell.sick.ru (cell.sick.ru [217.72.144.68]) by mx1.FreeBSD.org (Postfix) with ESMTP id D519443D68; Fri, 13 Jan 2006 17:20:51 +0000 (GMT) (envelope-from glebius@FreeBSD.org) Received: from cell.sick.ru (glebius@localhost [127.0.0.1]) by cell.sick.ru (8.13.3/8.13.3) with ESMTP id k0DHKojY099779 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 13 Jan 2006 20:20:50 +0300 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.sick.ru (8.13.3/8.13.1/Submit) id k0DHKnHd099778; Fri, 13 Jan 2006 20:20:49 +0300 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.sick.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Fri, 13 Jan 2006 20:20:49 +0300 From: Gleb Smirnoff To: Xin LI Message-ID: <20060113172049.GG83922@cell.sick.ru> References: <20060113170552.GF83922@FreeBSD.org> <20060113171759.GA1255@hub.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <20060113171759.GA1255@hub.freebsd.org> User-Agent: Mutt/1.5.6i Cc: arch@FreeBSD.org, re@FreeBSD.org Subject: Re: review: patch to restore VLAN kernel API in RELENG_6 X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jan 2006 17:20:56 -0000 On Fri, Jan 13, 2006 at 05:17:59PM +0000, Xin LI wrote: X> Hi, Gleb, X> > =================================================================== X> > RCS file: /home/ncvs/src/sys/dev/bge/if_bge.c,v X> > retrieving revision 1.91.2.7 X> > diff -u -r1.91.2.7 if_bge.c X> > --- sys/dev/bge/if_bge.c 13 Jan 2006 11:51:08 -0000 1.91.2.7 X> > +++ sys/dev/bge/if_bge.c 13 Jan 2006 17:04:31 -0000 X> > @@ -2862,7 +2862,7 @@ X> > * attach that information to the packet. X> > */ X> > if (have_tag) { X> > - VLAN_INPUT_TAG(ifp, m, vlan_tag); X> > + VLAN_INPUT_TAG_NEW(ifp, m, vlan_tag); X> X> What if "VLAN_INPUT_TAG_2" or something with numerical name? X> X> Just my $0.02, though :-) I really don't care. :) -- Totus tuus, Glebius. GLEBIUS-RIPN GLEB-RIPE From owner-freebsd-arch@FreeBSD.ORG Fri Jan 13 17:52:12 2006 Return-Path: X-Original-To: arch@FreeBSD.org Delivered-To: freebsd-arch@FreeBSD.ORG Received: by hub.freebsd.org (Postfix, from userid 1035) id 551AC16A420; Fri, 13 Jan 2006 17:52:12 +0000 (GMT) Date: Fri, 13 Jan 2006 17:52:12 +0000 From: Xin LI To: Gleb Smirnoff Message-ID: <20060113175212.GA4170@hub.freebsd.org> References: <20060113170552.GF83922@FreeBSD.org> <20060113171759.GA1255@hub.freebsd.org> <20060113172049.GG83922@cell.sick.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060113172049.GG83922@cell.sick.ru> User-Agent: Mutt/1.4.2.1i Cc: arch@FreeBSD.org, re@FreeBSD.org Subject: Re: review: patch to restore VLAN kernel API in RELENG_6 X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jan 2006 17:52:12 -0000 On Fri, Jan 13, 2006 at 08:20:49PM +0300, Gleb Smirnoff wrote: > On Fri, Jan 13, 2006 at 05:17:59PM +0000, Xin LI wrote: > X> > +++ sys/dev/bge/if_bge.c 13 Jan 2006 17:04:31 -0000 > X> > @@ -2862,7 +2862,7 @@ > X> > * attach that information to the packet. > X> > */ > X> > if (have_tag) { > X> > - VLAN_INPUT_TAG(ifp, m, vlan_tag); > X> > + VLAN_INPUT_TAG_NEW(ifp, m, vlan_tag); > X> > X> What if "VLAN_INPUT_TAG_2" or something with numerical name? > X> > X> Just my $0.02, though :-) > > I really don't care. :) Heh, my point was to make it possible to use the same name in both drivers on RELENG_6 and 7.0, without having to call future macros "foo_NEW_NG" or so =-) Not really sure whether it is conform to our tradition naming, though... Cheers, From owner-freebsd-arch@FreeBSD.ORG Fri Jan 13 18:02:16 2006 Return-Path: X-Original-To: arch@FreeBSD.org Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5372D16A41F; Fri, 13 Jan 2006 18:02:16 +0000 (GMT) (envelope-from glebius@FreeBSD.org) Received: from cell.sick.ru (cell.sick.ru [217.72.144.68]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8F03B43D46; Fri, 13 Jan 2006 18:02:15 +0000 (GMT) (envelope-from glebius@FreeBSD.org) Received: from cell.sick.ru (glebius@localhost [127.0.0.1]) by cell.sick.ru (8.13.3/8.13.3) with ESMTP id k0DI2Dva000207 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 13 Jan 2006 21:02:14 +0300 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.sick.ru (8.13.3/8.13.1/Submit) id k0DI2DsK000206; Fri, 13 Jan 2006 21:02:13 +0300 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.sick.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Fri, 13 Jan 2006 21:02:13 +0300 From: Gleb Smirnoff To: Xin LI Message-ID: <20060113180213.GH83922@cell.sick.ru> References: <20060113170552.GF83922@FreeBSD.org> <20060113171759.GA1255@hub.freebsd.org> <20060113172049.GG83922@cell.sick.ru> <20060113175212.GA4170@hub.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <20060113175212.GA4170@hub.freebsd.org> User-Agent: Mutt/1.5.6i Cc: arch@FreeBSD.org, re@FreeBSD.org Subject: Re: review: patch to restore VLAN kernel API in RELENG_6 X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jan 2006 18:02:16 -0000 On Fri, Jan 13, 2006 at 05:52:12PM +0000, Xin LI wrote: X> On Fri, Jan 13, 2006 at 08:20:49PM +0300, Gleb Smirnoff wrote: X> > On Fri, Jan 13, 2006 at 05:17:59PM +0000, Xin LI wrote: X> > X> > +++ sys/dev/bge/if_bge.c 13 Jan 2006 17:04:31 -0000 X> > X> > @@ -2862,7 +2862,7 @@ X> > X> > * attach that information to the packet. X> > X> > */ X> > X> > if (have_tag) { X> > X> > - VLAN_INPUT_TAG(ifp, m, vlan_tag); X> > X> > + VLAN_INPUT_TAG_NEW(ifp, m, vlan_tag); X> > X> X> > X> What if "VLAN_INPUT_TAG_2" or something with numerical name? X> > X> X> > X> Just my $0.02, though :-) X> > X> > I really don't care. :) X> X> Heh, my point was to make it possible to use the same name in X> both drivers on RELENG_6 and 7.0, without having to call future X> macros "foo_NEW_NG" or so =-) Not really sure whether it is X> conform to our tradition naming, though... The correct macro takes 3 arguments, and the old one took 4. So we can't make a code compilable with correct macro on both systems without breaking API - using same macro. -- Totus tuus, Glebius. GLEBIUS-RIPN GLEB-RIPE