Overview

The Globus Net Manager library is a plug-in point for network management tasks, such as:

- selectively open ports in a firewall and allow these ports to be closed when transfers are complete
- configure a virtual circuit based on a site policy and route traffic over this circuit
- route network traffic related to a task over a particular network

# Implementing a Network Manager

For users interested in implementing such functionality, the globus_net_manager library provides a low-level set of interfaces to implement specific network managers.

These interfaces provide methods for registering functions to be called before and after interesting network operations. Those functions may observe or modify the attributes of the network operations. This information can be used to modify the port to listen on, or modify the addresses used to use a particular network interface.

In addition, the globus_net_manager library includes sample implementations to provide a starting point for implementing network managers.

Logging Manager

  Logs network operations as they occur. This implementation shows the simplest network manager implementation in C

Python Module
  Loads a python module, and calls python functions when network operations occur.

The Logging Manager sample is broken down in detail in the globus_net_manager_tutorial page.

# Using Network Managers

For users interested in using the network manager in their own services, they can use the Context APIs to configure and invoke network manager plug-ins, or the Globus XIO Net Manager Driver to plug the network manager interface directly into the Globus XIO stack.

To configure a GridFTP server to use the network manager, use the configuration option '-xnetmgr' ('xnetmgr' in the config file). The parameters to this option are a list of managers and their configuration attributes. See the Python Module documentation for an example.