lkml.org 
[lkml]   [2010]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC][PATCH v4 02/18] Export 2 func for device to assign/dassign new structure.
    Date
    From: Xin Xiaohui <xiaohui.xin@intel.com>

    Export 2 func for device to assign/deassign new strucure

    Signed-off-by: Xin Xiaohui <xiaohui.xin@intel.com>
    Signed-off-by: Zhao Yu <yzhao81@gmail.com>
    Reviewed-by: Jeff Dike <jdike@linux.intel.com>
    ---
    include/linux/netdevice.h | 3 +++
    net/core/dev.c | 28 ++++++++++++++++++++++++++++
    2 files changed, 31 insertions(+), 0 deletions(-)

    diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
    index bf79756..5c473fb 100644
    --- a/include/linux/netdevice.h
    +++ b/include/linux/netdevice.h
    @@ -1592,6 +1592,9 @@ extern gro_result_t napi_frags_finish(struct napi_struct *napi,
    gro_result_t ret);
    extern struct sk_buff * napi_frags_skb(struct napi_struct *napi);
    extern gro_result_t napi_gro_frags(struct napi_struct *napi);
    +extern int netdev_mp_port_attach(struct net_device *dev,
    + struct mpassthru_port *port);
    +extern void netdev_mp_port_detach(struct net_device *dev);

    static inline void napi_free_frags(struct napi_struct *napi)
    {
    diff --git a/net/core/dev.c b/net/core/dev.c
    index e5972f7..6a73fc7 100644
    --- a/net/core/dev.c
    +++ b/net/core/dev.c
    @@ -2464,6 +2464,34 @@ void netif_nit_deliver(struct sk_buff *skb)
    rcu_read_unlock();
    }

    +/* Export two functions to assign/de-assign mp_port pointer
    + * to a net device.
    + */
    +
    +int netdev_mp_port_attach(struct net_device *dev,
    + struct mpassthru_port *port)
    +{
    + /* locked by mp_mutex */
    + if (rcu_dereference(dev->mp_port))
    + return -EBUSY;
    +
    + rcu_assign_pointer(dev->mp_port, port);
    +
    + return 0;
    +}
    +EXPORT_SYMBOL(netdev_mp_port_attach);
    +
    +void netdev_mp_port_detach(struct net_device *dev)
    +{
    + /* locked by mp_mutex */
    + if (!rcu_dereference(dev->mp_port))
    + return;
    +
    + rcu_assign_pointer(dev->mp_port, NULL);
    + synchronize_rcu();
    +}
    +EXPORT_SYMBOL(netdev_mp_port_detach);
    +
    /**
    * netif_receive_skb - process receive buffer from network
    * @skb: buffer to process
    --
    1.5.4.4


    \
     
     \ /
      Last update: 2010-04-25 11:25    [W:4.220 / U:0.196 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site