https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238796

--- Comment #31 from Cy Schubert <c...@freebsd.org> ---
fr_tifs and fr_dif are not indexes.

        frdest_t fr_tifs[2];    /* "to"/"reply-to" interface */
        frdest_t fr_dif;        /* duplicate packet interface */

They're a struct with an IP address + an index or a linked list if enclosed in
{}. I don't think the problem is there either. Treating fr_tif, fr_rif and
fr_dif simply as indexes is wrong.

Agreed. The patch is flawed as it didn't fix anything. I assumed from your
description that the problem was any time "to" was used where in fact it is
more esoteric than that. Only with "to" when "on" is relocated, and why I am
not able reproduce the problem simply with your examples. Taking the same rule
and relocating on <INTERFACE> reproduces the problem, but only once as by that
time there is a second copy of the shadowed rule. My reply #29 clearly shows it
works in cases where the rule is coded the same but fails to detect the
shadowed rule if the on keyword is moved to before the reply-to keyword, but
only the first time because the shadowed rule is now added and it subsequently
matches. It is clearl that frentry_t is constructed differently when the on
keyword is moved.

Darren's March 2009 patch resolved one (more serious) issue while breaking
this. There is a subtle mistake in the March 2009 patch that needs to be fixed.
Unfortunately I disagree with his (and many other people's) style of commits,
batching multiple fixes in one commit. It make it difficult to bisect the
patches from each other and it's not clean either, messing up history.

What is disconcerting is that this bug is probably symptomatic of a another
more serious bug. I've fixed other bugs like this in that it's either hurried
development or incomplete features and fixes (ippool is an excellent example of
this where I finally have it working but for IPv4 only) which is why I want to
discover the root cause.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to