On 2015-09-18, David Gwynne <da...@gwynne.id.au> wrote:
> this lets pf embed the state id into the mbuf as a "flow id" so
> other subsystems can use it. eg, trunk can pull it out and use it.

I like this but it does change the path distribution. Previously all
flows from host A to host B were bound to a single path, now they are
spread across paths. This is good for making fuller use of paths but can
make fault diagnosis harder.

I tried to work out the best way to make this optional when I sent my
earlier L4-hash diff (using PF states for this has similar results
and is far more elegant) but didn't settle on an approach. Switches
doing this usually have a single global setting (e.g. sysctl), which
seems a bit of a blunt instrument but would be easier to apply to areas
other than trunk (e.g. multipath routing). We could use an ioctl if
ifconfig(8) isn't full already, though I don't think we actually need
any more options than "L3-bound" and "per-flow" so using the existing
link0 scaffolding would be an easier way to do this per-trunk but
I didn't really get a feel for whether people thought that was
good enough.


Reply via email to