Re: [RFC PATCH 03/13] net: Add net protocol offload registration infrustructure
From: Vlad Yasevich <hidden>
Date: 2012-11-14 13:08:36
On 11/14/2012 03:22 AM, Nicolas Dichtel wrote:
Le 14/11/2012 02:24, Vlad Yasevich a écrit :quoted
diff --git a/net/ipv4/protocol.c b/net/ipv4/protocol.c index 8918eff..1278db8 100644 --- a/net/ipv4/protocol.c +++ b/net/ipv4/protocol.c@@ -29,6 +29,7 @@ #include <net/protocol.h> const struct net_protocol __rcu *inet_protos[MAX_INET_PROTOS]__read_mostly; +const struct net_offload __rcu *inet_offloads[MAX_INET_PROTOS] __read_mostly; /* * Add a protocol handler to the hash tables@@ -41,6 +42,13 @@ int inet_add_protocol(const struct net_protocol*prot, unsigned char protocol) } EXPORT_SYMBOL(inet_add_protocol); +int inet_add_offload(const struct net_offload *prot, unsigned char protocol) +{ + return !cmpxchg((const struct net_offload **)&inet_offloads[protocol], + NULL, prot) ? 0 : -1; +} +EXPORT_SYMBOL(inet_add_offload); + /* * Remove a protocol from the hash tables. */@@ -56,4 +64,16 @@ int inet_del_protocol(const struct net_protocol*prot, unsigned char protocol) return ret; } -EXPORT_SYMBOL(inet_del_protocol);This line should probably not be removed ;-)
Yep, good catch... thanks... -vald