On 28/09/16 04:06, Jonathan Morton wrote:

On 28 Sep, 2016, at 05:56, Kevin Darbyshire-Bryant
<[email protected]> wrote:

Does this need to be another variable/parameter or could it be the
next bit along in the flow type?

I’ve already pushed it to the ‘cobalt’ branch, so you can see how
I’ve done it and start testing.  I’ve verified that it compiles, no
more than that so far.

For configuration, there is a separate flag parameter passed.
Internally, I’ve used another bit of the existing flow_mode field
(but not the next one along).  The latter is also how the
configuration is read back out again to tc.

Overall, the patch ended up much smaller than the original.  Switch
statements in C are actually quite verbose.

Looks good and as you say much smaller without the switch stuff and IPv6. As a further bikeshed.....

Is it worth doing:

if (reverse) {
   all the src/dst swaps
   if ports do port src/dst swaps
   nf_ct_put
} else {
   all the dst/src swaps
   if ports do port dst/src swaps
}

Code gets duplicated...or possibly not depending on the compiler, but those ternaries are if/else in disguise...and we do a few of them, so if we did one at the cost of some duplicate code......




- Jonathan Morton

_______________________________________________
Cake mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/cake

Reply via email to