ncc

package
v0.0.0-...-f11734a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 2, 2016 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

Package ncc implements the Seesaw v2 Network Control Centre component, which provides an interface for the Seesaw engine to manipulate and control network related configuration.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Init

func Init()

Init performs initialisation of the NCC components. Note: we cannot use a package-based init here since it would be triggered when ncc is imported by all other packages, including the NCC client.

Types

type SeesawNCC

type SeesawNCC struct{}

SeesawNCC provides the IPC interface for the network control component.

func (*SeesawNCC) ARPSendGratuitous

func (ncc *SeesawNCC) ARPSendGratuitous(arp *ncctypes.ARPGratuitous, out *int) error

ARPSendGratuitous sends a gratuitous ARP message via the specified interface.

func (*SeesawNCC) BGPAdvertiseVIP

func (ncc *SeesawNCC) BGPAdvertiseVIP(vip net.IP, unused *int) error

BGPAdvertiseVIP requests the Quagga BGP daemon to advertise the given VIP.

func (*SeesawNCC) BGPConfig

func (ncc *SeesawNCC) BGPConfig(unused int, cfg *ncctypes.BGPConfig) error

BGPConfig returns the current configuration for the Quagga BGP daemon.

func (*SeesawNCC) BGPNeighbors

func (ncc *SeesawNCC) BGPNeighbors(unused int, neighbors *ncctypes.BGPNeighbors) error

BGPNeighbors returns the current BGP neighbors for the Quagga BGP daemon.

func (*SeesawNCC) BGPWithdrawAll

func (ncc *SeesawNCC) BGPWithdrawAll(unused int, reply *int) error

BGPWithdrawAll removes all network advertisements from the Quagga BGP daemon.

func (*SeesawNCC) BGPWithdrawVIP

func (ncc *SeesawNCC) BGPWithdrawVIP(vip net.IP, unused *int) error

BGPWithdrawVIP requests the Quagga BGP daemon to withdraw the given VIP.

func (*SeesawNCC) IPVSAddDestination

func (ncc *SeesawNCC) IPVSAddDestination(dst *ncctypes.IPVSDestination, out *int) error

IPVSAddDestination adds the specified destination to the IPVS table.

func (*SeesawNCC) IPVSAddService

func (ncc *SeesawNCC) IPVSAddService(svc *ipvs.Service, out *int) error

IPVSAddService adds the specified service to the IPVS table.

func (*SeesawNCC) IPVSDeleteDestination

func (ncc *SeesawNCC) IPVSDeleteDestination(dst *ncctypes.IPVSDestination, out *int) error

IPVSDeleteDestination deletes the specified destination from the IPVS table.

func (*SeesawNCC) IPVSDeleteService

func (ncc *SeesawNCC) IPVSDeleteService(svc *ipvs.Service, out *int) error

IPVSDeleteService deletes the specified service from the IPVS table.

func (*SeesawNCC) IPVSFlush

func (ncc *SeesawNCC) IPVSFlush(in int, out *int) error

IPVSFlush flushes all services and destinations from the IPVS table.

func (*SeesawNCC) IPVSGetService

func (ncc *SeesawNCC) IPVSGetService(si *ipvs.Service, s *ncctypes.IPVSServices) error

IPVSGetService gets the currently configured service from the IPVS table, which matches the specified service.

func (*SeesawNCC) IPVSGetServices

func (ncc *SeesawNCC) IPVSGetServices(in int, s *ncctypes.IPVSServices) error

IPVSGetServices gets the currently configured services from the IPVS table.

func (*SeesawNCC) IPVSUpdateDestination

func (ncc *SeesawNCC) IPVSUpdateDestination(dst *ncctypes.IPVSDestination, out *int) error

IPVSUpdateDestination updates the specified destination in the IPVS table.

func (*SeesawNCC) IPVSUpdateService

func (ncc *SeesawNCC) IPVSUpdateService(svc *ipvs.Service, out *int) error

IPVSUpdateService updates the specified service in the IPVS table.

func (*SeesawNCC) LBInterfaceAddVIP

func (ncc *SeesawNCC) LBInterfaceAddVIP(vip *ncctypes.LBInterfaceVIP, out *int) error

LBInterfaceAddVIP adds the specified VIP to the load balancing interface.

func (*SeesawNCC) LBInterfaceAddVLAN

func (ncc *SeesawNCC) LBInterfaceAddVLAN(vlan *ncctypes.LBInterfaceVLAN, out *int) error

LBInterfaceAddVLAN creates a VLAN interface on the load balancing interface.

func (*SeesawNCC) LBInterfaceAddVserver

func (ncc *SeesawNCC) LBInterfaceAddVserver(lbVserver *ncctypes.LBInterfaceVserver, out *int) error

LBInterfaceAddVserver adds the specified Vserver to the load balancing interface.

func (*SeesawNCC) LBInterfaceDeleteVIP

func (ncc *SeesawNCC) LBInterfaceDeleteVIP(vip *ncctypes.LBInterfaceVIP, out *int) error

LBInterfaceDeleteVIP removes the specified VIP from the load balancing interface.

func (*SeesawNCC) LBInterfaceDeleteVLAN

func (ncc *SeesawNCC) LBInterfaceDeleteVLAN(vlan *ncctypes.LBInterfaceVLAN, out *int) error

LBInterfaceDeleteVLAN deletes a VLAN interface from the load balancing interface.

func (*SeesawNCC) LBInterfaceDeleteVserver

func (ncc *SeesawNCC) LBInterfaceDeleteVserver(lbVserver *ncctypes.LBInterfaceVserver, out *int) error

LBInterfaceDeleteVserver removes the specified Vserver from the load balancing interface.

func (*SeesawNCC) LBInterfaceDown

func (ncc *SeesawNCC) LBInterfaceDown(iface *ncctypes.LBInterface, out *int) error

LBInterfaceDown brings the load balancing interface down.

func (*SeesawNCC) LBInterfaceInit

func (ncc *SeesawNCC) LBInterfaceInit(iface *ncctypes.LBInterface, out *int) error

LBInterfaceInit initialises the load balancing interface for a Seesaw Node.

func (*SeesawNCC) LBInterfaceUp

func (ncc *SeesawNCC) LBInterfaceUp(iface *ncctypes.LBInterface, out *int) error

LBInterfaceUp brings the load balancing interface up.

func (*SeesawNCC) RouteDefaultIPv4

func (ncc *SeesawNCC) RouteDefaultIPv4(unused int, gateway *net.IP) error

RouteDefaultIPv4 returns the default route for IPv4 traffic.

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server contains the data necessary to run the Seesaw v2 NCC server.

func NewServer

func NewServer(socket string) *Server

NewServer returns an initialised NCC Server struct.

func (*Server) Run

func (n *Server) Run()

Run starts the NCC server.

func (*Server) Shutdown

func (n *Server) Shutdown()

Shutdown signals the NCC server to shutdown.

Directories

Path Synopsis
Package client implements the client interface to the Seesaw v2 Network Control Centre component, which provides an interface for the Seesaw engine to manipulate and control network related configuration.
Package client implements the client interface to the Seesaw v2 Network Control Centre component, which provides an interface for the Seesaw engine to manipulate and control network related configuration.
Package types contains types used to exchange data between the NCC client and the NCC server.
Package types contains types used to exchange data between the NCC client and the NCC server.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL