From: Scott Feldman <sfeldma@gmail.com>
To: Jiri Pirko <jiri@resnulli.us>
Cc: Netdev <netdev@vger.kernel.org>,
"simon.horman@netronome.com" <simon.horman@netronome.com>,
Roopa Prabhu <roopa@cumulusnetworks.com>,
"Arad, Ronen" <ronen.arad@intel.com>,
"Fastabend, John R" <john.r.fastabend@intel.com>,
"andrew@lunn.ch" <andrew@lunn.ch>,
Florian Fainelli <f.fainelli@gmail.com>,
Guenter Roeck <linux@roeck-us.net>,
davidch <davidch@broadcom.com>,
"stephen@networkplumber.org" <stephen@networkplumber.org>
Subject: Re: [RFC PATCH net-next 2/4] switchdev: add fwd_mark generator helper
Date: Mon, 15 Jun 2015 06:52:47 -0700 [thread overview]
Message-ID: <CAE4R7bCABXELpMjqL1x1qyRy11JGmtMGZ6-Yo_5hXbWuFFF8_Q@mail.gmail.com> (raw)
In-Reply-To: <20150615054638.GB2179@nanopsycho.orion>
On Sun, Jun 14, 2015 at 10:46 PM, Jiri Pirko <jiri@resnulli.us> wrote:
> Sun, Jun 14, 2015 at 07:50:13PM CEST, sfeldma@gmail.com wrote:
>>On Sat, Jun 13, 2015 at 11:56 PM, Jiri Pirko <jiri@resnulli.us> wrote:
>>> Sat, Jun 13, 2015 at 08:04:28PM CEST, sfeldma@gmail.com wrote:
>>>>From: Scott Feldman <sfeldma@gmail.com>
>>>>
>>>>skb->fwd_mark and dev->fwd_mark are 32-bit and should be unique for device
>>>>and maybe even unique for a sub-set of ports within device, so add
>>>>switchdev helper function to generate unique marks based on driver-supplied
>>>>key. Typically, the driver would use device switch ID for key, and maybe
>>>>additional fields in key for grouped ports such as bridge ifindex. The key
>>>>can be of arbitrary length.
>>>>
>>>>The generator uses a global hash table to store fwd_marks hashed by key.
>>>>
>>>>Signed-off-by: Scott Feldman <sfeldma@gmail.com>
>>
>><snip>
>>
>>>>+u32 switchdev_mark_get(void *key, size_t key_len)
>>>>+{
>>>>+ struct switchdev_mark_ht_entry {
>>>>+ struct hlist_node entry;
>>>>+ void *key;
>>>>+ size_t key_len;
>>>>+ u32 key_crc32;
>>>>+ u32 mark;
>>>>+ } *entry;
>>>>+ u32 key_crc32 = crc32(~0, key, key_len);
>>>>+ u32 mark = 0;
>>>>+ unsigned long flags;
>>>>+
>>>>+ spin_lock_irqsave(&switchdev_mark_lock, flags);
>>>
>>> I fail to see why _irqsave variant is needed here.
>>
>>I don't know what context caller is in, so using most conservative
>>spinlock. Is there a better way?
>
> I don't see why would someone call this from irq.
Ok, good point, I'll adjust to spin_lock.
next prev parent reply other threads:[~2015-06-15 13:53 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-13 18:04 [RFC PATCH net-next 0/4] switchdev: avoid duplicate packet forwarding sfeldma
2015-06-13 18:04 ` [RFC PATCH net-next 1/4] net: don't reforward packets already forwarded by offload device sfeldma
2015-06-14 6:51 ` Jiri Pirko
2015-06-15 14:21 ` roopa
2015-06-13 18:04 ` [RFC PATCH net-next 2/4] switchdev: add fwd_mark generator helper sfeldma
2015-06-14 6:56 ` Jiri Pirko
2015-06-14 17:50 ` Scott Feldman
2015-06-15 5:46 ` Jiri Pirko
2015-06-15 13:52 ` Scott Feldman [this message]
2015-06-15 14:09 ` Sergei Shtylyov
2015-06-15 15:17 ` roopa
2015-06-13 18:04 ` [RFC PATCH net-next 3/4] rocker: add fwd_mark support sfeldma
2015-06-14 7:02 ` Jiri Pirko
2015-06-14 18:00 ` Scott Feldman
2015-06-15 5:49 ` Jiri Pirko
2015-06-13 18:04 ` [RFC PATCH net-next 4/4] switchdev: update documentation for fwd_mark sfeldma
2015-06-15 13:54 ` [RFC PATCH net-next 0/4] switchdev: avoid duplicate packet forwarding roopa
2015-06-15 14:23 ` roopa
2015-06-15 23:25 ` David Miller
2015-06-16 6:04 ` Jiri Pirko
2015-06-16 16:47 ` Scott Feldman
2015-06-16 21:11 ` Jiri Pirko
2015-06-16 23:53 ` Scott Feldman
2015-06-17 6:30 ` Jiri Pirko
2015-06-17 7:02 ` Scott Feldman
2015-06-17 10:23 ` Jamal Hadi Salim
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=CAE4R7bCABXELpMjqL1x1qyRy11JGmtMGZ6-Yo_5hXbWuFFF8_Q@mail.gmail.com \
--to=sfeldma@gmail.com \
--cc=andrew@lunn.ch \
--cc=davidch@broadcom.com \
--cc=f.fainelli@gmail.com \
--cc=jiri@resnulli.us \
--cc=john.r.fastabend@intel.com \
--cc=linux@roeck-us.net \
--cc=netdev@vger.kernel.org \
--cc=ronen.arad@intel.com \
--cc=roopa@cumulusnetworks.com \
--cc=simon.horman@netronome.com \
--cc=stephen@networkplumber.org \
/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 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).