Re: [PATCH net-next RFC 0/5] ipv6: sr: introduce seg6local End.BPF action

2018-04-04 Thread Alexei Starovoitov
On Wed, Apr 4, 2018 at 2:34 AM, Mathieu Xhonneux wrote: > 2018-04-03 16:25 GMT+02:00 David Lebrun : >> Actually I'm wrong here. dst_input() will call either ip6_input() or >> ip6_forward(), not ipv6_rcv(). Both functions expect IP6CB() to be set, >> so using skb->cb here will interfere with them.

Re: [PATCH net-next RFC 0/5] ipv6: sr: introduce seg6local End.BPF action

2018-04-04 Thread Mathieu Xhonneux
2018-04-03 16:25 GMT+02:00 David Lebrun : > Actually I'm wrong here. dst_input() will call either ip6_input() or > ip6_forward(), not ipv6_rcv(). Both functions expect IP6CB() to be set, > so using skb->cb here will interfere with them. > > What about saving and restoring the IPv6 CB, similarly to

Re: [PATCH net-next RFC 0/5] ipv6: sr: introduce seg6local End.BPF action

2018-04-03 Thread Eric Dumazet
On 04/03/2018 07:25 AM, David Lebrun wrote: > > What about saving and restoring the IPv6 CB, similarly to what TCP does with > tcp_v6_restore_cb() ? Note that TCP only moves IPCB around in skb->cb[] for cache locality gains. Now we switched to rb-tree for out-of-order queue, these gains might

Re: [PATCH net-next RFC 0/5] ipv6: sr: introduce seg6local End.BPF action

2018-04-03 Thread David Lebrun
On 04/03/2018 02:40 PM, David Lebrun wrote: On 04/03/2018 12:16 PM, Mathieu Xhonneux wrote: In patch 2 I was a bit concerned that: +   struct seg6_bpf_srh_state *srh_state = (struct seg6_bpf_srh_state *) +  &skb->cb; would not collide with othe

Re: [PATCH net-next RFC 0/5] ipv6: sr: introduce seg6local End.BPF action

2018-04-03 Thread David Lebrun
On 04/03/2018 12:16 PM, Mathieu Xhonneux wrote: In patch 2 I was a bit concerned that: + struct seg6_bpf_srh_state *srh_state = (struct seg6_bpf_srh_state *) + &skb->cb; would not collide with other users of skb->cb, but it seems the way the ho

Re: [PATCH net-next RFC 0/5] ipv6: sr: introduce seg6local End.BPF action

2018-04-03 Thread Mathieu Xhonneux
2018-03-31 1:03 GMT+02:00 Alexei Starovoitov : > > On Fri, Mar 23, 2018 at 10:15:59AM +, Mathieu Xhonneux wrote: > > As of Linux 4.14, it is possible to define advanced local processing for > > IPv6 packets with a Segment Routing Header through the seg6local LWT > > infrastructure. This LWT imp

Re: [PATCH net-next RFC 0/5] ipv6: sr: introduce seg6local End.BPF action

2018-03-30 Thread Alexei Starovoitov
On Fri, Mar 23, 2018 at 10:15:59AM +, Mathieu Xhonneux wrote: > As of Linux 4.14, it is possible to define advanced local processing for > IPv6 packets with a Segment Routing Header through the seg6local LWT > infrastructure. This LWT implements the network programming principles > defined in t

[PATCH net-next RFC 0/5] ipv6: sr: introduce seg6local End.BPF action

2018-03-23 Thread Mathieu Xhonneux
As of Linux 4.14, it is possible to define advanced local processing for IPv6 packets with a Segment Routing Header through the seg6local LWT infrastructure. This LWT implements the network programming principles defined in the IETF “SRv6 Network Programming” draft. The implemented operations are