• Tom Tucker's avatar
    svc: Add an svc transport class · 1d8206b9
    Tom Tucker authored
    The transport class (svc_xprt_class) represents a type of transport, e.g.
    udp, tcp, rdma.  A transport class has a unique name and a set of transport
    operations kept in the svc_xprt_ops structure.
    
    A transport class can be dynamically registered and unregisterd. The
    svc_xprt_class represents the module that implements the transport
    type and keeps reference counts on the module to avoid unloading while
    there are active users.
    
    The endpoint (svc_xprt) is a generic, transport independent endpoint that can
    be used to send and receive data for an RPC service. It inherits it's
    operations from the transport class.
    
    A transport driver module registers and unregisters itself with svc sunrpc
    by calling svc_reg_xprt_class, and svc_unreg_xprt_class respectively.
    Signed-off-by: default avatarTom Tucker <tom@opengridcomputing.com>
    Acked-by: default avatarNeil Brown <neilb@suse.de>
    Reviewed-by: default avatarChuck Lever <chuck.lever@oracle.com>
    Reviewed-by: default avatarGreg Banks <gnb@sgi.com>
    Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
    1d8206b9
svc_xprt.c 2.09 KB