This is README file file for my script "mal" as mac address locator.

===============================================
 - Index -

Chapter 1 - Install
	1.1 Necessary packages
        1.2 DB structure
        1.3 inc/Param*.pm
	1.4 mal_today_develop.pl
        1.5 main.pl
	1.6 Other
Appendix A: Copyright
Appendix B: RFCs
	B.1: from rfc1493
Appendix C: Thanks...
================================================


----------------------------------------------
Chapter 1 - 	Install
----------------------------------------------

1.1 Necessary packages
You can install MacAddressLocator by command line writing
		perl install.pl
The script install.pl:
    - evaluate if you have all necessary packages;
    - install all script of MacAddressLocator;
    - make other.

1.2 DB structure
You can generate the database writing
		mysql -u your_user [-p] < schema/SCHEMA.mysql

1.3 inc/Param*.pm
In these files, you can change many configuration settings;
you can write
		perl ./install.pl
and the perl language will work for you!!

1.4 mal_today_develop.pl
in order to execute MacAddressLocator, you can write ./mal_today_develop
for command line or scheduler the job as my crontab
		0 6-23/1 * * * /var/perl/mal/mal_today_develop.pl > /dev/null 2>&1

1.5 main.pl
For find a mac, get mac list of switch port and manage switch
you can run this script.

1.6 Other
Under construction

================================================
Appendix A:	Copyleft
================================================
Copyright Mariano Spadaccini - 2005, 2006
This software is under GPL version 2.
A full copy of GPL is in gpl.txt;
it is also in http://www.gnu.org/copyleft/gpl.html
and in copyright (or copyleft) subdirectory.

========================================================
Appendix B:	RFCs
========================================================

This is a list of RFCs about SNMP:

RFC 1157 - A Simple Network Management Protocol (SNMP)
RFC 1441 - Introduction to version 2 of the Internet-standard
	Network Management Framework
RFC 3410 - Introduction and Applicability Statements for Internet
	Standard Management Framework
RFC 3411 - Standard 62 - An Architecture for Describing Simple Network
	Management Protocol (SNMP) Management Frameworks
RFC 3412 - Standard 62 - Message Processing and Dispatching for the Simple
	Network Management Protocol (SNMP)
RFC 3413 - Standard 62 - Simple Network Management Protocol (SNMP)
	Application
RFC 3414 - Standard 62 - User-based Security Model (USM) for version 3
	of the Simple Network Management Protocol (SNMPv3)
RFC 3415 - Standard 62 - View-based Access Control Model (VACM) for the
	Simple Network Management Protocol (SNMP)
RFC 3416 - Standard 62 - Version 2 of the Protocol Operations for the
	Simple Network Management Protocol (SNMP)
RFC 3417 - Standard 62 - Transport Mappings for the Simple Network
	Management Protocol (SNMP)
RFC 3418 - Standard 62 - Management Information Base (MIB) for the Simple
	Network Management Protocol (SNMP)
RFC 3584 - Coexistence between Version 1, Version 2, and Version 3 of
	the Internet-standard Network Management Framework
RFC 3512 - Configuring Networks and Devices with Simple Network Management
	Protocol (SNMP)

B.1 from rfc1493

          --  The Forwarding Database for Transparent Bridges

          dot1dTpFdbTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF Dot1dTpFdbEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A table that contains information about unicast
                      entries for which the bridge has forwarding and/or
                      filtering information.  This information is used
                      by the transparent bridging function in
                      determining how to propagate a received frame."
              ::= { dot1dTp 3 }

          dot1dTpFdbEntry OBJECT-TYPE
              SYNTAX  Dot1dTpFdbEntry
              ACCESS  not-accessible

              STATUS  mandatory
              DESCRIPTION
                      "Information about a specific unicast MAC address
                      for which the bridge has some forwarding and/or
                      filtering information."
              INDEX   { dot1dTpFdbAddress }
              ::= { dot1dTpFdbTable 1 }

          Dot1dTpFdbEntry ::=
              SEQUENCE {
                  dot1dTpFdbAddress
                      MacAddress,
                  dot1dTpFdbPort
                      INTEGER,
                  dot1dTpFdbStatus
                      INTEGER
              }

          dot1dTpFdbAddress OBJECT-TYPE
              SYNTAX  MacAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A unicast MAC address for which the bridge has
                      forwarding and/or filtering information."
              REFERENCE
                      "IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
              ::= { dot1dTpFdbEntry 1 }

          dot1dTpFdbPort OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Either the value '0', or the port number of the
                      port on which a frame having a source address
                      equal to the value of the corresponding instance
                      of dot1dTpFdbAddress has been seen.  A value of
                      '0' indicates that the port number has not been
                      learned but that the bridge does have some
                      forwarding/filtering information about this
                      address (e.g. in the dot1dStaticTable).
                      Implementors are encouraged to assign the port
                      value to this object whenever it is learned even
                      for addresses for which the corresponding value of
                      dot1dTpFdbStatus is not learned(3)."
              ::= { dot1dTpFdbEntry 2 }

dot1dTpFdbStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),
                          invalid(2),
                          learned(3),
                          self(4),
                          mgmt(5)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The status of this entry.  The meanings of the
                      values are:

                        other(1)   : none of the following.  This would
                                     include the case where some other
                                     MIB object (not the corresponding
                                     instance of dot1dTpFdbPort, nor an
                                     entry in the dot1dStaticTable) is
                                     being used to determine if and how
                                     frames addressed to the value of
                                     the corresponding instance of
                                     dot1dTpFdbAddress are being
                                     forwarded.

                        invalid(2) : this entry is not longer valid
                                     (e.g., it was learned but has since
                                     aged-out), but has not yet been
                                     flushed from the table.

                        learned(3) : the value of the corresponding
                                     instance of dot1dTpFdbPort was
                                     learned, and is being used.

                        self(4)    : the value of the corresponding
                                     instance of dot1dTpFdbAddress
                                     represents one of the bridge's
                                     addresses.  The corresponding
                                     instance of dot1dTpFdbPort
                                     indicates which of the bridge's
                                     ports has this address.

                        mgmt(5)    : the value of the corresponding
                                     instance of dot1dTpFdbAddress is
                                     also the value of an existing
                                     instance of dot1dStaticAddress."
              ::= { dot1dTpFdbEntry 3 }


--------------------------------------------------------
Appendix C: 	Thanks...
--------------------------------------------------------
Thank you:
- Damiano Verzulli;
- tux300181 (I am tux300181) ;-)
