libnetfilter_queue: mark-value byte ordering?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I am using libnetfilter_queue to set the mark on some queued packets [nfq_set_verdict_mark(), with verdict==NF_ACCEPT]; then in a later iptables chain, I matched on -m mark, looking for my previously marked packets, but apparently they didn't match. So I logged packets and saw my packets with my mark values in the log entries, but they seemed to be in reverse byte-order (I'm on a little-endian machine). I changed my code to use htonl() on the mark-value prior to calling nfq_set_verdict_mark(), and it all suddenly started working.

I had a quick look through the source code of libnetfilter_queue and libnfnetlink_queue and didn't see any obvious byte-order conversion prior to sending to the kernel, so I wonder if anyone could help me understand, * Is the mark value _supposed_ to be supplied in network byte order or is something else going on here;
and if so,
* Since the mark never hits the wire, why would it ever be kept in network byte order?

Thanks in advance,
-- David F.

--
To unsubscribe from this list: send the line "unsubscribe netfilter" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux