123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- // +build linux
- package ipvs
- const (
- genlCtrlID = 0x10
- )
- // GENL control commands
- const (
- genlCtrlCmdUnspec uint8 = iota
- genlCtrlCmdNewFamily
- genlCtrlCmdDelFamily
- genlCtrlCmdGetFamily
- )
- // GENL family attributes
- const (
- genlCtrlAttrUnspec int = iota
- genlCtrlAttrFamilyID
- genlCtrlAttrFamilyName
- )
- // IPVS genl commands
- const (
- ipvsCmdUnspec uint8 = iota
- ipvsCmdNewService
- ipvsCmdSetService
- ipvsCmdDelService
- ipvsCmdGetService
- ipvsCmdNewDest
- ipvsCmdSetDest
- ipvsCmdDelDest
- ipvsCmdGetDest
- ipvsCmdNewDaemon
- ipvsCmdDelDaemon
- ipvsCmdGetDaemon
- ipvsCmdSetConfig
- ipvsCmdGetConfig
- ipvsCmdSetInfo
- ipvsCmdGetInfo
- ipvsCmdZero
- ipvsCmdFlush
- )
- // Attributes used in the first level of commands
- const (
- ipvsCmdAttrUnspec int = iota
- ipvsCmdAttrService
- ipvsCmdAttrDest
- ipvsCmdAttrDaemon
- ipvsCmdAttrTimeoutTCP
- ipvsCmdAttrTimeoutTCPFin
- ipvsCmdAttrTimeoutUDP
- )
- // Attributes used to describe a service. Used inside nested attribute
- // ipvsCmdAttrService
- const (
- ipvsSvcAttrUnspec int = iota
- ipvsSvcAttrAddressFamily
- ipvsSvcAttrProtocol
- ipvsSvcAttrAddress
- ipvsSvcAttrPort
- ipvsSvcAttrFWMark
- ipvsSvcAttrSchedName
- ipvsSvcAttrFlags
- ipvsSvcAttrTimeout
- ipvsSvcAttrNetmask
- ipvsSvcAttrStats
- ipvsSvcAttrPEName
- )
- // Attributes used to describe a destination (real server). Used
- // inside nested attribute ipvsCmdAttrDest.
- const (
- ipvsDestAttrUnspec int = iota
- ipvsDestAttrAddress
- ipvsDestAttrPort
- ipvsDestAttrForwardingMethod
- ipvsDestAttrWeight
- ipvsDestAttrUpperThreshold
- ipvsDestAttrLowerThreshold
- ipvsDestAttrActiveConnections
- ipvsDestAttrInactiveConnections
- ipvsDestAttrPersistentConnections
- ipvsDestAttrStats
- )
- // Destination forwarding methods
- const (
- // ConnectionFlagFwdmask indicates the mask in the connection
- // flags which is used by forwarding method bits.
- ConnectionFlagFwdMask = 0x0007
- // ConnectionFlagMasq is used for masquerade forwarding method.
- ConnectionFlagMasq = 0x0000
- // ConnectionFlagLocalNode is used for local node forwarding
- // method.
- ConnectionFlagLocalNode = 0x0001
- // ConnectionFlagTunnel is used for tunnel mode forwarding
- // method.
- ConnectionFlagTunnel = 0x0002
- // ConnectionFlagDirectRoute is used for direct routing
- // forwarding method.
- ConnectionFlagDirectRoute = 0x0003
- )
- const (
- // RoundRobin distributes jobs equally amongst the available
- // real servers.
- RoundRobin = "rr"
- // LeastConnection assigns more jobs to real servers with
- // fewer active jobs.
- LeastConnection = "lc"
- // DestinationHashing assigns jobs to servers through looking
- // up a statically assigned hash table by their destination IP
- // addresses.
- DestinationHashing = "dh"
- // SourceHashing assigns jobs to servers through looking up
- // a statically assigned hash table by their source IP
- // addresses.
- SourceHashing = "sh"
- )
|