netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH netfilter] extensions/libxt_bpf.man: clarify BPF code generation with tcpdump
@ 2016-08-10 19:23 Willem de Bruijn
  2016-08-12 10:47 ` Pablo Neira Ayuso
  0 siblings, 1 reply; 2+ messages in thread
From: Willem de Bruijn @ 2016-08-10 19:23 UTC (permalink / raw)
  To: netfilter-devel; +Cc: pablo, blaffablaffa, Willem de Bruijn

From: Willem de Bruijn <willemb@google.com>

The xt_bpf module applies BPF bytecode to the packet. Depending on
where the module is invoked, the kernel may pass a packet with or
without link layer header. Iptables has no such header.

A common `tcpdump -ddd <string>` compilation command may revert to
a physical device that generates code for packets starting from the
mac layer up (e.g., E10MB data link type: Ethernet).

Clarify in the man page that when using this tool for code generation,
a suitable target device must be chosen.

Netfilter Bugzilla Bug #1048

Reported-by: Lorenzo Pistone <blaffablaffa@gmail.com>
Signed-off-by: Willem de Bruijn <willemb@google.com>
---
 extensions/libxt_bpf.man | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/extensions/libxt_bpf.man b/extensions/libxt_bpf.man
index 5b1d042..302e010 100644
--- a/extensions/libxt_bpf.man
+++ b/extensions/libxt_bpf.man
@@ -31,4 +31,17 @@ Or instead, you can invoke the nfbpf_compile utility.
 .IP
 iptables \-A OUTPUT \-m bpf \-\-bytecode "`nfbpf_compile RAW 'ip proto 6'`" \-j ACCEPT
 .PP
+Or use tcpdump -ddd. In that case, generate BPF targeting a device with the
+same data link type as the xtables match. Iptables passes packets from the
+network layer up, without mac layer. Select a device with data link type RAW,
+such as a tun device:
+.IP
+ip tuntap add tun0 mode tun
+.br
+ip link set tun0 up
+.br
+tcpdump -ddd -i tun0 ip proto 6
+.PP
+See tcpdump -L -i $dev for a list of known data link types for a given device.
+.PP
 You may want to learn more about BPF from FreeBSD's bpf(4) manpage.
-- 
2.8.0.rc3.226.g39d4020


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH netfilter] extensions/libxt_bpf.man: clarify BPF code generation with tcpdump
  2016-08-10 19:23 [PATCH netfilter] extensions/libxt_bpf.man: clarify BPF code generation with tcpdump Willem de Bruijn
@ 2016-08-12 10:47 ` Pablo Neira Ayuso
  0 siblings, 0 replies; 2+ messages in thread
From: Pablo Neira Ayuso @ 2016-08-12 10:47 UTC (permalink / raw)
  To: Willem de Bruijn; +Cc: netfilter-devel, blaffablaffa, Willem de Bruijn

On Wed, Aug 10, 2016 at 03:23:07PM -0400, Willem de Bruijn wrote:
> From: Willem de Bruijn <willemb@google.com>
> 
> The xt_bpf module applies BPF bytecode to the packet. Depending on
> where the module is invoked, the kernel may pass a packet with or
> without link layer header. Iptables has no such header.
> 
> A common `tcpdump -ddd <string>` compilation command may revert to
> a physical device that generates code for packets starting from the
> mac layer up (e.g., E10MB data link type: Ethernet).
> 
> Clarify in the man page that when using this tool for code generation,
> a suitable target device must be chosen.
> 
> Netfilter Bugzilla Bug #1048

Applied, thanks.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-08-12 10:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-10 19:23 [PATCH netfilter] extensions/libxt_bpf.man: clarify BPF code generation with tcpdump Willem de Bruijn
2016-08-12 10:47 ` Pablo Neira Ayuso

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).