Documentation
¶
Index ¶
- func NewClientInfoV4(dhcpConfig *config.DHCPConfig) *v4.ClientInfoV4
- func NewClientInfoV6(dhcpConfig *config.DHCPConfig) v6.ClientInfoV6
- type Acknowledger
- type Cacher
- type CachingResolver
- func (r CachingResolver) AcknowledgeV4ByID(info *v4.ClientInfoV4, xid, duid, iaid, ip string) error
- func (r CachingResolver) AcknowledgeV4ByMAC(info *v4.ClientInfoV4, xid, mac, ip string) error
- func (r CachingResolver) DeclineV4ByID(xid, duid, iaid, ip string) error
- func (r CachingResolver) DeclineV4ByMAC(xid, mac, ip string) error
- func (r CachingResolver) OfferV4ByID(info *v4.ClientInfoV4, xid, duid, iaid string) error
- func (r CachingResolver) OfferV4ByMAC(info *v4.ClientInfoV4, xid, mac string) error
- func (r CachingResolver) ReleaseV4ByID(xid, duid, iaid, ip string) error
- func (r CachingResolver) ReleaseV4ByMAC(xid, mac, ip string) error
- func (r CachingResolver) SolicitationV6(info *v6.ClientInfoV6, clientID, clientMAC string, iaid string) (bool, error)
- type Decliner
- type Netbox
- type Offerer
- type Redis
- func (r Redis) AcknowledgeV4ByID(info *v4.ClientInfoV4, xid, duid, iaid, ip string) error
- func (r Redis) AcknowledgeV4ByMAC(info *v4.ClientInfoV4, xid, mac, ip string) error
- func (r Redis) ReleaseV4ByID(xid, duid, iaid, ip string) error
- func (r Redis) ReleaseV4ByMAC(xid, mac, ip string) error
- func (r Redis) ReserveV4(info *v4.ClientInfoV4, xid string) error
- type Releaser
- type Resolver
- type Solicitationer
- type Sourcer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewClientInfoV4 ¶
func NewClientInfoV4(dhcpConfig *config.DHCPConfig) *v4.ClientInfoV4
func NewClientInfoV6 ¶
func NewClientInfoV6(dhcpConfig *config.DHCPConfig) v6.ClientInfoV6
Types ¶
type Acknowledger ¶
type Acknowledger interface { AcknowledgeV4ByMAC(clientInfo *v4.ClientInfoV4, xid, mac, ip string) error AcknowledgeV4ByID(clientInfo *v4.ClientInfoV4, xid, duid, iaid, ip string) error }
type Cacher ¶
type Cacher interface { Acknowledger Releaser ReserveV4(info *v4.ClientInfoV4, xid string) error }
A Cacher keeps records of leased IPs
type CachingResolver ¶
Source and Cache are two independent implementations and are interchangeable
func (CachingResolver) AcknowledgeV4ByID ¶
func (r CachingResolver) AcknowledgeV4ByID(info *v4.ClientInfoV4, xid, duid, iaid, ip string) error
func (CachingResolver) AcknowledgeV4ByMAC ¶
func (r CachingResolver) AcknowledgeV4ByMAC(info *v4.ClientInfoV4, xid, mac, ip string) error
func (CachingResolver) DeclineV4ByID ¶
func (r CachingResolver) DeclineV4ByID(xid, duid, iaid, ip string) error
func (CachingResolver) DeclineV4ByMAC ¶
func (r CachingResolver) DeclineV4ByMAC(xid, mac, ip string) error
func (CachingResolver) OfferV4ByID ¶
func (r CachingResolver) OfferV4ByID(info *v4.ClientInfoV4, xid, duid, iaid string) error
func (CachingResolver) OfferV4ByMAC ¶
func (r CachingResolver) OfferV4ByMAC(info *v4.ClientInfoV4, xid, mac string) error
func (CachingResolver) ReleaseV4ByID ¶
func (r CachingResolver) ReleaseV4ByID(xid, duid, iaid, ip string) error
func (CachingResolver) ReleaseV4ByMAC ¶
func (r CachingResolver) ReleaseV4ByMAC(xid, mac, ip string) error
func (CachingResolver) SolicitationV6 ¶
func (r CachingResolver) SolicitationV6(info *v6.ClientInfoV6, clientID, clientMAC string, iaid string) (bool, error)
type Netbox ¶
func (Netbox) OfferV4ByID ¶
func (n Netbox) OfferV4ByID(info *v4.ClientInfoV4, transactionID, duid, iaid string) error
func (Netbox) OfferV4ByMAC ¶
func (n Netbox) OfferV4ByMAC(info *v4.ClientInfoV4, transactionID, mac string) error
func (Netbox) SolicitationV6 ¶
type Offerer ¶
type Offerer interface { OfferV4ByMAC(clientInfo *v4.ClientInfoV4, xid, mac string) error OfferV4ByID(clientInfo *v4.ClientInfoV4, xid, duid, iaid string) error }
type Redis ¶
func (Redis) AcknowledgeV4ByID ¶
func (r Redis) AcknowledgeV4ByID(info *v4.ClientInfoV4, xid, duid, iaid, ip string) error
func (Redis) AcknowledgeV4ByMAC ¶
func (r Redis) AcknowledgeV4ByMAC(info *v4.ClientInfoV4, xid, mac, ip string) error
func (Redis) ReleaseV4ByID ¶
func (Redis) ReleaseV4ByMAC ¶
type Resolver ¶
type Resolver interface { Offerer Acknowledger Releaser Decliner Solicitationer }
type Solicitationer ¶
type Sourcer ¶
type Sourcer interface { Offerer Solicitationer }
A Sourcer assigns IPs based on a request
Click to show internal directories.
Click to hide internal directories.