Matching for DSCP codes used incorrect bits. It used both
cached in f_id value and stored in the IPv6 header value,
thus it did not always work after setdscp action, since
cached value was not updated. Now we always use value stored
in the header via IPV6_DSCP() macro. Also added logging support
for O_SETDSCP opcode.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
To the extent that I understand ipfw this looks good to me.
Now that we update both the IP header and the cached value we arguably don't need the first two hunks of diff (to look at the header rather than the cached value), but it is shorter and easier to read this way.