Documentation ¶
Index ¶
- Variables
- func AppID(file string) (string, error)
- type Action
- type CalloutID
- type ConditionFlag
- type DropEvent
- type Field
- type FieldID
- type IPProto
- type Layer
- type LayerID
- type Match
- type MatchType
- type Options
- type Provider
- type ProviderID
- type Range
- type Rule
- type RuleID
- type Session
- func (s *Session) AddProvider(p *Provider) error
- func (s *Session) AddRule(r *Rule) error
- func (s *Session) AddSublayer(sl *Sublayer) error
- func (s *Session) Close() error
- func (s *Session) DeleteProvider(id ProviderID) error
- func (s *Session) DeleteRule(id RuleID) error
- func (s *Session) DeleteSublayer(id SublayerID) error
- func (s *Session) DropEvents() ([]*DropEvent, error)
- func (s *Session) Layers() ([]*Layer, error)
- func (s *Session) Providers() ([]*Provider, error)
- func (s *Session) Rules() ([]*Rule, error)
- func (s *Session) RulesForProvider(provider ProviderID, layer LayerID) ([]*Rule, error)
- func (s *Session) Sublayers(providers ...ProviderID) ([]*Sublayer, error)
- func (s *Session) TransactionAbort() error
- func (s *Session) TransactionBegin() error
- func (s *Session) TransactionCommit() error
- type Sublayer
- type SublayerID
- type TokenAccessInformation
- type TokenInformation
Constants ¶
This section is empty.
Variables ¶
var ( FieldALEAppID = FieldID{0xd78e1e87, 0x8644, 0x4ea5, [8]byte{0x94, 0x37, 0xd8, 0x09, 0xec, 0xef, 0xc9, 0x71}} FieldALEEffectiveName = FieldID{0xb1277b9a, 0xb781, 0x40fc, [8]byte{0x96, 0x71, 0xe5, 0xf1, 0xb9, 0x89, 0xf3, 0x4e}} FieldALENAPContext = FieldID{0x46275a9d, 0xc03f, 0x4d77, [8]byte{0xb7, 0x84, 0x1c, 0x57, 0xf4, 0xd0, 0x27, 0x53}} FieldALEOriginalAppID = FieldID{0x0e6cd086, 0xe1fb, 0x4212, [8]byte{0x84, 0x2f, 0x8a, 0x9f, 0x99, 0x3f, 0xb3, 0xf6}} FieldALEPackageID = FieldID{0x71bc78fa, 0xf17c, 0x4997, [8]byte{0xa6, 0x2, 0x6a, 0xbb, 0x26, 0x1f, 0x35, 0x1c}} FieldALEPromiscuousMode = FieldID{0x1c974776, 0x7182, 0x46e9, [8]byte{0xaf, 0xd3, 0xb0, 0x29, 0x10, 0xe3, 0x03, 0x34}} FieldALEReauthReason = FieldID{0xb482d227, 0x1979, 0x4a98, [8]byte{0x80, 0x44, 0x18, 0xbb, 0xe6, 0x23, 0x75, 0x42}} FieldALERemoteMachineID = FieldID{0x1aa47f51, 0x7f93, 0x4508, [8]byte{0xa2, 0x71, 0x81, 0xab, 0xb0, 0x0c, 0x9c, 0xab}} FieldALERemoteUserID = FieldID{0xf63073b7, 0x0189, 0x4ab0, [8]byte{0x95, 0xa4, 0x61, 0x23, 0xcb, 0xfa, 0xb8, 0x62}} FieldALESecurityAttributeFqbnValue = FieldID{0x37a57699, 0x5883, 0x4963, [8]byte{0x92, 0xb8, 0x3e, 0x70, 0x46, 0x88, 0xb0, 0xad}} FieldALESioFirewallSystemPort = FieldID{0xb9f4e088, 0xcb98, 0x4efb, [8]byte{0xa2, 0xc7, 0xad, 0x07, 0x33, 0x26, 0x43, 0xdb}} FieldALEUserID = FieldID{0xaf043a0a, 0xb34d, 0x4f86, [8]byte{0x97, 0x9c, 0xc9, 0x03, 0x71, 0xaf, 0x6e, 0x66}} FieldArrivalInterfaceIndex = FieldID{0xcc088db3, 0x1792, 0x4a71, [8]byte{0xb0, 0xf9, 0x03, 0x7d, 0x21, 0xcd, 0x82, 0x8b}} FieldArrivalInterfaceProfileID = FieldID{0xcdfe6aab, 0xc083, 0x4142, [8]byte{0x86, 0x79, 0xc0, 0x8f, 0x95, 0x32, 0x9c, 0x61}} FieldArrivalInterfaceType = FieldID{0x89f990de, 0xe798, 0x4e6d, [8]byte{0xab, 0x76, 0x7c, 0x95, 0x58, 0x29, 0x2e, 0x6f}} FieldArrivalTunnelType = FieldID{0x511166dc, 0x7a8c, 0x4aa7, [8]byte{0xb5, 0x33, 0x95, 0xab, 0x59, 0xfb, 0x03, 0x40}} FieldAuthenticationType = FieldID{0xeb458cd5, 0xda7b, 0x4ef9, [8]byte{0x8d, 0x43, 0x7b, 0x0a, 0x84, 0x03, 0x32, 0xf2}} FieldBitmapIPLocalAddress = FieldID{0x16ebc3df, 0x957a, 0x452e, [8]byte{0xa1, 0xfc, 0x3d, 0x2f, 0xf6, 0xa7, 0x30, 0xba}} FieldBitmapIPLocalPort = FieldID{0x9f90a920, 0xc3b5, 0x4569, [8]byte{0xba, 0x31, 0x8b, 0xd3, 0x91, 0xd, 0xc6, 0x56}} FieldBitmapIPRemoteAddress = FieldID{0x33f00e25, 0x8eec, 0x4531, [8]byte{0xa0, 0x5, 0x41, 0xb9, 0x11, 0xf6, 0x24, 0x52}} FieldBitmapIPRemotePort = FieldID{0x2663d549, 0xaaf2, 0x46a2, [8]byte{0x86, 0x66, 0x1e, 0x76, 0x67, 0xf8, 0x69, 0x85}} FieldBitmapIndexKey = FieldID{0xf36514c, 0x3226, 0x4a81, [8]byte{0xa2, 0x14, 0x2d, 0x51, 0x8b, 0x4, 0xd0, 0x8a}} FieldClientCertKeyLength = FieldID{0xa3ec00c7, 0x05f4, 0x4df7, [8]byte{0x91, 0xf2, 0x5f, 0x60, 0xd9, 0x1f, 0xf4, 0x43}} FieldClientCertOid = FieldID{0xc491ad5e, 0xf882, 0x4283, [8]byte{0xb9, 0x16, 0x43, 0x6b, 0x10, 0x3f, 0xf4, 0xad}} FieldClientToken = FieldID{0xc228fc1e, 0x403a, 0x4478, [8]byte{0xbe, 0x05, 0xc9, 0xba, 0xa4, 0xc0, 0x5a, 0xce}} FieldCompartmentID = FieldID{0x35a791ab, 0x4ac, 0x4ff2, [8]byte{0xa6, 0xbb, 0xda, 0x6c, 0xfa, 0xc7, 0x18, 0x6}} FieldCurrentProfileID = FieldID{0xab3033c9, 0xc0e3, 0x4759, [8]byte{0x93, 0x7d, 0x57, 0x58, 0xc6, 0x5d, 0x4a, 0xe3}} FieldDCOMAppID = FieldID{0xff2e7b4d, 0x3112, 0x4770, [8]byte{0xb6, 0x36, 0x4d, 0x24, 0xae, 0x3a, 0x6a, 0xf2}} FieldDestinationInterfaceIndex = FieldID{0x35cf6522, 0x4139, 0x45ee, [8]byte{0xa0, 0xd5, 0x67, 0xb8, 0x09, 0x49, 0xd8, 0x79}} FieldDestinationSubInterfaceIndex = FieldID{0x2b7d4399, 0xd4c7, 0x4738, [8]byte{0xa2, 0xf5, 0xe9, 0x94, 0xb4, 0x3d, 0xa3, 0x88}} FieldDirection = FieldID{0x8784c146, 0xca97, 0x44d6, [8]byte{0x9f, 0xd1, 0x19, 0xfb, 0x18, 0x40, 0xcb, 0xf7}} FieldEmbeddedLocalAddressType = FieldID{0x4672a468, 0x8a0a, 0x4202, [8]byte{0xab, 0xb4, 0x84, 0x9e, 0x92, 0xe6, 0x68, 0x09}} FieldEmbeddedLocalPort = FieldID{0xbfca394d, 0xacdb, 0x484e, [8]byte{0xb8, 0xe6, 0x2a, 0xff, 0x79, 0x75, 0x73, 0x45}} FieldEmbeddedProtocol = FieldID{0x07784107, 0xa29e, 0x4c7b, [8]byte{0x9e, 0xc7, 0x29, 0xc4, 0x4a, 0xfa, 0xfd, 0xbc}} FieldEmbeddedRemoteAddress = FieldID{0x77ee4b39, 0x3273, 0x4671, [8]byte{0xb6, 0x3b, 0xab, 0x6f, 0xeb, 0x66, 0xee, 0xb6}} FieldEmbeddedRemotePort = FieldID{0xcae4d6a1, 0x2968, 0x40ed, [8]byte{0xa4, 0xce, 0x54, 0x71, 0x60, 0xdd, 0xa8, 0x8d}} FieldEtherType = FieldID{0xfd08948d, 0xa219, 0x4d52, [8]byte{0xbb, 0x98, 0x1a, 0x55, 0x40, 0xee, 0x7b, 0x4e}} FieldFlags = FieldID{0x632ce23b, 0x5167, 0x435c, [8]byte{0x86, 0xd7, 0xe9, 0x03, 0x68, 0x4a, 0xa8, 0x0c}} FieldIPArrivalInterface = FieldID{0x618a9b6d, 0x386b, 0x4136, [8]byte{0xad, 0x6e, 0xb5, 0x15, 0x87, 0xcf, 0xb1, 0xcd}} FieldIPDestinationAddress = FieldID{0x2d79133b, 0xb390, 0x45c6, [8]byte{0x86, 0x99, 0xac, 0xac, 0xea, 0xaf, 0xed, 0x33}} FieldIPDestinationAddressType = FieldID{0x1ec1b7c9, 0x4eea, 0x4f5e, [8]byte{0xb9, 0xef, 0x76, 0xbe, 0xaa, 0xaf, 0x17, 0xee}} FieldIPDestinationPort = FieldID{0xce6def45, 0x60fb, 0x4a7b, [8]byte{0xa3, 0x04, 0xaf, 0x30, 0xa1, 0x17, 0x00, 0x0e}} FieldIPForwardInterface = FieldID{0x1076b8a5, 0x6323, 0x4c5e, [8]byte{0x98, 0x10, 0xe8, 0xd3, 0xfc, 0x9e, 0x61, 0x36}} FieldIPLocalAddress = FieldID{0xd9ee00de, 0xc1ef, 0x4617, [8]byte{0xbf, 0xe3, 0xff, 0xd8, 0xf5, 0xa0, 0x89, 0x57}} FieldIPLocalAddressType = FieldID{0x6ec7f6c4, 0x376b, 0x45d7, [8]byte{0x9e, 0x9c, 0xd3, 0x37, 0xce, 0xdc, 0xd2, 0x37}} FieldIPLocalAddressV4 = FieldID{0x03a629cb, 0x6e52, 0x49f8, [8]byte{0x9c, 0x41, 0x57, 0x09, 0x63, 0x3c, 0x09, 0xcf}} FieldIPLocalAddressV6 = FieldID{0x2381be84, 0x7524, 0x45b3, [8]byte{0xa0, 0x5b, 0x1e, 0x63, 0x7d, 0x9c, 0x7a, 0x6a}} FieldIPLocalInterface = FieldID{0x4cd62a49, 0x59c3, 0x4969, [8]byte{0xb7, 0xf3, 0xbd, 0xa5, 0xd3, 0x28, 0x90, 0xa4}} FieldIPLocalPort = FieldID{0x0c1ba1af, 0x5765, 0x453f, [8]byte{0xaf, 0x22, 0xa8, 0xf7, 0x91, 0xac, 0x77, 0x5b}} FieldIPNexthopAddress = FieldID{0xeabe448a, 0xa711, 0x4d64, [8]byte{0x85, 0xb7, 0x3f, 0x76, 0xb6, 0x52, 0x99, 0xc7}} FieldIPNexthopInterface = FieldID{0x93ae8f5b, 0x7f6f, 0x4719, [8]byte{0x98, 0xc8, 0x14, 0xe9, 0x74, 0x29, 0xef, 0x04}} FieldIPPhysicalArrivalInterface = FieldID{0xda50d5c8, 0xfa0d, 0x4c89, [8]byte{0xb0, 0x32, 0x6e, 0x62, 0x13, 0x6d, 0x1e, 0x96}} FieldIPPhysicalNexthopInterface = FieldID{0xf09bd5ce, 0x5150, 0x48be, [8]byte{0xb0, 0x98, 0xc2, 0x51, 0x52, 0xfb, 0x1f, 0x92}} FieldIPProtocol = FieldID{0x3971ef2b, 0x623e, 0x4f9a, [8]byte{0x8c, 0xb1, 0x6e, 0x79, 0xb8, 0x06, 0xb9, 0xa7}} FieldIPRemoteAddress = FieldID{0xb235ae9a, 0x1d64, 0x49b8, [8]byte{0xa4, 0x4c, 0x5f, 0xf3, 0xd9, 0x09, 0x50, 0x45}} FieldIPRemoteAddressV4 = FieldID{0x1febb610, 0x3bcc, 0x45e1, [8]byte{0xbc, 0x36, 0x2e, 0x06, 0x7e, 0x2c, 0xb1, 0x86}} FieldIPRemoteAddressV6 = FieldID{0x246e1d8c, 0x8bee, 0x4018, [8]byte{0x9b, 0x98, 0x31, 0xd4, 0x58, 0x2f, 0x33, 0x61}} FieldIPRemotePort = FieldID{0xc35a604d, 0xd22b, 0x4e1a, [8]byte{0x91, 0xb4, 0x68, 0xf6, 0x74, 0xee, 0x67, 0x4b}} FieldIPSecPolicyKey = FieldID{0xad37dee3, 0x722f, 0x45cc, [8]byte{0xa4, 0xe3, 0x06, 0x80, 0x48, 0x12, 0x44, 0x52}} FieldIPSecSecurityRealmID = FieldID{0x37a57700, 0x5884, 0x4964, [8]byte{0x92, 0xb8, 0x3e, 0x70, 0x46, 0x88, 0xb0, 0xad}} FieldIPSourceAddress = FieldID{0xae96897e, 0x2e94, 0x4bc9, [8]byte{0xb3, 0x13, 0xb2, 0x7e, 0xe8, 0x0e, 0x57, 0x4d}} FieldIPSourcePort = FieldID{0xa6afef91, 0x3df4, 0x4730, [8]byte{0xa2, 0x14, 0xf5, 0x42, 0x6a, 0xeb, 0xf8, 0x21}} FieldImageName = FieldID{0xd024de4d, 0xdeaa, 0x4317, [8]byte{0x9c, 0x85, 0xe4, 0x0e, 0xf6, 0xe1, 0x40, 0xc3}} FieldInterfaceIndex = FieldID{0x667fd755, 0xd695, 0x434a, [8]byte{0x8a, 0xf5, 0xd3, 0x83, 0x5a, 0x12, 0x59, 0xbc}} FieldInterfaceMACAddress = FieldID{0xf6e63dce, 0x1f4b, 0x4c6b, [8]byte{0xb6, 0xef, 0x11, 0x65, 0xe7, 0x1f, 0x8e, 0xe7}} FieldInterfaceQuarantineEpoch = FieldID{0xcce68d5e, 0x053b, 0x43a8, [8]byte{0x9a, 0x6f, 0x33, 0x38, 0x4c, 0x28, 0xe4, 0xf6}} FieldInterfaceType = FieldID{0xdaf8cd14, 0xe09e, 0x4c93, [8]byte{0xa5, 0xae, 0xc5, 0xc1, 0x3b, 0x73, 0xff, 0xca}} FieldKMAuthNAPContext = FieldID{0x35d0ea0e, 0x15ca, 0x492b, [8]byte{0x90, 0x0e, 0x97, 0xfd, 0x46, 0x35, 0x2c, 0xce}} FieldKMMode = FieldID{0xfeef4582, 0xef8f, 0x4f7b, [8]byte{0x85, 0x8b, 0x90, 0x77, 0xd1, 0x22, 0xde, 0x47}} FieldKMType = FieldID{0xff0f5f49, 0x0ceb, 0x481b, [8]byte{0x86, 0x38, 0x14, 0x79, 0x79, 0x1f, 0x3f, 0x2c}} FieldL2Flags = FieldID{0x7bc43cbf, 0x37ba, 0x45f1, [8]byte{0xb7, 0x4a, 0x82, 0xff, 0x51, 0x8e, 0xeb, 0x10}} FieldLocalInterfaceProfileID = FieldID{0x4ebf7562, 0x9f18, 0x4d06, [8]byte{0x99, 0x41, 0xa7, 0xa6, 0x25, 0x74, 0x4d, 0x71}} FieldMACDestinationAddress = FieldID{0x04ea2a93, 0x858c, 0x4027, [8]byte{0xb6, 0x13, 0xb4, 0x31, 0x80, 0xc7, 0x85, 0x9e}} FieldMACDestinationAddressType = FieldID{0xae052932, 0xef42, 0x4e99, [8]byte{0xb1, 0x29, 0xf3, 0xb3, 0x13, 0x9e, 0x34, 0xf7}} FieldMACLocalAddress = FieldID{0xd999e981, 0x7948, 0x4c83, [8]byte{0xb7, 0x42, 0xc8, 0x4e, 0x3b, 0x67, 0x8f, 0x8f}} FieldMACLocalAddressType = FieldID{0xcc31355c, 0x3073, 0x4ffb, [8]byte{0xa1, 0x4f, 0x79, 0x41, 0x5c, 0xb1, 0xea, 0xd1}} FieldMACRemoteAddress = FieldID{0x408f2ed4, 0x3a70, 0x4b4d, [8]byte{0x92, 0xa6, 0x41, 0x5a, 0xc2, 0x0e, 0x2f, 0x12}} FieldMACRemoteAddressType = FieldID{0x027fedb4, 0xf1c1, 0x4030, [8]byte{0xb5, 0x64, 0xee, 0x77, 0x7f, 0xd8, 0x67, 0xea}} FieldMACSourceAddress = FieldID{0x7b795451, 0xf1f6, 0x4d05, [8]byte{0xb7, 0xcb, 0x21, 0x77, 0x9d, 0x80, 0x23, 0x36}} FieldMACSourceAddressType = FieldID{0x5c1b72e4, 0x299e, 0x4437, [8]byte{0xa2, 0x98, 0xbc, 0x3f, 0x01, 0x4b, 0x3d, 0xc2}} FieldNdisMediaType = FieldID{0xcb31cef1, 0x791d, 0x473b, [8]byte{0x89, 0xd1, 0x61, 0xc5, 0x98, 0x43, 0x04, 0xa0}} FieldNdisPhysicalMediaType = FieldID{0x34c79823, 0xc229, 0x44f2, [8]byte{0xb8, 0x3c, 0x74, 0x02, 0x08, 0x82, 0xae, 0x77}} FieldNdisPort = FieldID{0xdb7bb42b, 0x2dac, 0x4cd4, [8]byte{0xa5, 0x9a, 0xe0, 0xbd, 0xce, 0x1e, 0x68, 0x34}} FieldNetEventType = FieldID{0x206e9996, 0x490e, 0x40cf, [8]byte{0xb8, 0x31, 0xb3, 0x86, 0x41, 0xeb, 0x6f, 0xcb}} FieldNexthopInterfaceIndex = FieldID{0x138e6888, 0x7ab8, 0x4d65, [8]byte{0x9e, 0xe8, 0x05, 0x91, 0xbc, 0xf6, 0xa4, 0x94}} FieldNexthopInterfaceProfileID = FieldID{0xd7ff9a56, 0xcdaa, 0x472b, [8]byte{0x84, 0xdb, 0xd2, 0x39, 0x63, 0xc1, 0xd1, 0xbf}} FieldNexthopInterfaceType = FieldID{0x97537c6c, 0xd9a3, 0x4767, [8]byte{0xa3, 0x81, 0xe9, 0x42, 0x67, 0x5c, 0xd9, 0x20}} FieldNexthopSubInterfaceIndex = FieldID{0xef8a6122, 0x0577, 0x45a7, [8]byte{0x9a, 0xaf, 0x82, 0x5f, 0xbe, 0xb4, 0xfb, 0x95}} FieldNexthopTunnelType = FieldID{0x72b1a111, 0x987b, 0x4720, [8]byte{0x99, 0xdd, 0xc7, 0xc5, 0x76, 0xfa, 0x2d, 0x4c}} FieldOriginalICMPType = FieldID{0x076dfdbe, 0xc56c, 0x4f72, [8]byte{0xae, 0x8a, 0x2c, 0xfe, 0x7e, 0x5c, 0x82, 0x86}} FieldOriginalProfileID = FieldID{0x46ea1551, 0x2255, 0x492b, [8]byte{0x80, 0x19, 0xaa, 0xbe, 0xee, 0x34, 0x9f, 0x40}} FieldPeerName = FieldID{0x9b539082, 0xeb90, 0x4186, [8]byte{0xa6, 0xcc, 0xde, 0x5b, 0x63, 0x23, 0x50, 0x16}} FieldPipe = FieldID{0x1bd0741d, 0xe3df, 0x4e24, [8]byte{0x86, 0x34, 0x76, 0x20, 0x46, 0xee, 0xf6, 0xeb}} FieldProcessWithRPCIfUUID = FieldID{0xe31180a8, 0xbbbd, 0x4d14, [8]byte{0xa6, 0x5e, 0x71, 0x57, 0xb0, 0x62, 0x33, 0xbb}} FieldQMMode = FieldID{0xf64fc6d1, 0xf9cb, 0x43d2, [8]byte{0x8a, 0x5f, 0xe1, 0x3b, 0xc8, 0x94, 0xf2, 0x65}} FieldRPCAuthLevel = FieldID{0xe5a0aed5, 0x59ac, 0x46ea, [8]byte{0xbe, 0x05, 0xa5, 0xf0, 0x5e, 0xcf, 0x44, 0x6e}} FieldRPCAuthType = FieldID{0xdaba74ab, 0x0d67, 0x43e7, [8]byte{0x98, 0x6e, 0x75, 0xb8, 0x4f, 0x82, 0xf5, 0x94}} FieldRPCEPFlags = FieldID{0x218b814a, 0x0a39, 0x49b8, [8]byte{0x8e, 0x71, 0xc2, 0x0c, 0x39, 0xc7, 0xdd, 0x2e}} FieldRPCEPValue = FieldID{0xdccea0b9, 0x0886, 0x4360, [8]byte{0x9c, 0x6a, 0xab, 0x04, 0x3a, 0x24, 0xfb, 0xa9}} FieldRPCIfFlag = FieldID{0x238a8a32, 0x3199, 0x467d, [8]byte{0x87, 0x1c, 0x27, 0x26, 0x21, 0xab, 0x38, 0x96}} FieldRPCIfUUID = FieldID{0x7c9c7d9f, 0x0075, 0x4d35, [8]byte{0xa0, 0xd1, 0x83, 0x11, 0xc4, 0xcf, 0x6a, 0xf1}} FieldRPCIfVersion = FieldID{0xeabfd9b7, 0x1262, 0x4a2e, [8]byte{0xad, 0xaa, 0x5f, 0x96, 0xf6, 0xfe, 0x32, 0x6d}} FieldRPCProtocol = FieldID{0x2717bc74, 0x3a35, 0x4ce7, [8]byte{0xb7, 0xef, 0xc8, 0x38, 0xfa, 0xbd, 0xec, 0x45}} FieldRPCProxyAuthType = FieldID{0x40953fe2, 0x8565, 0x4759, [8]byte{0x84, 0x88, 0x17, 0x71, 0xb4, 0xb4, 0xb5, 0xdb}} FieldRPCServerName = FieldID{0xb605a225, 0xc3b3, 0x48c7, [8]byte{0x98, 0x33, 0x7a, 0xef, 0xa9, 0x52, 0x75, 0x46}} FieldRPCServerPort = FieldID{0x8090f645, 0x9ad5, 0x4e3b, [8]byte{0x9f, 0x9f, 0x80, 0x23, 0xca, 0x09, 0x79, 0x09}} FieldRemoteID = FieldID{0xf68166fd, 0x0682, 0x4c89, [8]byte{0xb8, 0xf5, 0x86, 0x43, 0x6c, 0x7e, 0xf9, 0xb7}} FieldRemoteUserToken = FieldID{0x9bf0ee66, 0x06c9, 0x41b9, [8]byte{0x84, 0xda, 0x28, 0x8c, 0xb4, 0x3a, 0xf5, 0x1f}} FieldReserved0 = FieldID{0x678f4deb, 0x45af, 0x4882, [8]byte{0x93, 0xfe, 0x19, 0xd4, 0x72, 0x9d, 0x98, 0x34}} FieldReserved1 = FieldID{0xd818f827, 0x5c69, 0x48eb, [8]byte{0xbf, 0x80, 0xd8, 0x6b, 0x17, 0x75, 0x5f, 0x97}} FieldReserved10 = FieldID{0xb979e282, 0xd621, 0x4c8c, [8]byte{0xb1, 0x84, 0xb1, 0x05, 0xa6, 0x1c, 0x36, 0xce}} FieldReserved11 = FieldID{0x2d62ee4d, 0x023d, 0x411f, [8]byte{0x95, 0x82, 0x43, 0xac, 0xbb, 0x79, 0x59, 0x75}} FieldReserved12 = FieldID{0xa3677c32, 0x7e35, 0x4ddc, [8]byte{0x93, 0xda, 0xe8, 0xc3, 0x3f, 0xc9, 0x23, 0xc7}} FieldReserved13 = FieldID{0x335a3e90, 0x84aa, 0x42f5, [8]byte{0x9e, 0x6f, 0x59, 0x30, 0x95, 0x36, 0xa4, 0x4c}} FieldReserved14 = FieldID{0x30e44da2, 0x2f1a, 0x4116, [8]byte{0xa5, 0x59, 0xf9, 0x07, 0xde, 0x83, 0x60, 0x4a}} FieldReserved15 = FieldID{0xbab8340f, 0xafe0, 0x43d1, [8]byte{0x80, 0xd8, 0x5c, 0xa4, 0x56, 0x96, 0x2d, 0xe3}} FieldReserved2 = FieldID{0x53d4123d, 0xe15b, 0x4e84, [8]byte{0xb7, 0xa8, 0xdc, 0xe1, 0x6f, 0x7b, 0x62, 0xd9}} FieldReserved3 = FieldID{0x7f6e8ca3, 0x6606, 0x4932, [8]byte{0x97, 0xc7, 0xe1, 0xf2, 0x07, 0x10, 0xaf, 0x3b}} FieldReserved4 = FieldID{0x5f58e642, 0xb937, 0x495e, [8]byte{0xa9, 0x4b, 0xf6, 0xb0, 0x51, 0xa4, 0x92, 0x50}} FieldReserved5 = FieldID{0x9ba8f6cd, 0xf77c, 0x43e6, [8]byte{0x88, 0x47, 0x11, 0x93, 0x9d, 0xc5, 0xdb, 0x5a}} FieldReserved6 = FieldID{0xf13d84bd, 0x59d5, 0x44c4, [8]byte{0x88, 0x17, 0x5e, 0xcd, 0xae, 0x18, 0x05, 0xbd}} FieldReserved7 = FieldID{0x65a0f930, 0x45dd, 0x4983, [8]byte{0xaa, 0x33, 0xef, 0xc7, 0xb6, 0x11, 0xaf, 0x08}} FieldReserved8 = FieldID{0x4f424974, 0x0c12, 0x4816, [8]byte{0x9b, 0x47, 0x9a, 0x54, 0x7d, 0xb3, 0x9a, 0x32}} FieldReserved9 = FieldID{0xce78e10f, 0x13ff, 0x4c70, [8]byte{0x86, 0x43, 0x36, 0xad, 0x18, 0x79, 0xaf, 0xa3}} FieldSecEncryptAlgorithm = FieldID{0x0d306ef0, 0xe974, 0x4f74, [8]byte{0xb5, 0xc7, 0x59, 0x1b, 0x0d, 0xa7, 0xd5, 0x62}} FieldSecKeySize = FieldID{0x4772183b, 0xccf8, 0x4aeb, [8]byte{0xbc, 0xe1, 0xc6, 0xc6, 0x16, 0x1c, 0x8f, 0xe4}} FieldSourceInterfaceIndex = FieldID{0x2311334d, 0xc92d, 0x45bf, [8]byte{0x94, 0x96, 0xed, 0xf4, 0x47, 0x82, 0x0e, 0x2d}} FieldSourceSubInterfaceIndex = FieldID{0x055edd9d, 0xacd2, 0x4361, [8]byte{0x8d, 0xab, 0xf9, 0x52, 0x5d, 0x97, 0x66, 0x2f}} FieldSubInterfaceIndex = FieldID{0x0cd42473, 0xd621, 0x4be3, [8]byte{0xae, 0x8c, 0x72, 0xa3, 0x48, 0xd2, 0x83, 0xe1}} FieldTunnelType = FieldID{0x77a40437, 0x8779, 0x4868, [8]byte{0xa2, 0x61, 0xf5, 0xa9, 0x02, 0xf1, 0xc0, 0xcd}} FieldVLANID = FieldID{0x938eab21, 0x3618, 0x4e64, [8]byte{0x9c, 0xa5, 0x21, 0x41, 0xeb, 0xda, 0x1c, 0xa2}} FieldVSwitchDestinationInterfaceID = FieldID{0x8ed48be4, 0xc926, 0x49f6, [8]byte{0xa4, 0xf6, 0xef, 0x30, 0x30, 0xe3, 0xfc, 0x16}} FieldVSwitchDestinationInterfaceType = FieldID{0xfa9b3f06, 0x2f1a, 0x4c57, [8]byte{0x9e, 0x68, 0xa7, 0x09, 0x8b, 0x28, 0xdb, 0xfe}} FieldVSwitchDestinationVmID = FieldID{0x6106aace, 0x4de1, 0x4c84, [8]byte{0x96, 0x71, 0x36, 0x37, 0xf8, 0xbc, 0xf7, 0x31}} FieldVSwitchID = FieldID{0xc4a414ba, 0x437b, 0x4de6, [8]byte{0x99, 0x46, 0xd9, 0x9c, 0x1b, 0x95, 0xb3, 0x12}} FieldVSwitchNetworkType = FieldID{0x11d48b4b, 0xe77a, 0x40b4, [8]byte{0x91, 0x55, 0x39, 0x2c, 0x90, 0x6c, 0x26, 0x08}} FieldVSwitchSourceInterfaceID = FieldID{0x7f4ef24b, 0xb2c1, 0x4938, [8]byte{0xba, 0x33, 0xa1, 0xec, 0xbe, 0xd5, 0x12, 0xba}} FieldVSwitchSourceInterfaceType = FieldID{0xe6b040a2, 0xedaf, 0x4c36, [8]byte{0x90, 0x8b, 0xf2, 0xf5, 0x8a, 0xe4, 0x38, 0x07}} FieldVSwitchSourceVmID = FieldID{0x9c2a9ec2, 0x9fc6, 0x42bc, [8]byte{0xbd, 0xd8, 0x40, 0x6d, 0x4d, 0xa0, 0xbe, 0x64}} FieldVSwitchTenantNetworkID = FieldID{0xdc04843c, 0x79e6, 0x4e44, [8]byte{0xa0, 0x25, 0x65, 0xb9, 0xbb, 0x0f, 0x9f, 0x94}} )
Well-known field IDs.
var ( LayerALEAuthConnectV4 = LayerID{0xc38d57d1, 0x05a7, 0x4c33, [8]byte{0x90, 0x4f, 0x7f, 0xbc, 0xee, 0xe6, 0x0e, 0x82}} LayerALEAuthConnectV4Discard = LayerID{0xd632a801, 0xf5ba, 0x4ad6, [8]byte{0x96, 0xe3, 0x60, 0x70, 0x17, 0xd9, 0x83, 0x6a}} LayerALEAuthConnectV6 = LayerID{0x4a72393b, 0x319f, 0x44bc, [8]byte{0x84, 0xc3, 0xba, 0x54, 0xdc, 0xb3, 0xb6, 0xb4}} LayerALEAuthConnectV6Discard = LayerID{0xc97bc3b8, 0xc9a3, 0x4e33, [8]byte{0x86, 0x95, 0x8e, 0x17, 0xaa, 0xd4, 0xde, 0x09}} LayerALEAuthListenV4 = LayerID{0x88bb5dad, 0x76d7, 0x4227, [8]byte{0x9c, 0x71, 0xdf, 0x0a, 0x3e, 0xd7, 0xbe, 0x7e}} LayerALEAuthListenV4Discard = LayerID{0x371dfada, 0x9f26, 0x45fd, [8]byte{0xb4, 0xeb, 0xc2, 0x9e, 0xb2, 0x12, 0x89, 0x3f}} LayerALEAuthListenV6 = LayerID{0x7ac9de24, 0x17dd, 0x4814, [8]byte{0xb4, 0xbd, 0xa9, 0xfb, 0xc9, 0x5a, 0x32, 0x1b}} LayerALEAuthListenV6Discard = LayerID{0x60703b07, 0x63c8, 0x48e9, [8]byte{0xad, 0xa3, 0x12, 0xb1, 0xaf, 0x40, 0xa6, 0x17}} LayerALEAuthRecvAcceptV4 = LayerID{0xe1cd9fe7, 0xf4b5, 0x4273, [8]byte{0x96, 0xc0, 0x59, 0x2e, 0x48, 0x7b, 0x86, 0x50}} LayerALEAuthRecvAcceptV4Discard = LayerID{0x9eeaa99b, 0xbd22, 0x4227, [8]byte{0x91, 0x9f, 0x00, 0x73, 0xc6, 0x33, 0x57, 0xb1}} LayerALEAuthRecvAcceptV6 = LayerID{0xa3b42c97, 0x9f04, 0x4672, [8]byte{0xb8, 0x7e, 0xce, 0xe9, 0xc4, 0x83, 0x25, 0x7f}} LayerALEAuthRecvAcceptV6Discard = LayerID{0x89455b97, 0xdbe1, 0x453f, [8]byte{0xa2, 0x24, 0x13, 0xda, 0x89, 0x5a, 0xf3, 0x96}} LayerALEBindRedirectV4 = LayerID{0x66978cad, 0xc704, 0x42ac, [8]byte{0x86, 0xac, 0x7c, 0x1a, 0x23, 0x1b, 0xd2, 0x53}} LayerALEBindRedirectV6 = LayerID{0xbef02c9c, 0x606b, 0x4536, [8]byte{0x8c, 0x26, 0x1c, 0x2f, 0xc7, 0xb6, 0x31, 0xd4}} LayerALEConnectRedirectV4 = LayerID{0xc6e63c8c, 0xb784, 0x4562, [8]byte{0xaa, 0x7d, 0x0a, 0x67, 0xcf, 0xca, 0xf9, 0xa3}} LayerALEConnectRedirectV6 = LayerID{0x587e54a7, 0x8046, 0x42ba, [8]byte{0xa0, 0xaa, 0xb7, 0x16, 0x25, 0x0f, 0xc7, 0xfd}} LayerALEEndpointClosureV4 = LayerID{0xb4766427, 0xe2a2, 0x467a, [8]byte{0xbd, 0x7e, 0xdb, 0xcd, 0x1b, 0xd8, 0x5a, 0x09}} LayerALEEndpointClosureV6 = LayerID{0xbb536ccd, 0x4755, 0x4ba9, [8]byte{0x9f, 0xf7, 0xf9, 0xed, 0xf8, 0x69, 0x9c, 0x7b}} LayerALEFlowEstablishedV4 = LayerID{0xaf80470a, 0x5596, 0x4c13, [8]byte{0x99, 0x92, 0x53, 0x9e, 0x6f, 0xe5, 0x79, 0x67}} LayerALEFlowEstablishedV4Discard = LayerID{0x146ae4a9, 0xa1d2, 0x4d43, [8]byte{0xa3, 0x1a, 0x4c, 0x42, 0x68, 0x2b, 0x8e, 0x4f}} LayerALEFlowEstablishedV6 = LayerID{0x7021d2b3, 0xdfa4, 0x406e, [8]byte{0xaf, 0xeb, 0x6a, 0xfa, 0xf7, 0xe7, 0x0e, 0xfd}} LayerALEFlowEstablishedV6Discard = LayerID{0x46928636, 0xbbca, 0x4b76, [8]byte{0x94, 0x1d, 0x0f, 0xa7, 0xf5, 0xd7, 0xd3, 0x72}} LayerALEResourceAssignmentV4 = LayerID{0x1247d66d, 0x0b60, 0x4a15, [8]byte{0x8d, 0x44, 0x71, 0x55, 0xd0, 0xf5, 0x3a, 0x0c}} LayerALEResourceAssignmentV4Discard = LayerID{0x0b5812a2, 0xc3ff, 0x4eca, [8]byte{0xb8, 0x8d, 0xc7, 0x9e, 0x20, 0xac, 0x63, 0x22}} LayerALEResourceAssignmentV6 = LayerID{0x55a650e1, 0x5f0a, 0x4eca, [8]byte{0xa6, 0x53, 0x88, 0xf5, 0x3b, 0x26, 0xaa, 0x8c}} LayerALEResourceAssignmentV6Discard = LayerID{0xcbc998bb, 0xc51f, 0x4c1a, [8]byte{0xbb, 0x4f, 0x97, 0x75, 0xfc, 0xac, 0xab, 0x2f}} LayerALEResourceReleaseV4 = LayerID{0x74365cce, 0xccb0, 0x401a, [8]byte{0xbf, 0xc1, 0xb8, 0x99, 0x34, 0xad, 0x7e, 0x15}} LayerALEResourceReleaseV6 = LayerID{0xf4e5ce80, 0xedcc, 0x4e13, [8]byte{0x8a, 0x2f, 0xb9, 0x14, 0x54, 0xbb, 0x05, 0x7b}} LayerDatagramDataV4 = LayerID{0x3d08bf4e, 0x45f6, 0x4930, [8]byte{0xa9, 0x22, 0x41, 0x70, 0x98, 0xe2, 0x00, 0x27}} LayerDatagramDataV4Discard = LayerID{0x18e330c6, 0x7248, 0x4e52, [8]byte{0xaa, 0xab, 0x47, 0x2e, 0xd6, 0x77, 0x04, 0xfd}} LayerDatagramDataV6 = LayerID{0xfa45fe2f, 0x3cba, 0x4427, [8]byte{0x87, 0xfc, 0x57, 0xb9, 0xa4, 0xb1, 0x0d, 0x00}} LayerDatagramDataV6Discard = LayerID{0x09d1dfe1, 0x9b86, 0x4a42, [8]byte{0xbe, 0x9d, 0x8c, 0x31, 0x5b, 0x92, 0xa5, 0xd0}} LayerEgressVSwitchEthernet = LayerID{0x86c872b0, 0x76fa, 0x4b79, [8]byte{0x93, 0xa4, 0x07, 0x50, 0x53, 0x0a, 0xe2, 0x92}} LayerEgressVSwitchTransportV4 = LayerID{0xb92350b6, 0x91f0, 0x46b6, [8]byte{0xbd, 0xc4, 0x87, 0x1d, 0xfd, 0x4a, 0x7c, 0x98}} LayerEgressVSwitchTransportV6 = LayerID{0x1b2def23, 0x1881, 0x40bd, [8]byte{0x82, 0xf4, 0x42, 0x54, 0xe6, 0x31, 0x41, 0xcb}} LayerIKEExtV4 = LayerID{0xb14b7bdb, 0xdbbd, 0x473e, [8]byte{0xbe, 0xd4, 0x8b, 0x47, 0x08, 0xd4, 0xf2, 0x70}} LayerIKEExtV6 = LayerID{0xb64786b3, 0xf687, 0x4eb9, [8]byte{0x89, 0xd2, 0x8e, 0xf3, 0x2a, 0xcd, 0xab, 0xe2}} LayerIPForwardV4 = LayerID{0xa82acc24, 0x4ee1, 0x4ee1, [8]byte{0xb4, 0x65, 0xfd, 0x1d, 0x25, 0xcb, 0x10, 0xa4}} LayerIPForwardV4Discard = LayerID{0x9e9ea773, 0x2fae, 0x4210, [8]byte{0x8f, 0x17, 0x34, 0x12, 0x9e, 0xf3, 0x69, 0xeb}} LayerIPForwardV6 = LayerID{0x7b964818, 0x19c7, 0x493a, [8]byte{0xb7, 0x1f, 0x83, 0x2c, 0x36, 0x84, 0xd2, 0x8c}} LayerIPForwardV6Discard = LayerID{0x31524a5d, 0x1dfe, 0x472f, [8]byte{0xbb, 0x93, 0x51, 0x8e, 0xe9, 0x45, 0xd8, 0xa2}} LayerIPSecKMDemuxV4 = LayerID{0xf02b1526, 0xa459, 0x4a51, [8]byte{0xb9, 0xe3, 0x75, 0x9d, 0xe5, 0x2b, 0x9d, 0x2c}} LayerIPSecKMDemuxV6 = LayerID{0x2f755cf6, 0x2fd4, 0x4e88, [8]byte{0xb3, 0xe4, 0xa9, 0x1b, 0xca, 0x49, 0x52, 0x35}} LayerIPSecV4 = LayerID{0xeda65c74, 0x610d, 0x4bc5, [8]byte{0x94, 0x8f, 0x3c, 0x4f, 0x89, 0x55, 0x68, 0x67}} LayerIPSecV6 = LayerID{0x13c48442, 0x8d87, 0x4261, [8]byte{0x9a, 0x29, 0x59, 0xd2, 0xab, 0xc3, 0x48, 0xb4}} LayerInboundICMPErrorV4 = LayerID{0x61499990, 0x3cb6, 0x4e84, [8]byte{0xb9, 0x50, 0x53, 0xb9, 0x4b, 0x69, 0x64, 0xf3}} LayerInboundICMPErrorV4Discard = LayerID{0xa6b17075, 0xebaf, 0x4053, [8]byte{0xa4, 0xe7, 0x21, 0x3c, 0x81, 0x21, 0xed, 0xe5}} LayerInboundICMPErrorV6 = LayerID{0x65f9bdff, 0x3b2d, 0x4e5d, [8]byte{0xb8, 0xc6, 0xc7, 0x20, 0x65, 0x1f, 0xe8, 0x98}} LayerInboundICMPErrorV6Discard = LayerID{0xa6e7ccc0, 0x08fb, 0x468d, [8]byte{0xa4, 0x72, 0x97, 0x71, 0xd5, 0x59, 0x5e, 0x09}} LayerInboundIPPacketV4 = LayerID{0xc86fd1bf, 0x21cd, 0x497e, [8]byte{0xa0, 0xbb, 0x17, 0x42, 0x5c, 0x88, 0x5c, 0x58}} LayerInboundIPPacketV4Discard = LayerID{0xb5a230d0, 0xa8c0, 0x44f2, [8]byte{0x91, 0x6e, 0x99, 0x1b, 0x53, 0xde, 0xd1, 0xf7}} LayerInboundIPPacketV6 = LayerID{0xf52032cb, 0x991c, 0x46e7, [8]byte{0x97, 0x1d, 0x26, 0x01, 0x45, 0x9a, 0x91, 0xca}} LayerInboundIPPacketV6Discard = LayerID{0xbb24c279, 0x93b4, 0x47a2, [8]byte{0x83, 0xad, 0xae, 0x16, 0x98, 0xb5, 0x08, 0x85}} LayerInboundMACFrameEthernet = LayerID{0xeffb7edb, 0x0055, 0x4f9a, [8]byte{0xa2, 0x31, 0x4f, 0xf8, 0x13, 0x1a, 0xd1, 0x91}} LayerInboundMACFrameNative = LayerID{0xd4220bd3, 0x62ce, 0x4f08, [8]byte{0xae, 0x88, 0xb5, 0x6e, 0x85, 0x26, 0xdf, 0x50}} LayerInboundMACFrameNativeFast = LayerID{0x853aaa8e, 0x2b78, 0x4d24, [8]byte{0xa8, 0x04, 0x36, 0xdb, 0x08, 0xb2, 0x97, 0x11}} LayerInboundReserved2 = LayerID{0xf4fb8d55, 0xc076, 0x46d8, [8]byte{0xa2, 0xc7, 0x6a, 0x4c, 0x72, 0x2c, 0xa4, 0xed}} LayerInboundTransportFast = LayerID{0xe41d2719, 0x05c7, 0x40f0, [8]byte{0x89, 0x83, 0xea, 0x8d, 0x17, 0xbb, 0xc2, 0xf6}} LayerInboundTransportV4 = LayerID{0x5926dfc8, 0xe3cf, 0x4426, [8]byte{0xa2, 0x83, 0xdc, 0x39, 0x3f, 0x5d, 0x0f, 0x9d}} LayerInboundTransportV4Discard = LayerID{0xac4a9833, 0xf69d, 0x4648, [8]byte{0xb2, 0x61, 0x6d, 0xc8, 0x48, 0x35, 0xef, 0x39}} LayerInboundTransportV6 = LayerID{0x634a869f, 0xfc23, 0x4b90, [8]byte{0xb0, 0xc1, 0xbf, 0x62, 0x0a, 0x36, 0xae, 0x6f}} LayerInboundTransportV6Discard = LayerID{0x2a6ff955, 0x3b2b, 0x49d2, [8]byte{0x98, 0x48, 0xad, 0x9d, 0x72, 0xdc, 0xaa, 0xb7}} LayerIngressVSwitchEthernet = LayerID{0x7d98577a, 0x9a87, 0x41ec, [8]byte{0x97, 0x18, 0x7c, 0xf5, 0x89, 0xc9, 0xf3, 0x2d}} LayerIngressVSwitchTransportV4 = LayerID{0xb2696ff6, 0x774f, 0x4554, [8]byte{0x9f, 0x7d, 0x3d, 0xa3, 0x94, 0x5f, 0x8e, 0x85}} LayerIngressVSwitchTransportV6 = LayerID{0x5ee314fc, 0x7d8a, 0x47f4, [8]byte{0xb7, 0xe3, 0x29, 0x1a, 0x36, 0xda, 0x4e, 0x12}} LayerKMAuthorization = LayerID{0x4aa226e9, 0x9020, 0x45fb, [8]byte{0x95, 0x6a, 0xc0, 0x24, 0x9d, 0x84, 0x11, 0x95}} LayerNameResolutionCacheV4 = LayerID{0x0c2aa681, 0x905b, 0x4ccd, [8]byte{0xa4, 0x67, 0x4d, 0xd8, 0x11, 0xd0, 0x7b, 0x7b}} LayerNameResolutionCacheV6 = LayerID{0x92d592fa, 0x6b01, 0x434a, [8]byte{0x9d, 0xea, 0xd1, 0xe9, 0x6e, 0xa9, 0x7d, 0xa9}} LayerOutboundICMPErrorV4 = LayerID{0x41390100, 0x564c, 0x4b32, [8]byte{0xbc, 0x1d, 0x71, 0x80, 0x48, 0x35, 0x4d, 0x7c}} LayerOutboundICMPErrorV4Discard = LayerID{0xb3598d36, 0x0561, 0x4588, [8]byte{0xa6, 0xbf, 0xe9, 0x55, 0xe3, 0xf6, 0x26, 0x4b}} LayerOutboundICMPErrorV6 = LayerID{0x7fb03b60, 0x7b8d, 0x4dfa, [8]byte{0xba, 0xdd, 0x98, 0x01, 0x76, 0xfc, 0x4e, 0x12}} LayerOutboundICMPErrorV6Discard = LayerID{0x65f2e647, 0x8d0c, 0x4f47, [8]byte{0xb1, 0x9b, 0x33, 0xa4, 0xd3, 0xf1, 0x35, 0x7c}} LayerOutboundIPPacketV4 = LayerID{0x1e5c9fae, 0x8a84, 0x4135, [8]byte{0xa3, 0x31, 0x95, 0x0b, 0x54, 0x22, 0x9e, 0xcd}} LayerOutboundIPPacketV4Discard = LayerID{0x08e4bcb5, 0xb647, 0x48f3, [8]byte{0x95, 0x3c, 0xe5, 0xdd, 0xbd, 0x03, 0x93, 0x7e}} LayerOutboundIPPacketV6 = LayerID{0xa3b3ab6b, 0x3564, 0x488c, [8]byte{0x91, 0x17, 0xf3, 0x4e, 0x82, 0x14, 0x27, 0x63}} LayerOutboundIPPacketV6Discard = LayerID{0x9513d7c4, 0xa934, 0x49dc, [8]byte{0x91, 0xa7, 0x6c, 0xcb, 0x80, 0xcc, 0x02, 0xe3}} LayerOutboundMACFrameEthernet = LayerID{0x694673bc, 0xd6db, 0x4870, [8]byte{0xad, 0xee, 0x0a, 0xcd, 0xbd, 0xb7, 0xf4, 0xb2}} LayerOutboundMACFrameNative = LayerID{0x94c44912, 0x9d6f, 0x4ebf, [8]byte{0xb9, 0x95, 0x05, 0xab, 0x8a, 0x08, 0x8d, 0x1b}} LayerOutboundMACFrameNativeFast = LayerID{0x470df946, 0xc962, 0x486f, [8]byte{0x94, 0x46, 0x82, 0x93, 0xcb, 0xc7, 0x5e, 0xb8}} LayerOutboundTransportFast = LayerID{0x13ed4388, 0xa070, 0x4815, [8]byte{0x99, 0x35, 0x7a, 0x9b, 0xe6, 0x40, 0x8b, 0x78}} LayerOutboundTransportV4 = LayerID{0x09e61aea, 0xd214, 0x46e2, [8]byte{0x9b, 0x21, 0xb2, 0x6b, 0x0b, 0x2f, 0x28, 0xc8}} LayerOutboundTransportV4Discard = LayerID{0xc5f10551, 0xbdb0, 0x43d7, [8]byte{0xa3, 0x13, 0x50, 0xe2, 0x11, 0xf4, 0xd6, 0x8a}} LayerOutboundTransportV6 = LayerID{0xe1735bde, 0x013f, 0x4655, [8]byte{0xb3, 0x51, 0xa4, 0x9e, 0x15, 0x76, 0x2d, 0xf0}} LayerOutboundTransportV6Discard = LayerID{0xf433df69, 0xccbd, 0x482e, [8]byte{0xb9, 0xb2, 0x57, 0x16, 0x56, 0x58, 0xc3, 0xb3}} LayerRPCEPAdd = LayerID{0x618dffc7, 0xc450, 0x4943, [8]byte{0x95, 0xdb, 0x99, 0xb4, 0xc1, 0x6a, 0x55, 0xd4}} LayerRPCEPMap = LayerID{0x9247bc61, 0xeb07, 0x47ee, [8]byte{0x87, 0x2c, 0xbf, 0xd7, 0x8b, 0xfd, 0x16, 0x16}} LayerRPCProxyConn = LayerID{0x94a4b50b, 0xba5c, 0x4f27, [8]byte{0x90, 0x7a, 0x22, 0x9f, 0xac, 0x0c, 0x2a, 0x7a}} LayerRPCProxyIf = LayerID{0xf8a38615, 0xe12c, 0x41ac, [8]byte{0x98, 0xdf, 0x12, 0x1a, 0xd9, 0x81, 0xaa, 0xde}} LayerRPCUM = LayerID{0x75a89dda, 0x95e4, 0x40f3, [8]byte{0xad, 0xc7, 0x76, 0x88, 0xa9, 0xc8, 0x47, 0xe1}} LayerStreamPacketV4 = LayerID{0xaf52d8ec, 0xcb2d, 0x44e5, [8]byte{0xad, 0x92, 0xf8, 0xdc, 0x38, 0xd2, 0xeb, 0x29}} LayerStreamPacketV6 = LayerID{0x779a8ca3, 0xf099, 0x468f, [8]byte{0xb5, 0xd4, 0x83, 0x53, 0x5c, 0x46, 0x1c, 0x02}} LayerStreamV4 = LayerID{0x3b89653c, 0xc170, 0x49e4, [8]byte{0xb1, 0xcd, 0xe0, 0xee, 0xee, 0xe1, 0x9a, 0x3e}} LayerStreamV4Discard = LayerID{0x25c4c2c2, 0x25ff, 0x4352, [8]byte{0x82, 0xf9, 0xc5, 0x4a, 0x4a, 0x47, 0x26, 0xdc}} LayerStreamV6 = LayerID{0x47c9137a, 0x7ec4, 0x46b3, [8]byte{0xb6, 0xe4, 0x48, 0xe9, 0x26, 0xb1, 0xed, 0xa4}} LayerStreamV6Discard = LayerID{0x10a59fc7, 0xb628, 0x4c41, [8]byte{0x9e, 0xb8, 0xcf, 0x37, 0xd5, 0x51, 0x03, 0xcf}} )
Well-known layer IDs.
Functions ¶
Types ¶
type Action ¶
type Action uint32
Action is an action the filtering engine can execute.
const ( // ActionBlock blocks a packet or session. ActionBlock Action = 0x1001 // ActionPermit permits a packet or session. ActionPermit Action = 0x1002 // ActionCalloutTerminating invokes a callout that must return a // permit or block verdict. ActionCalloutTerminating Action = 0x5003 // ActionCalloutInspection invokes a callout that is expected to // not return a verdict (i.e. a read-only callout). ActionCalloutInspection Action = 0x6004 // ActionCalloutUnknown invokes a callout that may return a permit // or block verdict. ActionCalloutUnknown Action = 0x4005 )
type CalloutID ¶
CalloutID identifies a WFP callout function.
type ConditionFlag ¶
type ConditionFlag uint32 // do not change type, used in C calls
ConditionFlag represents special conditions that can be tested.
const ( ConditionFlagIsLoopback ConditionFlag = 0x00000001 ConditionFlagIsIPSecSecured ConditionFlag = 0x00000002 ConditionFlagIsWildcardBind ConditionFlag = 0x00000008 ConditionFlagIsRawEndpoint ConditionFlag = 0x00000010 ConditionFlagIsFragmant ConditionFlag = 0x00000020 ConditionFlagIsFragmantGroup ConditionFlag = 0x00000040 ConditionFlagIsIPSecNATTReclassify ConditionFlag = 0x00000080 ConditionFlagIsRequiresALEClassify ConditionFlag = 0x00000100 ConditionFlagIsImplicitBind ConditionFlag = 0x00000200 ConditionFlagIsReassembled ConditionFlag = 0x00000400 ConditionFlagIsNameAppSpecified ConditionFlag = 0x00004000 ConditionFlagIsPromiscuous ConditionFlag = 0x00008000 ConditionFlagIsAuthFW ConditionFlag = 0x00010000 ConditionFlagIsReclassify ConditionFlag = 0x00020000 ConditionFlagIsOutboundPassThru ConditionFlag = 0x00040000 ConditionFlagIsInboundPassThru ConditionFlag = 0x00080000 ConditionFlagIsConnectionRedirected ConditionFlag = 0x00100000 )
func (ConditionFlag) String ¶
func (i ConditionFlag) String() string
type Field ¶
type Field struct { // ID is the unique identifier for the field. ID FieldID // Type is the type of the field. Type reflect.Type }
Field is a piece of information that a layer makes available to filter rules for matching.
type FieldID ¶
FieldID identifies a WFP layer field.
type IPProto ¶
type IPProto uint8 // do not change type, used in C calls
IPProto represents the protocol being used.
const ( IPProtoICMP IPProto = 1 IPProtoICMPV6 IPProto = 58 IPProtoTCP IPProto = 6 IPProtoUDP IPProto = 17 )
From: https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-socket
type Layer ¶
type Layer struct { // ID is the unique identifier for this layer. ID LayerID // KernelID is the internal kernel ID for this layer. KernelID uint16 // Name is a short descriptive name. Name string // Description is a longer description of the layer's function. Description string // DefaultSublayer is the ID for the default sublayer into which // filter rules are added. DefaultSublayer SublayerID // Fields describes the fields that are available in this layer to // be matched against. Fields []*Field }
Layer is a point in the packet processing path where filter rules can be applied.
type LayerID ¶
LayerID identifies a WFP layer.
type MatchType ¶
type MatchType uint32 // do not change type, used in C calls
MatchType is the operator to use when testing a field in a Match.
const ( MatchTypeEqual MatchType = iota MatchTypeGreater MatchTypeLess MatchTypeGreaterOrEqual MatchTypeLessOrEqual MatchTypeRange // true if the field value is within the Range. MatchTypeFlagsAllSet MatchTypeFlagsAnySet MatchTypeFlagsNoneSet MatchTypeEqualCaseInsensitive // only valid on strings, no string fields exist MatchTypeNotEqual MatchTypePrefix // TODO: not well documented. Is this prefix.Contains(ip) ? MatchTypeNotPrefix // TODO: see above. )
type Options ¶
type Options struct { // Name is a short name for the session, shown in Windows // administrative tools. Name string // Description is a short description for the session, shown in // Windows administrative tools. Description string // Dynamic, if true, indicates that all objects created during the // session should be removed when the session is closed or the // current process terminates. Dynamic sessions are meant for // adding firewall configuration that should not outlast your // program's execution. Dynamic bool // TransactionStartTimeout is how long the session is willing to // wait to acquire the global transaction lock. If zero, WFP's // default timeout (15 seconds) is used. TransactionStartTimeout time.Duration }
Options configures a Session.
type Provider ¶
type Provider struct { // ID is the unique identifier for this provider. ID ProviderID // Name is a short descriptive name. Name string // Description is a longer description of the provider. Description string // Persistent indicates whether the provider is preserved across // restarts of the filtering engine. Persistent bool // Data is optional opaque data that can be held on behalf of the // Provider. Data []byte // ServiceName is an optional Windows service name. If present, // the rules owned by this Provider are only activated when the // service is active. ServiceName string // Disabled indicates whether the rules owned by this Provider are // disabled due to its associated service being // disabled. Read-only, ignored on Provider creation. Disabled bool }
A Provider is an entity that owns sublayers and filtering rules.
type ProviderID ¶
ProviderID identifies a WFP provider.
func (*ProviderID) IsZero ¶
func (id *ProviderID) IsZero() bool
IsZero reports whether id is nil or the zero GUID.
func (ProviderID) String ¶
func (id ProviderID) String() string
type Rule ¶
type Rule struct { // ID is the unique identifier for this rule. ID RuleID // KernelID is the kernel ID for this rule. KernelID uint64 // Name is a short descriptive name. Name string // Description is a longer description of the rule. Description string // Layer is the ID of the layer in which the rule runs. Layer LayerID // Sublayer is the ID of the sublayer in which the rule runs. Sublayer SublayerID // Weight is the priority of the rule relative to other rules in // its sublayer. Weight uint64 // Conditions are the tests which must pass for this rule to apply // to a packet. Conditions []*Match // Action is the action to take on matching packets. Action Action // Callout is the ID of the callout to invoke. Only valid if // Action is ActionCalloutTerminating, ActionCalloutInspection, or // ActionCalloutUnknown. Callout CalloutID // PermitIfMissing, if set, indicates that a callout action to a // callout ID that isn't registered should be translated into an // ActionPermit, rather than an ActionBlock. Only relevant if // Action is ActionCalloutTerminating or ActionCalloutUnknown. PermitIfMissing bool // HardAction, if set, indicates that the action type is hard and cannot // be overridden except by a Veto. HardAction bool // Persistent indicates whether the rule is preserved across // restarts of the filtering engine. Persistent bool // BootTime indicates that this rule applies only during early // boot, before the filtering engine fully starts and hands off to // the normal runtime rules. BootTime bool // Provider optionally identifies the Provider that manages this // rule. Provider ProviderID // ProviderData is optional opaque data that can be held on behalf // of the Provider. ProviderData []byte // Disabled indicates whether the rule is currently disabled due // to its provider being associated with an inactive Windows // service. See Provider.ServiceName for details. Disabled bool // Enable logging for the rule EnableFirewallLog bool }
A Rule is an action to take on packets that match a set of conditions.
type RuleID ¶
RuleID identifies a WFP filtering rule.
type Session ¶
type Session struct {
// contains filtered or unexported fields
}
Session is a connection to the WFP API.
func (*Session) AddProvider ¶
AddProvider creates a new provider.
func (*Session) AddSublayer ¶
AddSublayer creates a new Sublayer.
func (*Session) DeleteProvider ¶
func (s *Session) DeleteProvider(id ProviderID) error
DeleteProvider deletes the Provider whose GUID is id. A provider can only be deleted once all the resources it owns have been deleted.
func (*Session) DeleteRule ¶
func (*Session) DeleteSublayer ¶
func (s *Session) DeleteSublayer(id SublayerID) error
DeleteSublayer deletes the Sublayer whose GUID is id.
func (*Session) DropEvents ¶
func (*Session) RulesForProvider ¶
func (s *Session) RulesForProvider(provider ProviderID, layer LayerID) ([]*Rule, error)
TODO: figure out what currently unexposed flags do: Indexed TODO: figure out what ProviderContextKey is about. MSDN doesn't explain what contexts are.
func (*Session) Sublayers ¶
func (s *Session) Sublayers(providers ...ProviderID) ([]*Sublayer, error)
Sublayers returns available Sublayers. If providers are given, returns only sublayers registered to those providers.
func (*Session) TransactionAbort ¶
func (*Session) TransactionBegin ¶
func (*Session) TransactionCommit ¶
type Sublayer ¶
type Sublayer struct { // ID is the unique identifier for this sublayer. ID SublayerID // Name is a short descriptive name. Name string // Description is a longer description of the Sublayer. Description string // Persistent indicates whether the sublayer is preserved across // restarts of the filtering engine. Persistent bool // Provider optionally identifies the Provider that manages this // sublayer. Provider ProviderID // ProviderData is optional opaque data that can be held on behalf // of the Provider. ProviderData []byte // Weight specifies the priority of this sublayer relative to // other sublayers. Higher-weighted sublayers are invoked first. Weight uint16 }
A Sublayer is a container for filtering rules.
type SublayerID ¶
SublayerID identifies a WFP sublayer.
func (*SublayerID) IsZero ¶
func (id *SublayerID) IsZero() bool
IsZero reports whether id is nil or the zero GUID.
func (SublayerID) String ¶
func (id SublayerID) String() string
type TokenAccessInformation ¶
type TokenAccessInformation struct{}
TokenAccessInformation represents all the information in a token that is necessary to perform an access check. This type is only present in Layer fields, and cannot be used directly as a value in firewall rules.
type TokenInformation ¶
type TokenInformation struct{}
TokenInformation defines a set of security identifiers. This type is only present in Layer fields, and cannot be used directly as a value in firewall rules.
Source Files ¶
- compose.go
- firewall.go
- generate.go
- malloc.go
- parse.go
- syscall.go
- types.go
- zaction_strings.go
- zconditionflag_strings.go
- zdatatype_strings.go
- zfieldtype_strings.go
- zfilterenumflags_strings.go
- zfilterenumtype_strings.go
- zfilterflags_strings.go
- zguids.go
- zipproto_strings.go
- zproviderflags_strings.go
- zsublayerflags_strings.go