lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 26 Mar 2014 09:59:12 -0700
From:	Alexei Starovoitov <alexei.starovoitov@...il.com>
To:	Jiri Pirko <jiri@...nulli.us>
Cc:	"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
	john.r.fastabend@...el.com, Eric Dumazet <edumazet@...gle.com>,
	andy@...yhouse.net, "dev@...nvswitch.org" <dev@...nvswitch.org>,
	f.fainelli@...il.com, jeffrey.t.kirsher@...el.com,
	Or Gerlitz <ogerlitz@...lanox.com>, ben@...adent.org.uk,
	roopa@...ulusnetworks.com, jhs@...atatu.com,
	linville@...driver.com, vyasevic@...hat.com, nhorman@...driver.com,
	sfeldma@...ulusnetworks.com, stephen@...workplumber.org,
	Daniel Borkmann <dborkman@...hat.com>,
	"David S. Miller" <davem@...emloft.net>
Subject: Re: [ovs-dev] [patch net-next RFC v2 2/6] skbuff: add "missed_flow" flag

On Wed, Mar 26, 2014 at 9:31 AM, Jiri Pirko <jiri@...nulli.us> wrote:
> This flag sets incoming switch device in order to let know that the flow
> which the skb is part of is missed. Listener may react to it
> appropriately,
>
> Signed-off-by: Jiri Pirko <jiri@...nulli.us>
> ---
>  include/linux/filter.h |  1 +
>  include/linux/skbuff.h | 13 +++++++++++++
>  net/core/filter.c      |  3 +++
>  3 files changed, 17 insertions(+)
>
> diff --git a/include/linux/filter.h b/include/linux/filter.h
> index e568c8e..38c7c04 100644
> --- a/include/linux/filter.h
> +++ b/include/linux/filter.h
> @@ -154,6 +154,7 @@ enum {
>         BPF_S_ANC_VLAN_TAG,
>         BPF_S_ANC_VLAN_TAG_PRESENT,
>         BPF_S_ANC_PAY_OFFSET,
> +       BPF_S_ANC_MISSED_FLOW,

Interesting use case for bpf...
looks like it's not connected to userspace.
Are you trying to extend ovs with switchdev api and bpf at once?
How do you plan to use this bpf extension?

Thanks
Alexei

>  };
>
>  #endif /* __LINUX_FILTER_H__ */
> diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
> index 03db95a..0100c2f 100644
> --- a/include/linux/skbuff.h
> +++ b/include/linux/skbuff.h
> @@ -567,6 +567,7 @@ struct sk_buff {
>          * headers if needed
>          */
>         __u8                    encapsulation:1;
> +       __u8                    missed_flow:1;
>         /* 6/8 bit hole (depending on ndisc_nodetype presence) */
>         kmemcheck_bitfield_end(flags2);
>
> @@ -2993,5 +2994,17 @@ static inline unsigned int skb_gso_network_seglen(const struct sk_buff *skb)
>                                skb_network_header(skb);
>         return hdr_len + skb_gso_transport_seglen(skb);
>  }
> +
> +/**
> + * skb_mark_missed_flow - marks skb as a part of missed flow
> + * @skb: buffer
> + *
> + * Marks skb as a part of missed flow.
> + */
> +static inline void skb_mark_missed_flow(struct sk_buff *skb)
> +{
> +       skb->missed_flow = 1;
> +}
> +
>  #endif /* __KERNEL__ */
>  #endif /* _LINUX_SKBUFF_H */
> diff --git a/net/core/filter.c b/net/core/filter.c
> index ad30d62..048f11a 100644
> --- a/net/core/filter.c
> +++ b/net/core/filter.c
> @@ -350,6 +350,9 @@ load_b:
>                 case BPF_S_ANC_PAY_OFFSET:
>                         A = __skb_get_poff(skb);
>                         continue;
> +               case BPF_S_ANC_MISSED_FLOW:
> +                       A = !!skb->missed_flow;
> +                       continue;
>                 case BPF_S_ANC_NLATTR: {
>                         struct nlattr *nla;
>
> --
> 1.8.5.3
>
> _______________________________________________
> dev mailing list
> dev@...nvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ