Manpage of MAST

Content-type: text/html

# MAST

Section: Devices and Network Interfaces (4)
Index Return to Main Contents

BSD mandoc

## NAME

mast - pseudo-driver for attaching tunnelling protocols

## DESCRIPTION

The mast network interface is a pseudo device that allows tunnelling protocols to be attached to the base of the device, and routing protocols and daemons to the top. The metaphore is that of a blimp attached to a mooring post or mast.

The network interfaces are named mast 0 mast 1 and so on, as many as desired. They are created with the "ip tunnel" command.

## EXAMPLE

Configuration example:

    Host X-- Host A  ----------------tunnel---------- cisco D------Host E
              \                                          |
               \                                        /
                 +------Host B----------Host C----------+

formatted description.

# route add default B
# ifconfig ipipN A D netmask 0xffffffff up
# route add E D

On Host D (Cisco):

Interface TunnelX ``
ip unnumbered D ! e.g. address from Ethernet interface
tunnel source D ! e.g. address from Ethernet interface
tunnel destination A
ip route C <some interface and mask>
ip route A mask C
ip route X mask tunnelX

OR

On Host D (NetBSD):

# route add default C
# ifconfig ipipN D A

## NOTE

## SEE ALSO

ip(8),

## BUGS

The MAST device permits people to create them with: `` struct device *mast;

`` mast = mast_init(family, callbacks, flags, desired_unit, max_flowref,
`` `` `` context)

- A new MAST device is create per address family. This is not really
necessary, but simplies the design.

where the callbacks are provided as follows:

callbacks `` packet_send(mast, context, skb, flowref)
`` link_inquire(mast, context)

The packet_send() function is called by the mast device when a packet has been forwarded into the MAST device in some fashion. The MAST device will extract an appropriate flow reference number from the packet (or use its default) and provide this as the flowref argument.

The link_inquire() function is a request from the MAST device to have its link status updated by the tunnel apparatus. Link status can be updated with: `` mast_linkstat(mast, flowref, status)
where status = up=1/down=0. Some MAST devices may maintain per-flowref link status, in which case the flowref should be provided. A flowref of -1 updates the global link status.

Each MAST device may have a series of point-to-point links (PPP) which may be represented in the rt_cache - that is, may produce up/down events on the routing socket based upon its link status.

A MAST device may have its default reference set via: `` mast_setreference(mast, defaultSA#)

A MAST device examines packets that it receives, looks at the appropriate parts of the nfmark and turns that into the reference #. If these bits are zero, then the default reference is used. If the default reference is not set, then the packet is dropped as a transmit error.

## Index

NAME
DESCRIPTION
EXAMPLE
NOTE
SEE ALSO
BUGS

This document was created by man2html, using the manual pages.
Time: 21:05:07 GMT, September 19, 2002