Exemplo n.º 1
0
def create (scope) :
    FFM = scope.FFM
    PAP = scope.PAP
    Adr = FFM.IP4_Network.net_address.P_Type
    mgr = PAP.Person \
        (first_name = 'Ralf', last_name = 'Schlatterbeck', raw = True)
    node1 = FFM.Node (name = "nogps", manager = mgr, raw = True)
    gps1 = dict (lat = "48 d 15 m", lon = "15 d 52 m 27.84 s")
    node2 = FFM.Node \
        (name = "node2", manager = mgr, position = gps1, raw = True)
    net = FFM.IP4_Network ('192.168.23.0/24', raw = True)
    a1  = net.reserve ('192.168.23.1/32')
    a2  = net.reserve (Adr ('192.168.23.2/32'))
    a3  = net.reserve ('192.168.23.3/32')
    a4  = net.reserve (Adr ('192.168.23.4/32'))
    devtype = FFM.Net_Device_Type.instance_or_new \
        (name = 'Generic', raw = True)
    dev = FFM.Net_Device \
        (left = devtype, node = node2, name = 'dev', raw = True)
    wr  = FFM.Wired_Interface (left = dev, name = 'wr', raw = True)
    wl  = FFM.Wireless_Interface (left = dev, name = 'wl', raw = True)
    ir1 = FFM.Net_Interface_in_IP4_Network (wr, a1, mask_len = 24)
    il1 = FFM.Net_Interface_in_IP4_Network (wl, a2, mask_len = 32)
    ir2 = FFM.Net_Interface_in_IP4_Network (wr, a3, mask_len = 24)
    il2 = FFM.Net_Interface_in_IP4_Network (wl, a4, mask_len = 24)
Exemplo n.º 2
0
def net_fixtures (scope) :
    """ Create more fixtures for testing IP allocation and polymorphic
        queries on owner.
    """
    create (scope)
    scope.commit ()
    FFM   = scope.FFM
    PAP   = scope.PAP
    cta   = PAP.Person \
        (first_name = 'Christian', last_name = 'Tanzer', raw = True)
    dtype = FFM.Net_Device_Type.instance (name = 'Generic', raw = True)
    rsc   = PAP.Person.query (first_name = 'ralf').one ()
    swing = PAP.Company (name = "Swing")
    ff    = PAP.Association (name = "Funkfeuer")
    n1    = FFM.Node \
        (name = "Node-net1", manager = cta, owner = swing, raw = True)
    n2    = FFM.Node (name = "Node-net2", manager = cta, owner = ff, raw = True)
    n3    = FFM.Node (name = "Node-net3", manager = rsc, owner = ff, raw = True)
    n4    = FFM.Node (name = "Node-net4", manager = rsc, raw = True)
    net   = FFM.IP4_Network \
        (net_address = '10.10.0.0/16', owner = ff, raw = True)
    nv6   = FFM.IP6_Network ('2001:db8::/32', owner = swing, raw = True)
    n1d1  = FFM.Net_Device \
        (left = dtype, node = n1, name = 'n1d1', raw = True)
    n1d2  = FFM.Net_Device \
        (left = dtype, node = n1, name = 'n1d2', raw = True)
    n2d1  = FFM.Net_Device \
        (left = dtype, node = n2, name = 'n2d1', raw = True)
    n2d2  = FFM.Net_Device \
        (left = dtype, node = n2, name = 'n2d2', raw = True)
    n2d3  = FFM.Net_Device \
        (left = dtype, node = n2, name = 'n2d3', raw = True)
    n3d1  = FFM.Net_Device \
        (left = dtype, node = n3, name = 'n3d1', raw = True)
    n4d1  = FFM.Net_Device \
        (left = dtype, node = n4, name = 'n4d1', raw = True)
    n4d2  = FFM.Net_Device \
        (left = dtype, node = n4, name = 'n4d2', raw = True)
    n4d3  = FFM.Net_Device \
        (left = dtype, node = n4, name = 'n4d3', raw = True)
    n4d4  = FFM.Net_Device \
        (left = dtype, node = n4, name = 'n4d4', raw = True)
    n4d5  = FFM.Net_Device \
        (left = dtype, node = n4, name = 'n4d5', raw = True)
Exemplo n.º 3
0
from   __future__  import absolute_import, division, print_function, unicode_literals

from   _MOM.import_MOM        import *
from   _FFM                   import FFM

_Ancestor_Essence = FFM.Object

class Regulatory_Domain (_Ancestor_Essence) :
    """Wireless Regulatory Domain"""

    class _Attributes (_Ancestor_Essence._Attributes) :

        _Ancestor = _Ancestor_Essence._Attributes

        class countrycode (A_String) :
            """Two-letter country-code"""

            kind               = Attr.Primary
            max_length         = 2
            ignore_case        = True

        # end class countrycode

    # end class _Attributes

# end class Regulatory_Domain

if __name__ != "__main__" :
    FFM._Export ("*")
### __END__ FFM.Regulatory_Domain
Exemplo n.º 4
0
            kind = Attr.Necessary

        # end class polarization

    # end class _Attributes

    class _Predicates(_Ancestor_Essence._Predicates):

        _Ancestor = _Ancestor_Essence._Predicates

        class band_exists(Pred.Condition):
            """There must be at least one frequency band for the antenna."""

            kind = Pred.Region
            assertion = "number_of_bands >= 1"
            attributes = ("bands", )
            bindings           = dict \
                ( number_of_bands = "len (this.bands)"
                )

        # end class band_exists

    # end class _Predicates


# end class Antenna_Type

if __name__ != "__main__":
    FFM._Export("*")
### __END__ FFM.Antenna_Type
Exemplo n.º 5
0
        class txpower (_Ancestor.txpower) :

            kind               = Attr.Query
            auto_up_depends    = ("hardware", )
            query              = Q.hardware.txpower

        # end class power

    # end class _Attributes

    class _Predicates (_Ancestor_Essence._Predicates) :

        _Ancestor = _Ancestor_Essence._Predicates

        class valid_left (Pred.Condition) :
            """`left` must be equal to `hardware.left`"""

            kind               = Pred.Object
            assertion          = "left is hardware.left"
            attributes         = ("left", "hardware.left")

        # end class valid_left

    # end class _Predicates

# end class Virtual_Wireless_Interface

if __name__ != "__main__" :
    FFM._Export ("*", "_Wireless_Interface_")
### __END__ FFM.Wireless_Interface
Exemplo n.º 6
0
def create(scope):
    Auth = scope.Auth
    FFM = scope.FFM
    ant = FFM.Antenna_Type \
        ( name         = "Generic"
        , desc         = "for unknown antennae"
        , gain         = "20.0"
        , polarization = "horizontal"
        , raw          = True
        )
    FFM.Antenna_Band \
        (ant, band = dict (lower = "1 Hz", upper = "1 THz"), raw = True)
    FFM.Net_Device_Type \
        (name = "Generic", desc = "for unknown or planned devices", raw = True)
    s11a = FFM.Wireless_Standard \
        (name = "802.11a", bandwidth = "20 MHz", raw = True)
    s11b = FFM.Wireless_Standard \
        (name = "802.11b", bandwidth = "20 MHz", raw = True)
    s11g = FFM.Wireless_Standard \
        (name = "802.11g", bandwidth = "20 MHz", raw = True)
    s11n = FFM.Wireless_Standard \
        (name = "802.11n", bandwidth = "40 MHz", raw = True)
    for std in s11b, s11g:
        FFM.Wireless_Channel \
            (left = std, number =  "1", frequency = "2412 MHz", raw = True)
        FFM.Wireless_Channel \
            (left = std, number =  "2", frequency = "2417 MHz", raw = True)
        FFM.Wireless_Channel \
            (left = std, number =  "3", frequency = "2422 MHz", raw = True)
        FFM.Wireless_Channel \
            (left = std, number =  "4", frequency = "2427 MHz", raw = True)
        FFM.Wireless_Channel \
            (left = std, number =  "5", frequency = "2432 MHz", raw = True)
        FFM.Wireless_Channel \
            (left = std, number =  "6", frequency = "2437 MHz", raw = True)
        FFM.Wireless_Channel \
            (left = std, number =  "7", frequency = "2442 MHz", raw = True)
        FFM.Wireless_Channel \
            (left = std, number =  "8", frequency = "2447 MHz", raw = True)
        FFM.Wireless_Channel \
            (left = std, number =  "9", frequency = "2452 MHz", raw = True)
        FFM.Wireless_Channel \
            (left = std, number = "10", frequency = "2457 MHz", raw = True)
        FFM.Wireless_Channel \
            (left = std, number = "11", frequency = "2462 MHz", raw = True)
        FFM.Wireless_Channel \
            (left = std, number = "12", frequency = "2467 MHz", raw = True)
        FFM.Wireless_Channel \
            (left = std, number = "13", frequency = "2472 MHz", raw = True)
        FFM.Wireless_Channel \
            (left = std, number = "14", frequency = "2484 MHz", raw = True)
    # 802.11a
    FFM.Wireless_Channel \
        (left = s11a, number = "36",  frequency = "5180 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "40",  frequency = "5200 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "44",  frequency = "5220 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "48",  frequency = "5240 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "52",  frequency = "5260 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "56",  frequency = "5280 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "60",  frequency = "5300 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "64",  frequency = "5320 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "100", frequency = "5500 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "104", frequency = "5520 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "108", frequency = "5540 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "112", frequency = "5560 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "116", frequency = "5580 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "120", frequency = "5600 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "124", frequency = "5620 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "128", frequency = "5640 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "132", frequency = "5660 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "136", frequency = "5680 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "140", frequency = "5700 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "149", frequency = "5745 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "153", frequency = "5765 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "157", frequency = "5785 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "161", frequency = "5805 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "165", frequency = "5825 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "172", frequency = "5860 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "173", frequency = "5865 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "174", frequency = "5870 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "175", frequency = "5875 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "176", frequency = "5880 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "177", frequency = "5885 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "178", frequency = "5890 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "179", frequency = "5895 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "180", frequency = "5900 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "181", frequency = "5905 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "182", frequency = "5910 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11a, number = "183", frequency = "5915 MHz", raw = True)

    # channels not listed on
    # http://linuxwireless.org/en/developers/Documentation/ChannelList
    #FFM.Wireless_Channel \
    #    (left = s11a, number = "147", frequency = "5735 MHz", raw = True)
    #FFM.Wireless_Channel \
    #    (left = s11a, number = "151", frequency = "5755 MHz", raw = True)
    #FFM.Wireless_Channel \
    #    (left = s11a, number = "155", frequency = "5775 MHz", raw = True)
    #FFM.Wireless_Channel \
    #    (left = s11a, number = "167", frequency = "5835 MHz", raw = True)

    # 802.11n
    FFM.Wireless_Channel \
        (left = s11n, number = "36",  frequency = "5180 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "40",  frequency = "5200 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "44",  frequency = "5220 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "48",  frequency = "5240 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "52",  frequency = "5260 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "56",  frequency = "5280 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "60",  frequency = "5300 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "64",  frequency = "5320 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "100", frequency = "5500 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "104", frequency = "5520 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "108", frequency = "5540 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "112", frequency = "5560 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "116", frequency = "5580 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "120", frequency = "5600 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "124", frequency = "5620 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "128", frequency = "5640 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "132", frequency = "5660 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "136", frequency = "5680 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "149", frequency = "5745 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "153", frequency = "5765 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "157", frequency = "5785 MHz", raw = True)
    FFM.Wireless_Channel \
        (left = s11n, number = "161", frequency = "5805 MHz", raw = True)

    # See
    # http://git.kernel.org/?p=linux/kernel/git/linville/wireless-regdb.git
    # FIXME: Use parser dbparse.py from above
    #        and import db.txt     from above
    dom = FFM.Regulatory_Domain(countrycode="AT", raw=True)
    FFM.Regulatory_Permission \
        ( left      = dom
        , band      = dict (lower = "2402 MHz", upper = "2482 MHz")
        , bandwidth = "40 MHz"
        , eirp      = "20 dBm"
        , raw       = True
        )
    FFM.Regulatory_Permission \
        ( left      = dom
        , band      = dict (lower = "5170 MHz", upper = "5250 MHz")
        , bandwidth = "40 MHz"
        , eirp      = "20 dBm"
        , raw       = True
        )
    FFM.Regulatory_Permission \
        ( left      = dom
        , band      = dict (lower = "5250 MHz", upper = "5330 MHz")
        , bandwidth = "40 MHz"
        , eirp      = "20 dBm"
        , need_DFS  = "yes"
        , raw       = True
        )
    FFM.Regulatory_Permission \
        ( left      = dom
        , band      = dict (lower = "5490 MHz", upper = "5710 MHz")
        , bandwidth = "40 MHz"
        , eirp      = "27 dBm"
        , need_DFS  = "yes"
        , raw       = True
        )
    scope.commit()
Exemplo n.º 7
0
        ( left      = dom
        , band      = dict (lower = "5170 MHz", upper = "5250 MHz")
        , bandwidth = "40 MHz"
        , eirp      = "20 dBm"
        , raw       = True
        )
    FFM.Regulatory_Permission \
        ( left      = dom
        , band      = dict (lower = "5250 MHz", upper = "5330 MHz")
        , bandwidth = "40 MHz"
        , eirp      = "20 dBm"
        , need_DFS  = "yes"
        , raw       = True
        )
    FFM.Regulatory_Permission \
        ( left      = dom
        , band      = dict (lower = "5490 MHz", upper = "5710 MHz")
        , bandwidth = "40 MHz"
        , eirp      = "27 dBm"
        , need_DFS  = "yes"
        , raw       = True
        )
    scope.commit()


# end def create

if __name__ != "__main__":
    FFM._Export_Module()
### __END__ fixtures
Exemplo n.º 8
0
        self.requester   = requester
    # end def __init__

# end class Address_Already_Used

class Address_not_in_Network (Error, ValueError) :
    """Address is not in Network"""

    def __init__ (self, address, net_address, msg) :
        self.__super.__init__ (msg)
        self.address     = address
        self.net_address = net_address
    # end def __init__

# end class Address_not_in_Network

class No_Free_Address_Range (Error, ValueError) :
    """There is no free subrange available"""

    def __init__ (self, net_address, mask_len, message) :
        self.__super.__init__ (message)
        self.net_address = net_address
        self.mask_len    = mask_len
    # end def __init__

# end class No_Free_Address_Range

if __name__ != "__main__" :
    FFM._Export_Module ()
### __END__ FFM.Error
Exemplo n.º 9
0
_Ancestor_Essence = FFM.Id_Entity

class _Belongs_to_Node_ (_Ancestor_Essence) :
    """Mixin for computed `belongs_to_node` attribute"""

    is_partial = True

    class _Attributes (_Ancestor_Essence._Attributes) :

        _Ancestor = _Ancestor_Essence._Attributes

        class belongs_to_node (A_Id_Entity) :
            """Node this %(ui_type_name)s belongs to."""

            kind                = Attr.Query
            hidden              = True
            P_Type              = FFM.Node
            query               = Q.left.belongs_to_node
            query_preconditions = (Q.left, )

        # end class belongs_to_node

    # end class _Attributes

# end class _Belongs_to_Node_

if __name__ != "__main__" :
    FFM._Export ("_Belongs_to_Node_")
### __END__ FFM._Belongs_to_Node_