Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Jan 2014 20:21:13 +0100
From:      Attila Nagy <bra@fsn.hu>
To:        Nikolay Denev <nike_d@cytexbg.com>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   Re: ECMP hash keys?
Message-ID:  <52D58E29.7040306@fsn.hu>
In-Reply-To: <CA%2BP_MZFQU4%2B05Pk5cZ4NMZujD9vXDrV=mehN7_vz1OZ6r2-f1Q@mail.gmail.com>
References:  <52D5138B.8050100@fsn.hu> <CA%2BP_MZFQU4%2B05Pk5cZ4NMZujD9vXDrV=mehN7_vz1OZ6r2-f1Q@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

I've read (well, mostly) OpenBSD's version 
(http://www.openbsd.org/cgi-bin/cvsweb/src/sys/net/radix_mpath.c), and I 
think it would be good to catch up with them.

BTW, I couldn't even get it to work:
http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/185771
but I have only netbooted machines, it seems the two don't match currently.

On 01/14/2014 08:15 PM, Nikolay Denev wrote:
> Hi,
>
> Currently it's implemented using Modulo-N Hash (RFC2991), see
> radix_mpath.c:rtalloc_mpath_fib()
>
> And as hash the xor of source and destination IP is supplied, look for
> rtalloc_mpath_fib() in ip_output.c :
>
>     ...
>     #ifdef RADIX_MPATH
>                          rtalloc_mpath_fib(ro,
>                              ntohl(ip->ip_src.s_addr ^ ip->ip_dst.s_addr),
>                              inp ? inp->inp_inc.inc_fibnum : M_GETFIB(m));
>     #else
>     ...
>
> I've tried to hack this to use m_pkthdr.flowid if it exists, but in my
> case my network cards were not setting this (vr(4) on soekris) so I
> did not saw any change. Maybe my idea was completely wrong, but the
> XOR of src and dst IP is 4 bytes, and this is the size of the flowid
> as well. (haven't tried with FLOWTABLE enabled though).
>
> --Nikolay
>
> On Tue, Jan 14, 2014 at 10:38 AM, Attila Nagy <bra@fsn.hu> wrote:
>> Hi,
>>
>> Does equal cost multipath take only the destination address into
>> consideration when choosing the route? (I've spent only about two minutes
>> reading radix_mpath.h, but I've got this impression)
>>
>> What would be needed to use src and dst addresses and ports -if appropriate?
>>
>> Thanks,
>>
>> _______________________________________________
>> 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?52D58E29.7040306>