From owner-freebsd-net@FreeBSD.ORG Sat May 17 20:00:15 2014 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 763D8698 for ; Sat, 17 May 2014 20:00:15 +0000 (UTC) Received: from mail.ipfw.ru (mail.ipfw.ru [IPv6:2a01:4f8:120:6141::2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3725F2239 for ; Sat, 17 May 2014 20:00:15 +0000 (UTC) Received: from [2a02:6b8:0:401:222:4dff:fe50:cd2f] (helo=ptichko.yndx.net) by mail.ipfw.ru with esmtpsa (TLSv1:CAMELLIA256-SHA:256) (Exim 4.76 (FreeBSD)) (envelope-from ) id 1Wlgrz-00014K-C2; Sat, 17 May 2014 19:49:55 +0400 Message-ID: <5377BF74.6010006@FreeBSD.org> Date: Sat, 17 May 2014 23:58:44 +0400 From: "Alexander V. Chernikov" User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.0.1 MIME-Version: 1.0 To: Barney Wolff Subject: Re: Problem with ipfw table add 0.0.0.0/8 References: <5371084F.1060009@bsdinfo.com.br> <5371112B.2030209@bsdinfo.com.br> <5371E9E7.70400@smartspb.net> <5371F4C8.3080501@FreeBSD.org> <53720AA4.80909@smartspb.net> <537767C5.80205@FreeBSD.org> <20140517195754.GA1087@pit.databus.com> In-Reply-To: <20140517195754.GA1087@pit.databus.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Dennis Yusupoff , FreeBSD Net , Marcelo Gondim X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 May 2014 20:00:15 -0000 On 17.05.2014 23:57, Barney Wolff wrote: > On Sat, May 17, 2014 at 05:44:37PM +0400, Alexander V. Chernikov wrote: >> On 13.05.2014 16:05, Dennis Yusupoff wrote: >>> I think that universal table for all kind of data (ipv4, ipv6, ports, >>> etc) is a bad idea by design. At least unless you haven't any ability to >> It is not always "universal" in kernel. >> Actually, different radix tables are used to store both IPv4 and IPv6 in >> single table. >>> specify address family on add, to avoid attempts to guess what user >>> meant. Something like "ipfw table X add DEEF.DE ipv6". >> I'm going to add explicit table type/naming setup soon. >> Idea is the following: >> >> 1) Existing table can be named and addressed by either number or name. >> However, you still need to assign table number manually. >> >> 2) Table type/name can be specified explicitly via one of the following >> commands: >> * ipfw table 1 create [type ] [name "table_name"] >> * ipfw table name "table_name" >> * ipfw table "table_name" type >> >> 3) ipfw(8) stops trying to guess appropriate type based on used value. >> Instead, >> it requests table type from kernel and interprets value according to >> returned type. >> Default type for all tables is cidr >> >> 4) Table(s) can be returned to default values using ipfw table >> destroy. >> Destroy means: >> * flush >> * table tries (or other structures) freed >> * type set to cidr > Please avoid violating POLA. I for one have scripts that automatically add > entries and would need to be modified if separate ipfw tables become required > for ipv4 and ipv6. I'd have no problem, of course, with changes to ipfw I haven't said anything about splitting IPv4 and IPv6 tables. > internals as long as the existing public API continues to work. >