SYMBOL INDEX (522 symbols across 55 files) FILE: cmd/smee/backend.go type Kube (line 21) | type Kube struct method getClient (line 45) | func (k *Kube) getClient() (*rest.Config, error) { method backend (line 62) | func (k *Kube) backend(ctx context.Context) (handler.BackendReader, er... type File (line 31) | type File struct method backend (line 100) | func (s *File) backend(ctx context.Context, logger logr.Logger) (handl... type Noop (line 37) | type Noop struct method backend (line 41) | func (n *Noop) backend() handler.BackendReader { FILE: cmd/smee/flag.go function customUsageFunc (line 23) | func customUsageFunc(c *ffcli.Command) string { function countFlags (line 81) | func countFlags(fs *flag.FlagSet) (n int) { function syslogFlags (line 87) | func syslogFlags(c *config, fs *flag.FlagSet) { function tftpFlags (line 93) | func tftpFlags(c *config, fs *flag.FlagSet) { function ipxeHTTPBinaryFlags (line 102) | func ipxeHTTPBinaryFlags(c *config, fs *flag.FlagSet) { function ipxeHTTPScriptFlags (line 106) | func ipxeHTTPScriptFlags(c *config, fs *flag.FlagSet) { function dhcpFlags (line 120) | func dhcpFlags(c *config, fs *flag.FlagSet) { function backendFlags (line 141) | func backendFlags(c *config, fs *flag.FlagSet) { function otelFlags (line 151) | func otelFlags(c *config, fs *flag.FlagSet) { function isoFlags (line 156) | func isoFlags(c *config, fs *flag.FlagSet) { function setFlags (line 163) | func setFlags(c *config, fs *flag.FlagSet) { function newCLI (line 175) | func newCLI(cfg *config, fs *flag.FlagSet) *ffcli.Command { function ipByInterface (line 188) | func ipByInterface(name string) string { function detectPublicIPv4 (line 213) | func detectPublicIPv4() string { function autoDetectPublicIPv4 (line 232) | func autoDetectPublicIPv4() (net.IP, error) { function autoDetectPublicIpv4WithDefaultGateway (line 255) | func autoDetectPublicIpv4WithDefaultGateway() (net.IP, error) { FILE: cmd/smee/flag_test.go function TestParser (line 12) | func TestParser(t *testing.T) { function TestCustomUsageFunc (line 110) | func TestCustomUsageFunc(t *testing.T) { FILE: cmd/smee/main.go constant name (line 46) | name = "smee" constant dhcpModeProxy (line 47) | dhcpModeProxy dhcpMode = "proxy" constant dhcpModeReservation (line 48) | dhcpModeReservation dhcpMode = "reservation" constant dhcpModeAutoProxy (line 49) | dhcpModeAutoProxy dhcpMode = "auto-proxy" constant magicString (line 52) | magicString = `464vn90e7rbj08xbwdjejmdf4it17c5zfzjyfhthbh19eij201hjgit02... type config (line 55) | type config struct method backend (line 338) | func (c *config) backend(ctx context.Context, log logr.Logger) (handle... method dhcpHandler (line 371) | func (c *config) dhcpHandler(ctx context.Context, log logr.Logger) (se... type syslogConfig (line 69) | type syslogConfig struct type tftp (line 75) | type tftp struct type ipxeHTTPBinary (line 84) | type ipxeHTTPBinary struct type ipxeHTTPScript (line 88) | type ipxeHTTPScript struct type dhcpMode (line 102) | type dhcpMode method String (line 554) | func (d dhcpMode) String() string { type dhcpConfig (line 104) | type dhcpConfig struct type urlBuilder (line 118) | type urlBuilder struct type httpIpxeScript (line 125) | type httpIpxeScript struct type dhcpBackends (line 133) | type dhcpBackends struct type otelConfig (line 139) | type otelConfig struct type isoConfig (line 144) | type isoConfig struct function main (line 151) | func main() { function numTrue (line 328) | func numTrue(b ...bool) int { function defaultLogger (line 493) | func defaultLogger(level string) logr.Logger { function parseTrustedProxies (line 528) | func parseTrustedProxies(trustedProxies string) (result []string) { FILE: internal/backend/file/file.go constant tracerName (line 24) | tracerName = "github.com/tinkerbell/smee/dhcp" type netboot (line 37) | type netboot struct type dhcp (line 46) | type dhcp struct type Watcher (line 65) | type Watcher struct method GetByMac (line 106) | func (w *Watcher) GetByMac(ctx context.Context, mac net.HardwareAddr) ... method GetByIP (line 149) | func (w *Watcher) GetByIP(ctx context.Context, ip net.IP) (*data.DHCP,... method Start (line 201) | func (w *Watcher) Start(ctx context.Context) { method translate (line 234) | func (w *Watcher) translate(r dhcp) (*data.DHCP, *data.Netboot, error) { function NewWatcher (line 79) | func NewWatcher(l logr.Logger, f string) (*Watcher, error) { FILE: internal/backend/file/file_test.go function TestNewWatcher (line 25) | func TestNewWatcher(t *testing.T) { function createFile (line 63) | func createFile(content []byte) (string, error) { type testData (line 75) | type testData struct method helper (line 204) | func (tt *testData) helper(t *testing.T, l logr.Logger) (*Watcher, str... function TestStartAndStop (line 82) | func TestStartAndStop(t *testing.T) { function TestStartFileUpdateError (line 99) | func TestStartFileUpdateError(t *testing.T) { function TestStartFileUpdate (line 119) | func TestStartFileUpdate(t *testing.T) { function TestStartFileUpdateClosedChan (line 147) | func TestStartFileUpdateClosedChan(t *testing.T) { function TestStartError (line 165) | func TestStartError(t *testing.T) { function TestStartErrorContinue (line 186) | func TestStartErrorContinue(t *testing.T) { function TestTranslate (line 224) | func TestTranslate(t *testing.T) { function TestTranslateErrors (line 282) | func TestTranslateErrors(t *testing.T) { function TestGetByMac (line 305) | func TestGetByMac(t *testing.T) { function TestGetByIP (line 340) | func TestGetByIP(t *testing.T) { FILE: internal/backend/kube/error.go type hardwareNotFoundError (line 9) | type hardwareNotFoundError struct method NotFound (line 11) | func (hardwareNotFoundError) NotFound() bool { return true } method Error (line 13) | func (hardwareNotFoundError) Error() string { return "hardware not fou... method Status (line 17) | func (hardwareNotFoundError) Status() metav1.Status { FILE: internal/backend/kube/index.go constant MACAddrIndex (line 9) | MACAddrIndex = ".Spec.Interfaces.MAC" function MACAddrs (line 12) | func MACAddrs(obj client.Object) []string { function GetMACs (line 21) | func GetMACs(h *v1alpha1.Hardware) []string { constant IPAddrIndex (line 33) | IPAddrIndex = ".Spec.Interfaces.DHCP.IP" function IPAddrs (line 36) | func IPAddrs(obj client.Object) []string { function GetIPs (line 45) | func GetIPs(h *v1alpha1.Hardware) []string { FILE: internal/backend/kube/index_test.go function TestMACAddrs (line 11) | func TestMACAddrs(t *testing.T) { function TestIPAddrs (line 48) | func TestIPAddrs(t *testing.T) { FILE: internal/backend/kube/kube.go constant tracerName (line 22) | tracerName = "github.com/tinkerbell/smee/dhcp" type Backend (line 25) | type Backend struct method Start (line 53) | func (b *Backend) Start(ctx context.Context) error { method GetByMac (line 58) | func (b *Backend) GetByMac(ctx context.Context, mac net.HardwareAddr) ... method GetByIP (line 107) | func (b *Backend) GetByIP(ctx context.Context, ip net.IP) (*data.DHCP,... function NewBackend (line 35) | func NewBackend(conf *rest.Config, opts ...cluster.Option) (*Backend, er... function toDHCPData (line 158) | func toDHCPData(h *v1alpha1.DHCP) (*data.DHCP, error) { function toNetbootData (line 230) | func toNetbootData(i *v1alpha1.Netboot, facility string) (*data.Netboot,... function transform (line 277) | func transform(i v1alpha1.Interface, m *v1alpha1.HardwareMetadata) (*dat... FILE: internal/backend/kube/kube_test.go function TestNewBackend (line 27) | func TestNewBackend(t *testing.T) { function TestToDHCPData (line 61) | func TestToDHCPData(t *testing.T) { function TestToNetbootData (line 149) | func TestToNetbootData(t *testing.T) { function TestGetByIP (line 172) | func TestGetByIP(t *testing.T) { function TestGetByMac (line 270) | func TestGetByMac(t *testing.T) { FILE: internal/backend/noop/noop.go type Backend (line 13) | type Backend struct method GetByMac (line 15) | func (n Backend) GetByMac(context.Context, net.HardwareAddr) (*data.DH... method GetByIP (line 19) | func (n Backend) GetByIP(context.Context, net.IP) (*data.DHCP, *data.N... FILE: internal/backend/noop/noop_test.go function TestBackend (line 9) | func TestBackend(t *testing.T) { FILE: internal/dhcp/data/data.go type Packet (line 15) | type Packet struct type Metadata (line 25) | type Metadata struct type DHCP (line 34) | type DHCP struct method EncodeToAttributes (line 72) | func (d *DHCP) EncodeToAttributes() []attribute.KeyValue { type Netboot (line 52) | type Netboot struct method EncodeToAttributes (line 119) | func (n *Netboot) EncodeToAttributes() []attribute.KeyValue { type OSIE (line 62) | type OSIE struct FILE: internal/dhcp/data/data_test.go function TestDHCPEncodeToAttributes (line 13) | func TestDHCPEncodeToAttributes(t *testing.T) { function TestNetbootEncodeToAttributes (line 75) | func TestNetbootEncodeToAttributes(t *testing.T) { FILE: internal/dhcp/dhcp.go constant PXEClient (line 18) | PXEClient ClientType = "PXEClient" constant HTTPClient (line 19) | HTTPClient ClientType = "HTTPClient" constant IPXE (line 29) | IPXE UserClass = "iPXE" constant Tinkerbell (line 34) | Tinkerbell UserClass = "Tinkerbell" type UserClass (line 38) | type UserClass method String (line 169) | func (u UserClass) String() string { type ClientType (line 41) | type ClientType method String (line 164) | func (c ClientType) String() string { type Info (line 68) | type Info struct method IPXEBinaryFrom (line 154) | func (i Info) IPXEBinaryFrom() string { method UserClassFrom (line 173) | func (i Info) UserClassFrom() UserClass { method ClientTypeFrom (line 184) | func (i Info) ClientTypeFrom() ClientType { method Bootfile (line 266) | func (i Info) Bootfile(customUC UserClass, ipxeScript, ipxeHTTPBinServ... method NextServer (line 303) | func (i Info) NextServer(ipxeHTTPBinServer *url.URL, ipxeTFTPBinServer... method AddRPIOpt43 (line 322) | func (i Info) AddRPIOpt43(opts dhcpv4.Options) []byte { function NewInfo (line 86) | func NewInfo(pkt *dhcpv4.DHCPv4) Info { function isRaspberryPI (line 104) | func isRaspberryPI(mac net.HardwareAddr) bool { function Arch (line 122) | func Arch(d *dhcpv4.DHCPv4) iana.Arch { function IsNetbootClient (line 211) | func IsNetbootClient(pkt *dhcpv4.DHCPv4) error { function wrapNonNil (line 257) | func wrapNonNil(err error, format string) error { FILE: internal/dhcp/dhcp_test.go constant examplePXEClient (line 18) | examplePXEClient = "PXEClient:Arch:00007:UNDI:003001" constant exampleHTTPClient (line 19) | exampleHTTPClient = "HTTPClient:Arch:00016:UNDI:003001" function TestNewInfo (line 22) | func TestNewInfo(t *testing.T) { function TestArch (line 78) | func TestArch(t *testing.T) { function TestIsNetbootClient (line 110) | func TestIsNetbootClient(t *testing.T) { function TestBootfile (line 161) | func TestBootfile(t *testing.T) { function TestNextServer (line 222) | func TestNextServer(t *testing.T) { function TestOpt43 (line 268) | func TestOpt43(t *testing.T) { function TestUserClassString (line 306) | func TestUserClassString(t *testing.T) { function TestIsRaspberryPI (line 313) | func TestIsRaspberryPI(t *testing.T) { FILE: internal/dhcp/handler/handler.go type BackendReader (line 14) | type BackendReader interface FILE: internal/dhcp/handler/proxy/proxy.go constant tracerName (line 37) | tracerName = "github.com/tinkerbell/smee/internal/dhcp/handler/proxy" type Handler (line 40) | type Handler struct method Handle (line 86) | func (h *Handler) Handle(ctx context.Context, conn *ipv4.PacketConn, d... method encodeToAttributes (line 240) | func (h *Handler) encodeToAttributes(d *dhcpv4.DHCPv4, namespace strin... type Netboot (line 68) | type Netboot struct function setMessageType (line 246) | func setMessageType(reply *dhcpv4.DHCPv4, reqMsg dhcpv4.MessageType) err... type IgnorePacketError (line 259) | type IgnorePacketError struct method Error (line 265) | func (e IgnorePacketError) Error() string { function replyDestination (line 277) | func replyDestination(directPeer net.Addr, giaddr net.IP) net.Addr { FILE: internal/dhcp/handler/reservation/handler.go constant tracerName (line 21) | tracerName = "github.com/tinkerbell/smee" method setDefaults (line 25) | func (h *Handler) setDefaults() { method Handle (line 35) | func (h *Handler) Handle(ctx context.Context, conn *ipv4.PacketConn, p d... function replyDestination (line 166) | func replyDestination(directPeer net.Addr, giaddr net.IP) net.Addr { method readBackend (line 175) | func (h *Handler) readBackend(ctx context.Context, mac net.HardwareAddr)... method updateMsg (line 197) | func (h *Handler) updateMsg(ctx context.Context, pkt *dhcpv4.DHCPv4, d *... method encodeToAttributes (line 218) | func (h *Handler) encodeToAttributes(d *dhcpv4.DHCPv4, namespace string)... function hardwareNotFound (line 226) | func hardwareNotFound(err error) bool { FILE: internal/dhcp/handler/reservation/handler_test.go type mockBackend (line 30) | type mockBackend struct method GetByMac (line 42) | func (m *mockBackend) GetByMac(context.Context, net.HardwareAddr) (*da... method GetByIP (line 76) | func (m *mockBackend) GetByIP(context.Context, net.IP) (*data.DHCP, *d... type hwNotFoundError (line 37) | type hwNotFoundError struct method NotFound (line 39) | func (hwNotFoundError) NotFound() bool { return true } method Error (line 40) | func (hwNotFoundError) Error() string { return "not found" } function TestHandle (line 83) | func TestHandle(t *testing.T) { function client (line 352) | func client(pc net.PacketConn) (*dhcpv4.DHCPv4, error) { function TestUpdateMsg (line 366) | func TestUpdateMsg(t *testing.T) { function TestOne (line 438) | func TestOne(t *testing.T) { function TestReadBackend (line 445) | func TestReadBackend(t *testing.T) { function TestEncodeToAttributes (line 519) | func TestEncodeToAttributes(t *testing.T) { FILE: internal/dhcp/handler/reservation/noop.go type noop (line 13) | type noop struct method GetByMac (line 16) | func (h noop) GetByMac(_ context.Context, _ net.HardwareAddr) (*data.D... method GetByIP (line 21) | func (h noop) GetByIP(_ context.Context, _ net.IP) (*data.DHCP, *data.... FILE: internal/dhcp/handler/reservation/noop_test.go function TestNoop (line 11) | func TestNoop(t *testing.T) { FILE: internal/dhcp/handler/reservation/option.go method setDHCPOpts (line 21) | func (h *Handler) setDHCPOpts(_ context.Context, _ *dhcpv4.DHCPv4, d *da... method setNetworkBootOpts (line 68) | func (h *Handler) setNetworkBootOpts(ctx context.Context, m *dhcpv4.DHCP... method bootfileAndNextServer (line 111) | func (h *Handler) bootfileAndNextServer(ctx context.Context, pkt *dhcpv4... FILE: internal/dhcp/handler/reservation/option_test.go constant examplePXEClient (line 26) | examplePXEClient = "PXEClient:Arch:00007:UNDI:003001" constant exampleHTTPClient (line 27) | exampleHTTPClient = "HTTPClient:Arch:00016:UNDI:003001" function TestSetDHCPOpts (line 30) | func TestSetDHCPOpts(t *testing.T) { function TestBootfileAndNextServer (line 126) | func TestBootfileAndNextServer(t *testing.T) { function TestSetNetworkBootOpts (line 253) | func TestSetNetworkBootOpts(t *testing.T) { FILE: internal/dhcp/handler/reservation/reservation.go type Handler (line 15) | type Handler struct type Netboot (line 42) | type Netboot struct FILE: internal/dhcp/otel/otel.go constant keyNamespace (line 16) | keyNamespace = "DHCP" type Encoder (line 19) | type Encoder struct method Encode (line 46) | func (e *Encoder) Encode(pkt *dhcpv4.DHCPv4, namespace string, encoder... type notFoundError (line 23) | type notFoundError struct method Error (line 27) | func (e *notFoundError) Error() string { method found (line 31) | func (e *notFoundError) found() bool { type found (line 35) | type found interface function OptNotFound (line 40) | func OptNotFound(err error) bool { function AllEncoders (line 64) | func AllEncoders() []func(d *dhcpv4.DHCPv4, namespace string) (attribute... function EncodeFlags (line 79) | func EncodeFlags(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValue... function EncodeTransactionID (line 90) | func EncodeTransactionID(d *dhcpv4.DHCPv4, namespace string) (attribute.... function EncodeOpt1 (line 101) | func EncodeOpt1(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValue,... function EncodeOpt3 (line 114) | func EncodeOpt3(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValue,... function EncodeOpt6 (line 131) | func EncodeOpt6(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValue,... function EncodeOpt12 (line 148) | func EncodeOpt12(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValue... function EncodeOpt15 (line 159) | func EncodeOpt15(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValue... function EncodeOpt28 (line 170) | func EncodeOpt28(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValue... function EncodeOpt42 (line 181) | func EncodeOpt42(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValue... function EncodeOpt51 (line 198) | func EncodeOpt51(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValue... function EncodeOpt53 (line 209) | func EncodeOpt53(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValue... function EncodeOpt54 (line 220) | func EncodeOpt54(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValue... function EncodeOpt60 (line 231) | func EncodeOpt60(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValue... function EncodeOpt93 (line 242) | func EncodeOpt93(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValue... function EncodeOpt94 (line 258) | func EncodeOpt94(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValue... function EncodeOpt97 (line 275) | func EncodeOpt97(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValue... function EncodeOpt119 (line 292) | func EncodeOpt119(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValu... function EncodeYIADDR (line 305) | func EncodeYIADDR(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValu... function EncodeSIADDR (line 316) | func EncodeSIADDR(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValu... function EncodeCHADDR (line 327) | func EncodeCHADDR(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValu... function EncodeFILE (line 338) | func EncodeFILE(d *dhcpv4.DHCPv4, namespace string) (attribute.KeyValue,... function TraceparentFromContext (line 350) | func TraceparentFromContext(ctx context.Context) []byte { FILE: internal/dhcp/otel/otel_test.go function TestEncode (line 19) | func TestEncode(t *testing.T) { function TestEncodeError (line 47) | func TestEncodeError(t *testing.T) { function TestSetOpt1 (line 65) | func TestSetOpt1(t *testing.T) { function TestSetOpt3 (line 92) | func TestSetOpt3(t *testing.T) { function TestSetOpt6 (line 119) | func TestSetOpt6(t *testing.T) { function TestSetOpt12 (line 146) | func TestSetOpt12(t *testing.T) { function TestSetOpt15 (line 173) | func TestSetOpt15(t *testing.T) { function TestSetOpt28 (line 200) | func TestSetOpt28(t *testing.T) { function TestSetOpt42 (line 227) | func TestSetOpt42(t *testing.T) { function TestSetOpt51 (line 254) | func TestSetOpt51(t *testing.T) { function TestSetOpt53 (line 281) | func TestSetOpt53(t *testing.T) { function TestSetOpt54 (line 308) | func TestSetOpt54(t *testing.T) { function TestSetOpt60 (line 335) | func TestSetOpt60(t *testing.T) { function TestSetOpt93 (line 362) | func TestSetOpt93(t *testing.T) { function TestSetOpt94 (line 390) | func TestSetOpt94(t *testing.T) { function TestSetOpt97 (line 418) | func TestSetOpt97(t *testing.T) { function TestSetOpt119 (line 446) | func TestSetOpt119(t *testing.T) { function TestSetHeaderFlags (line 473) | func TestSetHeaderFlags(t *testing.T) { function TestSetHeaderTransactionID (line 498) | func TestSetHeaderTransactionID(t *testing.T) { function TestSetHeaderYIADDR (line 523) | func TestSetHeaderYIADDR(t *testing.T) { function TestSetHeaderSIADDR (line 548) | func TestSetHeaderSIADDR(t *testing.T) { function TestSetHeaderCHADDR (line 573) | func TestSetHeaderCHADDR(t *testing.T) { function TestSetHeaderFILE (line 598) | func TestSetHeaderFILE(t *testing.T) { function TestTraceparentFromContext (line 623) | func TestTraceparentFromContext(t *testing.T) { FILE: internal/dhcp/server/dhcp.go type Handler (line 18) | type Handler interface type DHCP (line 23) | type DHCP struct method Serve (line 30) | func (s *DHCP) Serve(ctx context.Context) error { method Close (line 92) | func (s *DHCP) Close() error { function NewServer (line 97) | func NewServer(ifname string, addr *net.UDPAddr, handler ...Handler) (*D... FILE: internal/dhcp/server/dhcp_test.go type mock (line 17) | type mock struct method Handle (line 27) | func (m *mock) Handle(_ context.Context, conn *ipv4.PacketConn, d data... method setOpts (line 57) | func (m *mock) setOpts() []dhcpv4.Modifier { function dhcp (line 71) | func dhcp(ctx context.Context) (*dhcpv4.DHCPv4, error) { function TestServe (line 88) | func TestServe(t *testing.T) { FILE: internal/ipxe/http/http.go type Config (line 19) | type Config struct method ServeHTTP (line 31) | func (s *Config) ServeHTTP(ctx context.Context, addr string, handlers ... method serveHealthchecker (line 91) | func (s *Config) serveHealthchecker(rev string, start time.Time) http.... type HandlerMapping (line 27) | type HandlerMapping function otelFuncWrapper (line 112) | func otelFuncWrapper(route string, h func(w http.ResponseWriter, req *ht... FILE: internal/ipxe/http/middleware.go type loggingMiddleware (line 12) | type loggingMiddleware struct method ServeHTTP (line 18) | func (h *loggingMiddleware) ServeHTTP(w http.ResponseWriter, req *http... type responseWriter (line 41) | type responseWriter struct method Write (line 46) | func (w *responseWriter) Write(b []byte) (int, error) { method WriteHeader (line 58) | func (w *responseWriter) WriteHeader(code int) { function clientIP (line 65) | func clientIP(str string) string { FILE: internal/ipxe/http/xff.go type xffOptions (line 33) | type xffOptions struct type xff (line 43) | type xff struct method Handler (line 65) | func (xff *xff) Handler(h http.Handler) http.Handler { method allowed (line 134) | func (xff *xff) allowed(sip string) bool { function newXFF (line 51) | func newXFF(options xffOptions) (*xff, error) { function getRemoteAddrIfAllowed (line 74) | func getRemoteAddrIfAllowed(r *http.Request, allowed func(sip string) bo... function parse (line 88) | func parse(ipList string, allowed func(string) bool) string { function toMasks (line 121) | func toMasks(ips []string) (masks []net.IPNet, err error) { function ipInMasks (line 144) | func ipInMasks(ip net.IP, masks []net.IPNet) bool { FILE: internal/ipxe/http/xff_test.go function TestParse_none (line 33) | func TestParse_none(t *testing.T) { function allowAll (line 38) | func allowAll(string) bool { return true } function TestParse_localhost (line 40) | func TestParse_localhost(t *testing.T) { function TestParse_invalid (line 45) | func TestParse_invalid(t *testing.T) { function TestParse_invalid_sioux (line 50) | func TestParse_invalid_sioux(t *testing.T) { function TestParse_invalid_private_lookalike (line 55) | func TestParse_invalid_private_lookalike(t *testing.T) { function TestParse_valid (line 60) | func TestParse_valid(t *testing.T) { function TestParse_multi_first (line 65) | func TestParse_multi_first(t *testing.T) { function TestParse_multi_with_invalid (line 70) | func TestParse_multi_with_invalid(t *testing.T) { function TestParse_multi_with_invalid2 (line 75) | func TestParse_multi_with_invalid2(t *testing.T) { function TestParse_multi_with_invalid_sioux (line 80) | func TestParse_multi_with_invalid_sioux(t *testing.T) { function TestParse_ipv6_with_port (line 85) | func TestParse_ipv6_with_port(t *testing.T) { function TestToMasks_empty (line 90) | func TestToMasks_empty(t *testing.T) { function TestToMasks (line 97) | func TestToMasks(t *testing.T) { function TestToMasks_error (line 106) | func TestToMasks_error(t *testing.T) { function TestAllowed_all (line 113) | func TestAllowed_all(t *testing.T) { function TestAllowed_yes (line 120) | func TestAllowed_yes(t *testing.T) { function TestAllowed_no (line 132) | func TestAllowed_no(t *testing.T) { function TestParseUnallowedMidway (line 144) | func TestParseUnallowedMidway(t *testing.T) { function TestParseMany (line 152) | func TestParseMany(t *testing.T) { FILE: internal/ipxe/script/auto.go function GenerateTemplate (line 8) | func GenerateTemplate(d any, script string) (string, error) { FILE: internal/ipxe/script/auto_test.go function TestGenerateTemplate (line 9) | func TestGenerateTemplate(t *testing.T) { FILE: internal/ipxe/script/custom.go type Custom (line 20) | type Custom struct FILE: internal/ipxe/script/hook.go type Hook (line 51) | type Hook struct FILE: internal/ipxe/script/ipxe.go type Handler (line 21) | type Handler struct method HandlerFunc (line 108) | func (h *Handler) HandlerFunc() http.HandlerFunc { method serveStaticIPXEScript (line 173) | func (h *Handler) serveStaticIPXEScript(w http.ResponseWriter) { method serveBootScript (line 215) | func (h *Handler) serveBootScript(ctx context.Context, w http.Response... method defaultScript (line 262) | func (h *Handler) defaultScript(span trace.Span, hw data) (string, err... method customScript (line 307) | func (h *Handler) customScript(hw data) (string, error) { type data (line 35) | type data struct type OSIE (line 49) | type OSIE struct function getByMac (line 60) | func getByMac(ctx context.Context, mac net.HardwareAddr, br handler.Back... function getByIP (line 83) | func getByIP(ctx context.Context, ip net.IP, br handler.BackendReader) (... function getIP (line 195) | func getIP(remoteAddr string) (net.IP, error) { function getMAC (line 205) | func getMAC(urlPath string) (net.HardwareAddr, error) { FILE: internal/ipxe/script/ipxe_test.go function TestCustomScript (line 15) | func TestCustomScript(t *testing.T) { function TestDefaultScript (line 48) | func TestDefaultScript(t *testing.T) { function TestStaticScript (line 117) | func TestStaticScript(t *testing.T) { FILE: internal/iso/internal/acsii.go function EqualFold (line 9) | func EqualFold(s, t string) bool { function lower (line 22) | func lower(b byte) byte { function IsPrint (line 31) | func IsPrint(s string) bool { FILE: internal/iso/internal/acsii_test.go function TestEqualFold (line 9) | func TestEqualFold(t *testing.T) { function TestIsPrint (line 47) | func TestIsPrint(t *testing.T) { FILE: internal/iso/internal/context.go type patchCtxKeyType (line 5) | type patchCtxKeyType constant isoPatchCtxKey (line 7) | isoPatchCtxKey patchCtxKeyType = "iso-patch" function WithPatch (line 9) | func WithPatch(ctx context.Context, patch []byte) context.Context { function GetPatch (line 13) | func GetPatch(ctx context.Context) []byte { FILE: internal/iso/internal/reverseproxy.go type ProxyRequest (line 29) | type ProxyRequest struct method SetURL (line 53) | func (r *ProxyRequest) SetURL(target *url.URL) { method SetXForwarded (line 77) | func (r *ProxyRequest) SetXForwarded() { type ReverseProxy (line 102) | type ReverseProxy struct method defaultErrorHandler (line 313) | func (p *ReverseProxy) defaultErrorHandler(rw http.ResponseWriter, req... method getErrorHandler (line 318) | func (p *ReverseProxy) getErrorHandler() func(http.ResponseWriter, *ht... method modifyResponse (line 327) | func (p *ReverseProxy) modifyResponse(rw http.ResponseWriter, res *htt... method ServeHTTP (line 339) | func (p *ReverseProxy) ServeHTTP(rw http.ResponseWriter, req *http.Req... method flushInterval (line 607) | func (p *ReverseProxy) flushInterval(res *http.Response) time.Duration { method copyResponse (line 624) | func (p *ReverseProxy) copyResponse(ctx context.Context, dst http.Resp... method copyBuffer (line 660) | func (p *ReverseProxy) copyBuffer(dst io.Writer, src io.Reader, buf []... method logf (line 691) | func (p *ReverseProxy) logf(format string, args ...any) { method handleUpgradeResponse (line 755) | func (p *ReverseProxy) handleUpgradeResponse(rw http.ResponseWriter, r... type BufferPool (line 207) | type BufferPool interface type CopyBuffer (line 212) | type CopyBuffer interface function singleJoiningSlash (line 216) | func singleJoiningSlash(a, b string) string { function joinURLPath (line 228) | func joinURLPath(a, b *url.URL) (path, rawpath string) { function NewSingleHostReverseProxy (line 269) | func NewSingleHostReverseProxy(target *url.URL) *ReverseProxy { function rewriteRequestURL (line 276) | func rewriteRequestURL(req *http.Request, target *url.URL) { function copyHeader (line 288) | func copyHeader(dst, src http.Header) { function shouldPanicOnCopyError (line 572) | func shouldPanicOnCopyError(req *http.Request) bool { function removeHopByHopHeaders (line 588) | func removeHopByHopHeaders(h http.Header) { type maxLatencyWriter (line 699) | type maxLatencyWriter struct method Write (line 709) | func (m *maxLatencyWriter) Write(p []byte) (n int, err error) { method delayedFlush (line 729) | func (m *maxLatencyWriter) delayedFlush() { method stop (line 739) | func (m *maxLatencyWriter) stop() { function upgradeType (line 748) | func upgradeType(h http.Header) string { type switchProtocolCopier (line 818) | type switchProtocolCopier struct method copyFromBackend (line 822) | func (c switchProtocolCopier) copyFromBackend(errc chan<- error) { method copyToBackend (line 827) | func (c switchProtocolCopier) copyToBackend(errc chan<- error) { function cleanQueryParams (line 832) | func cleanQueryParams(s string) string { function ishex (line 853) | func ishex(c byte) bool { FILE: internal/iso/internal/reverseproxy_test.go constant fakeHopHeader (line 32) | fakeHopHeader = "X-Fake-Hop-Header-For-Test" function init (line 34) | func init() { function TestReverseProxy (line 39) | func TestReverseProxy(t *testing.T) { function TestReverseProxyStripHeadersPresentInConnection (line 157) | func TestReverseProxyStripHeadersPresentInConnection(t *testing.T) { function TestReverseProxyStripEmptyConnection (line 241) | func TestReverseProxyStripEmptyConnection(t *testing.T) { function TestXForwardedFor (line 299) | func TestXForwardedFor(t *testing.T) { function TestXForwardedFor_Omit (line 340) | func TestXForwardedFor_Omit(t *testing.T) { function TestReverseProxyRewriteStripsForwarded (line 372) | func TestReverseProxyRewriteStripsForwarded(t *testing.T) { function TestReverseProxyQuery (line 423) | func TestReverseProxyQuery(t *testing.T) { function TestReverseProxyFlushInterval (line 450) | func TestReverseProxyFlushInterval(t *testing.T) { type mockFlusher (line 480) | type mockFlusher struct method Flush (line 485) | func (m *mockFlusher) Flush() { type wrappedRW (line 489) | type wrappedRW struct method Unwrap (line 493) | func (w *wrappedRW) Unwrap() http.ResponseWriter { function TestReverseProxyResponseControllerFlushInterval (line 497) | func TestReverseProxyResponseControllerFlushInterval(t *testing.T) { function TestReverseProxyFlushIntervalHeaders (line 536) | func TestReverseProxyFlushIntervalHeaders(t *testing.T) { function TestReverseProxyCancellation (line 577) | func TestReverseProxyCancellation(t *testing.T) { function req (line 633) | func req(t *testing.T, v string) *http.Request { function TestNilBody (line 642) | func TestNilBody(t *testing.T) { function TestUserAgentHeader (line 672) | func TestUserAgentHeader(t *testing.T) { type bufferPool (line 707) | type bufferPool struct method Get (line 712) | func (bp bufferPool) Get() []byte { return bp.get() } method Put (line 713) | func (bp bufferPool) Put(v []byte) { bp.put(v) } function TestReverseProxyGetPutBuffer (line 715) | func TestReverseProxyGetPutBuffer(t *testing.T) { function TestReverseProxy_Post (line 772) | func TestReverseProxy_Post(t *testing.T) { type RoundTripperFunc (line 812) | type RoundTripperFunc method RoundTrip (line 814) | func (fn RoundTripperFunc) RoundTrip(req *http.Request) (*http.Respons... function TestReverseProxy_NilBody (line 819) | func TestReverseProxy_NilBody(t *testing.T) { function TestReverseProxy_AllocatedHeader (line 843) | func TestReverseProxy_AllocatedHeader(t *testing.T) { function TestReverseProxyModifyResponse (line 864) | func TestReverseProxyModifyResponse(t *testing.T) { type failingRoundTripper (line 903) | type failingRoundTripper struct method RoundTrip (line 905) | func (failingRoundTripper) RoundTrip(*http.Request) (*http.Response, e... type staticResponseRoundTripper (line 909) | type staticResponseRoundTripper struct method RoundTrip (line 911) | func (rt staticResponseRoundTripper) RoundTrip(*http.Request) (*http.R... function TestReverseProxyErrorHandler (line 915) | func TestReverseProxyErrorHandler(t *testing.T) { function TestReverseProxy_CopyBuffer (line 991) | func TestReverseProxy_CopyBuffer(t *testing.T) { type staticTransport (line 1035) | type staticTransport struct method RoundTrip (line 1039) | func (t *staticTransport) RoundTrip(r *http.Request) (*http.Response, ... function BenchmarkServeHTTP (line 1043) | func BenchmarkServeHTTP(b *testing.B) { function TestServeHTTPDeepCopy (line 1062) | func TestServeHTTPDeepCopy(t *testing.T) { function TestClonesRequestHeaders (line 1102) | func TestClonesRequestHeaders(t *testing.T) { type roundTripperFunc (line 1130) | type roundTripperFunc method RoundTrip (line 1132) | func (fn roundTripperFunc) RoundTrip(req *http.Request) (*http.Respons... function TestModifyResponseClosesBody (line 1136) | func TestModifyResponseClosesBody(t *testing.T) { type checkCloser (line 1167) | type checkCloser struct method Close (line 1171) | func (cc *checkCloser) Close() error { method Read (line 1176) | func (cc *checkCloser) Read(b []byte) (int, error) { function TestReverseProxy_PanicBodyError (line 1181) | func TestReverseProxy_PanicBodyError(t *testing.T) { function TestSelectFlushInterval (line 1255) | func TestSelectFlushInterval(t *testing.T) { function TestReverseProxyWebSocket (line 1335) | func TestReverseProxyWebSocket(t *testing.T) { function TestReverseProxyWebSocketCancellation (line 1421) | func TestReverseProxyWebSocketCancellation(t *testing.T) { function TestUnannouncedTrailer (line 1552) | func TestUnannouncedTrailer(t *testing.T) { function TestSetURL (line 1582) | func TestSetURL(t *testing.T) { function TestSingleJoinSlash (line 1616) | func TestSingleJoinSlash(t *testing.T) { function TestJoinURLPath (line 1639) | func TestJoinURLPath(t *testing.T) { function TestReverseProxyRewriteReplacesOut (line 1666) | func TestReverseProxyRewriteReplacesOut(t *testing.T) { function Test1xxHeadersNotModifiedAfterRoundTrip (line 1691) | func Test1xxHeadersNotModifiedAfterRoundTrip(t *testing.T) { function Test1xxResponses (line 1732) | func Test1xxResponses(t *testing.T) { constant testWantsCleanQuery (line 1813) | testWantsCleanQuery = true constant testWantsRawQuery (line 1814) | testWantsRawQuery = false function TestReverseProxyQueryParameterSmugglingDirectorDoesNotParseForm (line 1817) | func TestReverseProxyQueryParameterSmugglingDirectorDoesNotParseForm(t *... function TestReverseProxyQueryParameterSmugglingDirectorParsesForm (line 1828) | func TestReverseProxyQueryParameterSmugglingDirectorParsesForm(t *testin... function TestReverseProxyQueryParameterSmugglingRewrite (line 1842) | func TestReverseProxyQueryParameterSmugglingRewrite(t *testing.T) { function TestReverseProxyQueryParameterSmugglingRewritePreservesRawQuery (line 1852) | func TestReverseProxyQueryParameterSmugglingRewritePreservesRawQuery(t *... function testReverseProxyQueryParameterSmuggling (line 1863) | func testReverseProxyQueryParameterSmuggling(t *testing.T, wantCleanQuer... type testResponseWriter (line 1907) | type testResponseWriter struct method Header (line 1913) | func (rw *testResponseWriter) Header() http.Header { method WriteHeader (line 1920) | func (rw *testResponseWriter) WriteHeader(statusCode int) { method Write (line 1926) | func (rw *testResponseWriter) Write(p []byte) (int, error) { FILE: internal/iso/ipam.go function parseIPAM (line 12) | func parseIPAM(d *data.DHCP) string { FILE: internal/iso/ipam_test.go function TestParseIPAM (line 12) | func TestParseIPAM(t *testing.T) { FILE: internal/iso/iso.go constant defaultConsoles (line 26) | defaultConsoles = "console=ttyAMA0 console=ttyS0 console=tty0 console=tt... type BackendReader (line 30) | type BackendReader interface type Handler (line 38) | type Handler struct method HandlerFunc (line 61) | func (h *Handler) HandlerFunc() (http.HandlerFunc, error) { method Copy (line 86) | func (h *Handler) Copy(ctx context.Context, dst io.Writer, src io.Read... method RoundTrip (line 130) | func (h *Handler) RoundTrip(req *http.Request) (*http.Response, error) { method constructPatch (line 226) | func (h *Handler) constructPatch(console, mac string, d *data.DHCP) st... method getFacility (line 256) | func (h *Handler) getFacility(ctx context.Context, mac net.HardwareAdd... function getMAC (line 246) | func getMAC(urlPath string) (net.HardwareAddr, error) { function randomPercentage (line 269) | func randomPercentage(precision int64) float64 { FILE: internal/iso/iso_test.go constant magicString (line 24) | magicString = `464vn90e7rbj08xbwdjejmdf4it17c5zfzjyfhthbh19eij201hjgit02... function TestReqPathInvalid (line 26) | func TestReqPathInvalid(t *testing.T) { function TestCreateISO (line 58) | func TestCreateISO(t *testing.T) { function TestPatching (line 107) | func TestPatching(t *testing.T) { type mockBackend (line 178) | type mockBackend struct method GetByMac (line 180) | func (m *mockBackend) GetByMac(context.Context, net.HardwareAddr) (*da... method GetByIP (line 188) | func (m *mockBackend) GetByIP(context.Context, net.IP) (*data.DHCP, *d... FILE: internal/metric/metric.go function Init (line 20) | func Init() { function initCounterLabels (line 98) | func initCounterLabels(m *prometheus.CounterVec, l []prometheus.Labels) { function initGaugeLabels (line 104) | func initGaugeLabels(m *prometheus.GaugeVec, l []prometheus.Labels) { function initObserverLabels (line 110) | func initObserverLabels(m prometheus.ObserverVec, l []prometheus.Labels) { FILE: internal/otel/otel.go type SimpleCarrier (line 40) | type SimpleCarrier method Get (line 43) | func (otp SimpleCarrier) Get(key string) string { method Set (line 48) | func (otp SimpleCarrier) Set(key, value string) { method Keys (line 53) | func (otp SimpleCarrier) Keys() []string { method Clear (line 62) | func (otp SimpleCarrier) Clear() { function TraceparentStringFromContext (line 70) | func TraceparentStringFromContext(ctx context.Context) string { function ContextWithEnvTraceparent (line 82) | func ContextWithEnvTraceparent(ctx context.Context) context.Context { function ContextWithTraceparentString (line 93) | func ContextWithTraceparentString(ctx context.Context, traceparent strin... type Config (line 103) | type Config struct method initTracing (line 122) | func (c Config) initTracing(ctx context.Context) (context.Context, con... method Handle (line 203) | func (c Config) Handle(err error) { function Init (line 112) | func Init(ctx context.Context, c Config) (context.Context, context.Cance... FILE: internal/syslog/facility_string.go function _ (line 7) | func _() { constant _facility_name (line 37) | _facility_name = "kernusermaildaemonauthsysloglprnewsuucpclockauthprivft... method String (line 41) | func (i facility) String() string { FILE: internal/syslog/message.go type facility (line 12) | type facility constant kern (line 15) | kern facility = iota constant user (line 16) | user constant mail (line 17) | mail constant daemon (line 18) | daemon constant auth (line 19) | auth constant syslog (line 20) | syslog constant lpr (line 21) | lpr constant news (line 22) | news constant uucp (line 23) | uucp constant clock (line 24) | clock constant authpriv (line 25) | authpriv constant ftp (line 26) | ftp constant ntp (line 27) | ntp constant audit (line 28) | audit constant alert (line 29) | alert constant cron (line 30) | cron constant local0 (line 31) | local0 constant local1 (line 32) | local1 constant local2 (line 33) | local2 constant local3 (line 34) | local3 constant local4 (line 35) | local4 constant local5 (line 36) | local5 constant local6 (line 37) | local6 constant local7 (line 38) | local7 type severity (line 42) | type severity constant EMERG (line 45) | EMERG severity = iota constant ALERT (line 46) | ALERT constant CRIT (line 47) | CRIT constant ERR (line 48) | ERR constant WARNING (line 49) | WARNING constant NOTICE (line 50) | NOTICE constant INFO (line 51) | INFO constant DEBUG (line 52) | DEBUG type message (line 55) | type message struct method Facility (line 70) | func (m *message) Facility() facility { method Host (line 74) | func (m *message) Host() string { method Severity (line 78) | func (m *message) Severity() severity { method String (line 84) | func (m *message) String() string { method Timestamp (line 120) | func (m *message) Timestamp() time.Time { method correctLegacyTime (line 124) | func (m *message) correctLegacyTime(t time.Time) { method parse (line 139) | func (m *message) parse() bool { method parseHeader (line 153) | func (m *message) parseHeader() bool { method parseStructuredData (line 169) | func (m *message) parseStructuredData() bool { method parseLegacyHeader (line 179) | func (m *message) parseLegacyHeader() bool { method parseLegacyTag (line 207) | func (m *message) parseLegacyTag() { method parsePriority (line 249) | func (m *message) parsePriority() bool { method parseTimestamp (line 270) | func (m *message) parseTimestamp(b []byte) bool { method parseVersion (line 291) | func (m *message) parseVersion() bool { method reset (line 306) | func (m *message) reset() { method trimSeverityPrefix (line 315) | func (m *message) trimSeverityPrefix() { method trimTimePrefix (line 320) | func (m *message) trimTimePrefix() { method trimCarriageReturns (line 324) | func (m *message) trimCarriageReturns() { function ignoreNil (line 331) | func ignoreNil(b []byte) []byte { FILE: internal/syslog/receiver.go type Receiver (line 20) | type Receiver struct method Done (line 59) | func (r *Receiver) Done() <-chan struct{} { method Err (line 63) | func (r *Receiver) Err() error { method cleanup (line 67) | func (r *Receiver) cleanup() { method run (line 74) | func (r *Receiver) run(ctx context.Context) { method runParser (line 152) | func (r *Receiver) runParser() { function StartReceiver (line 29) | func StartReceiver(ctx context.Context, logger logr.Logger, laddr string... function parse (line 117) | func parse(m *message) map[string]interface{} { FILE: internal/syslog/severity_string.go function _ (line 7) | func _() { constant _severity_name (line 21) | _severity_name = "EMERGALERTCRITERRWARNINGNOTICEINFODEBUG" method String (line 25) | func (i severity) String() string {