The Assimilation Project
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Modules
Here is a list of all modules:
[detail level 1234]
oLayout of CDP PacketsCDP is the Cisco Discovery Protocol - which we receive and interpret, but don't send
|oCDP: Offsets of initial non-TLV items in a CDP packet.The initial items are a checksum, protocol version, and the time to live of the packet
|oCDP: Sizes of the type and length portion of a CDP TLV entry.Offsets of things that occur at the beginning of each TLV entry
|oCDP: Known values for TLV types
|\CDP: Capability (CDP_TLV_CAPS) mask bits.The TLV type CDP_TLV_CAPS value is a field with a set of bits defining the capabilities which a given switch or router might implement
o'FrameSet' data format on the wireAs noted earlier, FrameSets are logical packets
oGeneric TLV capabilitiesImplements a set of client-oriented TLV (Type, Length, Value) capabilities
oLayout of LLDP packetsThe Link Layer Discovery Protocol is a layer two discovery protocol which we receive and interpret, but do not send
|oLLDP: offsets for LLDP packets
|oLLDP: Known values for TLV types.
|oLLDP: Methods of encoding Chassis ID.
|oLLDP: Methods of encoding Port ID.
|oLLDP: bit mask of switch capabilities.
|oLLDP: IEEE 802.1 Organizationally specific TLV subtypes.802.1 Organizationally Specific TLVs – OUI == 00-80-C2
|\LLDP: IEEE 802.3 Organizationally specific TLV subtypes.802.3 Organizationally Specific TLVs – OUI == 00-12-0F
oNanoprobe implementation functionsA collection of useful functions for implementing nanoprobes - sans main program
oC-Classes
|oAssimObj classImplements the base object class for our object system
||oChildProcess class.Class for creating and monitoring child processes in the gmainloop environment
||\ResourceCmd classClass implementing resource commands
|| oResourceLSB classClass implementing resource commands
|| \ResourceOCF classClass implementing resource commands
|oConfigContext classA base class for remembering configuration values of various types in a hash table with capabilities to go to and from JSON
|oDiscovery classDiscovery abstract base class - supporting the discovery of various local things by our subclasses
||oJSON discovery class.JSONDiscovery class - supporting the discovery of various things through scripts that produce JSON output to stdout
||\SwitchDiscovery classClass providing a switch discovery class for discovering network switch properties - subclass of Discovery class
|oFrame classClass for holding/storing binary blobs - Base class for all the other Frame types
||oAddrFrame classClass for holding/storing various kinds of NetAddr class network addresses
||oCompressFrame classClass for compressing FrameSets Subclass of Frame class
||oCryptFrame classClass for encrypting FrameSets
||oCstringFrame classClass for holding/storing C-style null-terminated strings - Subclass of Frame class
||oIntFrame classClass representing various length of integers - subclass of Frame class
||oIpPortFrame classClass for holding/storing various kinds of NetAddr class network addresses
||oNVpairFrame classClass for holding/storing pairs of strings as name/value pairs Subclass of Frame class
||oSeqnoFrame classClass representing packet "sequence numbers" - subclass of Frame class
||oSignFrame classClass representing digital signatures - subclass of Frame class
||\UnknownFrame classClass representing an unrecogized or unknown type of frame in a packet - subclass of Frame class
|oFrameSet classClass representing a collection of Frames to be sent in a single datagram
|oFsProtocol class
|oFsQueue class
|oGmainFd class.(base) Class for reading from file descriptors (usually pipes) from gmainloop programs
||\LogSourceFd class.Class for logging the content of file descriptors in the glib gmainloop world
|oHbSender class.Class for heartbeat Senders - We send heartbeats to the chosen few
|oListener class.Base Listener class - Listen for FrameSets
||oAuthListener class.Class for listening, authenticating, and obeying packets from the Collective Authority
||\HbListener class.Class for heartbeat Listeners - We listen for heartbeats and time out those which are late
|oNetAddr classThis is our basic NetAddr object
|oNetGSource classThis is our basic NetGSource object
|oNetIO class(Abstract) NetIO objects are able to perform network writes and reads
||\NetIOudp classA NetIOudp object performs network writes and reads on UDP sockets
|| \ReliableUDP classA ReliableUDP object implements a protocol to make UDP reliable
|oPacketDecoder classA base class for transforming an incoming packet into a GSList of FrameSet class objects
|oGSource_Pcap classClass representing a pcap GSource object - for capturing packets in the g_main_loop paradigm
|\ResourceCmd classClass implementing resource commands
| oResourceLSB classClass implementing resource commands
| \ResourceOCF classClass implementing resource commands
oC-Class Management
o#define enumerations
|oIANA Address Family NumbersThis information was taken from http://www.iana.org/assignments/address-family-numbers/address-family-numbers.xhtml as described by RFC 3232
|oCDP: Known values for TLV types
|oCDP: Capability (CDP_TLV_CAPS) mask bits.The TLV type CDP_TLV_CAPS value is a field with a set of bits defining the capabilities which a given switch or router might implement
|oProtocols known to (supported by) create_pcap_listener().These protocols can be ored together to create the complete set of interesting protocols to be passed as the 'listenmask' argument
|oData Types corresponding our various TLV typesEach of the types below has a method associated with it which knows how to convert it to a string
|oFrameSet Types
|\Individual TLV 'Frame' data types and layouts (by TLV type)Below is the set of individual frame types and data layouts - organized by TLV type
oProject-wide (global) todos
|oStaffing - People to look for
|oNearer term TODOs
|\Farther out TODOs - things needing research
\FrameFormatsBelow is the set of frame formats and corresponding macro definitions This section will document the format of the individual frame types
 oC-Class AddrFrame wire formatHere is the format we use for packaging an AddrFrame class for the wire
 oC-Class C-string wire formatHere is the format we use for packaging a NUL-terminated C-style string (CstringFrame class) for the wire
 oC-Class IntFrame wire formatHere are the various frame formats that we use for packaging single integers as whole frames
 oC-Class IpPortFrame wire format (including port number)Here is the format we use for packaging an IpPortFrame class for the wire
 oC-class SeqNoFrame wire formatHere is the wire format we use for sequence numbers
 oC-class SignFrame wire formatHere is the wire format we use for digital signatures
 \Individual TLV 'Frame' data types and layouts (by TLV type)Below is the set of individual frame types and data layouts - organized by TLV type