All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Borkmann <daniel@iogearbox.net>
To: David Ahern <dsahern@gmail.com>,
	netdev@vger.kernel.org, borkmann@iogearbox.net, ast@kernel.org
Cc: davem@davemloft.net, shm@cumulusnetworks.com,
	roopa@cumulusnetworks.com, brouer@redhat.com, toke@toke.dk,
	john.fastabend@gmail.com
Subject: Re: [bpf-next v2 8/9] bpf: Provide helper to do forwarding lookups in kernel FIB table
Date: Wed, 9 May 2018 23:49:47 +0200	[thread overview]
Message-ID: <cc9f1289-e5d0-7ad0-c796-c91373f5c399@iogearbox.net> (raw)
In-Reply-To: <d6d01920-efd0-7e8b-f9ba-5e3b642160d3@gmail.com>

On 05/09/2018 11:39 PM, David Ahern wrote:
> On 5/9/18 3:29 PM, David Ahern wrote:
>> On 5/9/18 2:44 PM, Daniel Borkmann wrote:
>>> Generally, no objection. However, could we get rid of the two extra includes altogether
>>> to avoid running into any such dependency issue? Right now the only includes we have in
>>> the bpf uapi header is linux/types.h and linux/bpf_common.h (latter has no extra deps
>>> by itself). Both the ETH_ALEN and struct in6_addr are in uapi and therefore never allowed
>>> to change so we can e.g. avoid to use ETH_ALEN and just have the value instead. In the
>>> other places of the header we use __u32 remote_ipv6[4], __u32 src_ip6[4] etc to denote
>>> a v6 address, we could do the same here and should be all good then.
>>
>> I was able to drop the include of linux/in6.h and still use in6_addr. I
>> would prefer to keep in6_addr since it works and avoid the need to add
>> typecasts.
> 
> Never mind; that was working because if_ether.h was pulling in skbuff.h
> which included in6.h.
>
>> As for ETH_ALEN, I could redefine it but it just kicks the can down the
>> road. If if_ether.h is included after bpf.h, it will cause redefinition
>> warnings.
> 
> I guess I will continue the open coded magic numbers for mac and ipv6
> addresses.

Agree, it will avoid breakage. We cannot assume that every BPF prog out there has
one specific ordering of if_ether.h and bpf.h includes. Open coding the numbers
seems best here.

  parent reply	other threads:[~2018-05-09 21:49 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-04  2:54 [bpf-next v2 0/9] bpf: Add helper to do FIB lookups David Ahern
2018-05-04  2:54 ` [bpf-next v2 1/9] net/ipv6: Rename fib6_lookup to fib6_node_lookup David Ahern
2018-05-04  2:54 ` [bpf-next v2 2/9] net/ipv6: Rename rt6_multipath_select David Ahern
2018-05-04  2:54 ` [bpf-next v2 3/9] net/ipv6: Extract table lookup from ip6_pol_route David Ahern
2018-05-04  2:54 ` [bpf-next v2 4/9] net/ipv6: Refactor fib6_rule_action David Ahern
2018-05-04  2:54 ` [bpf-next v2 5/9] net/ipv6: Add fib6_lookup David Ahern
2018-05-04  2:54 ` [bpf-next v2 6/9] net/ipv6: Update fib6 tracepoint to take fib6_info David Ahern
2018-05-04  2:54 ` [bpf-next v2 7/9] net/ipv6: Add fib lookup stubs for use in bpf helper David Ahern
2018-05-04  2:54 ` [bpf-next v2 8/9] bpf: Provide helper to do forwarding lookups in kernel FIB table David Ahern
2018-05-07 13:35   ` Jesper Dangaard Brouer
2018-05-07 14:10     ` Daniel Borkmann
2018-05-07 14:26       ` David Ahern
2018-05-07 15:36         ` David Miller
2018-05-09  8:15   ` Daniel Borkmann
2018-05-09 16:05     ` David Ahern
2018-05-09 20:44       ` Daniel Borkmann
2018-05-09 21:29         ` David Ahern
2018-05-09 21:39           ` David Ahern
2018-05-09 21:49             ` Alexei Starovoitov
2018-05-09 21:49             ` Daniel Borkmann [this message]
2018-05-04  2:54 ` [bpf-next v2 9/9] samples/bpf: Add example of ipv4 and ipv6 forwarding in XDP David Ahern
2018-05-08 23:53 ` [bpf-next v2 0/9] bpf: Add helper to do FIB lookups Daniel Borkmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cc9f1289-e5d0-7ad0-c796-c91373f5c399@iogearbox.net \
    --to=daniel@iogearbox.net \
    --cc=ast@kernel.org \
    --cc=borkmann@iogearbox.net \
    --cc=brouer@redhat.com \
    --cc=davem@davemloft.net \
    --cc=dsahern@gmail.com \
    --cc=john.fastabend@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=roopa@cumulusnetworks.com \
    --cc=shm@cumulusnetworks.com \
    --cc=toke@toke.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.