mirror of
https://github.com/openvswitch/ovs
synced 2025-10-27 15:18:06 +00:00
datapath: Improve compat rxhash functionality.
Following patch improves rxhash calculation, It is taken from upstream Linux kernel code. From kernel 3.8, skb_get_rxhash() can handle hardware generated l4-rxhash. Therefore compat skb_get_rxhash() is not used on kernel 3.8 or new. Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Reviewed-by: Thomas Graf <tgraf@redhat.com> Acked-by: Jesse Gross <jesse@nicira.com>
This commit is contained in:
@@ -37,3 +37,24 @@ void inet_proto_csum_replace16(__sum16 *sum, struct sk_buff *skb,
|
||||
csum_unfold(*sum)));
|
||||
}
|
||||
#endif
|
||||
|
||||
bool __net_get_random_once(void *buf, int nbytes, bool *done,
|
||||
atomic_t *done_key)
|
||||
{
|
||||
static DEFINE_SPINLOCK(lock);
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&lock, flags);
|
||||
if (*done) {
|
||||
spin_unlock_irqrestore(&lock, flags);
|
||||
return false;
|
||||
}
|
||||
|
||||
get_random_bytes(buf, nbytes);
|
||||
*done = true;
|
||||
spin_unlock_irqrestore(&lock, flags);
|
||||
|
||||
atomic_set(done_key, 1);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user