Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 May 2014 12:12:35 +0800
From:      Julian Elischer <julian@freebsd.org>
To:        "Alexander V. Chernikov" <melifaro@FreeBSD.org>, Dennis Yusupoff <dyr@smartspb.net>, FreeBSD Net <freebsd-net@freebsd.org>, Marcelo Gondim <gondim@bsdinfo.com.br>
Subject:   Re: Problem with ipfw table add 0.0.0.0/8
Message-ID:  <53783333.3010205@freebsd.org>
In-Reply-To: <537767C5.80205@FreeBSD.org>
References:  <5371084F.1060009@bsdinfo.com.br> <F78BF3AC-F031-4528-A4C1-5B22E88CEC00@dataix.net> <5371112B.2030209@bsdinfo.com.br> <5371E9E7.70400@smartspb.net> <5371F4C8.3080501@FreeBSD.org> <53720AA4.80909@smartspb.net> <537767C5.80205@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 5/17/14, 9:44 PM, 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 <cidr|u32|ifindex|iface>] [name 
> "table_name"]
type "ports" would be nice   but tricky to do right.

> * ipfw table <num|name> name "table_name"
> * ipfw table "table_name" type <cidr|u32|ifindex|iface>
>
> 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

the guessing was a hack for compatibilty. Its time to stop doing that 
has definitely come.
(I did it.. sorry)

>
> 4) Table(s) can be returned to default values using ipfw table 
> <num|all|name> destroy.
> Destroy means:
> * flush
> * table tries (or other structures) freed
> * type set to cidr
>
>
>>
>>
>> 13.05.2014 14:32, Alexander V. Chernikov пишет:
>>> On 13.05.2014 13:46, Dennis Yusupoff wrote:
>>>> May be this will help? See answer on
>>>> http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/189471
>>> I'll try to fix it within a few days.
> Fixed in r266310.
>>>
>>> The problem itself happens due to the fact that every CIDR table
>>> address is packed into IPv6 address and IPv4 ones are encoded as
>>> deprecated IPv6-compatible ones.
>>> this leads to the problems with decoding things like 0/X or ::1
>
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
>
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53783333.3010205>