Module Expr Str Import alias Import alias Import alias Import alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias alias ImportFrom alias ImportFrom alias ImportFrom alias alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias alias Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpSub BinOpLShift Num Num Num Assign NameStore BinOpSub BinOpLShift Num Num Num Assign NameStore Num Assign NameStore Num ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults Str Str Num Num Num Num NameLoad body Expr Str Assign NameStore IfExp NameLoad NameLoad Dict Assert UnaryOpNot BoolOpAnd NameLoad CompareEq Call NameLoad NameLoad Num Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad If CompareIn AttributeLoad NameLoad attr ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Num NameLoad Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Num NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad If BoolOpOr CompareEq NameLoad Str CompareEq NameLoad Str body Assign AttributeStore NameLoad attr NameLoad orelse Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return AttributeLoad NameLoad attr decorator_list NameLoad FunctionDef arguments args NameParam defaults body Expr Str Return AttributeLoad NameLoad attr decorator_list NameLoad FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad If UnaryOpNot BoolOpOr CompareEq NameLoad Str CompareEq NameLoad Str body Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Str Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr Str Call NameLoad AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr BinOpBitAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareNotEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr If BoolOpAnd BinOpBitAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr NameLoad If CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return If CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If CompareNotEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse If CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse If CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse If CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If CompareIn AttributeLoad NameLoad attr ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse If CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr If BoolOpAnd AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr NameLoad If BoolOpOr UnaryOpNot AttributeLoad NameLoad attr CompareNotEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareNotEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If UnaryOpNot AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareEq AttributeLoad NameLoad attr Num body Assign AttributeStore NameLoad attr BinOpDiv BinOpMult AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr If BinOpBitAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr BinOpDiv BinOpMult AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num If CompareIn AttributeLoad NameLoad attr ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr Assign AttributeStore NameLoad attr Num If CompareIsNot AttributeLoad NameLoad attr NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Call NameLoad AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index NameLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad Assign AttributeStore NameLoad attr NameLoad If CompareEq NameLoad AttributeLoad NameLoad attr body If CompareIsNot NameLoad NameLoad body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr orelse If CompareEq NameLoad AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Call NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str While AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr keyword AttributeLoad NameLoad attr If Call AttributeLoad AttributeLoad NameLoad attr attr body If Call NameLoad NameLoad Str Num body If CompareGt NameLoad BinOpAdd Call AttributeLoad NameLoad attr BinOpMult Num AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr Num orelse Expr Call AttributeLoad NameLoad attr Str Call NameLoad AttributeLoad NameLoad attr If CompareNotIn AttributeLoad NameLoad attr ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr If Call NameLoad NameLoad Str Num body Assign AttributeStore NameLoad attr Num decorator_list FunctionDef arguments args NameParam defaults body Expr Str If CompareGt AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore AttributeLoad NameLoad attr If CompareEq AttributeLoad NameLoad attr Num body AugAssignMult NameStore BinOpDiv Call AttributeLoad NameLoad attr Num Num Num orelse AugAssignMult NameStore BinOpDiv Call AttributeLoad NameLoad attr Num Num Num Assign AttributeStore NameLoad attr BinOpDiv NameLoad Num Expr Call AttributeLoad NameLoad attr Str Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str While AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr If BoolOpAnd CompareEq AttributeLoad NameLoad attr Num UnaryOpNot AttributeLoad NameLoad attr body Continue If CompareEq AttributeLoad NameLoad attr Num body Continue If BoolOpAnd AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr UnaryOpNot AttributeLoad NameLoad attr body Continue Expr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str If CompareIs AttributeLoad NameLoad attr NameLoad body Return Assign NameStore Num If AttributeLoad NameLoad attr body AugAssignBitOr NameStore AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad If AttributeLoad NameLoad attr body AugAssignBitOr NameStore AttributeLoad NameLoad attr Assign NameStore NameLoad If AttributeLoad NameLoad attr body Assign NameStore SubscriptLoad Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Index Call AttributeLoad NameLoad attr Num BinOpSub Call NameLoad Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad If CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad If CompareIn AttributeLoad NameLoad attr ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If CompareIn AttributeLoad NameLoad attr ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If Call AttributeLoad NameLoad attr Num Num body Assign AttributeStore NameLoad attr BinOpBitAnd BinOpAdd AttributeLoad NameLoad attr Num NameLoad orelse Assign AttributeStore NameLoad attr BinOpBitAnd BinOpAdd AttributeLoad NameLoad attr Num NameLoad Assign NameStore Call SubscriptLoad AttributeLoad AttributeLoad NameLoad attr attr Index AttributeLoad NameLoad attr keyword NameLoad keyword AttributeLoad NameLoad attr keyword NameLoad If CompareIsNot NameLoad NameLoad body AugAssignBitOr NameStore AttributeLoad NameLoad attr If BoolOpAnd AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body AugAssignBitOr NameStore AttributeLoad NameLoad attr Assign NameStore Num Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr BinOpBitAnd BinOpAdd AttributeLoad NameLoad attr Num NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore ListLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Str Call NameLoad AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str ClassDef bases NameLoad body Assign NameStore Str decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults Num Num Num Num Num Num Num Num Num NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad keyword Num keyword NameLoad keyword Num Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr keyword Num keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Return AttributeLoad NameLoad attr decorator_list NameLoad FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assert CompareEq Call NameLoad NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad Assert CompareEq Call NameLoad NameLoad AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Assert CompareEq Call NameLoad NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad Return SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Index Num decorator_list NameLoad decorator_list ClassDef bases NameLoad body Expr Str ClassDef bases NameLoad body Assign NameStore Str decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Return AttributeLoad NameLoad attr decorator_list NameLoad FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assert CompareEq Call NameLoad NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad If CompareNotEq Call NameLoad NameLoad AttributeLoad NameLoad attr body Raise Call AttributeLoad NameLoad attr If CompareNotIn AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad body Raise Call AttributeLoad NameLoad attr keyword BinOpMod Str AttributeLoad NameLoad attr If CompareNotEq AttributeLoad NameLoad attr NameLoad body Raise Call AttributeLoad NameLoad attr keyword BinOpMod Str AttributeLoad NameLoad attr Return NameLoad decorator_list NameLoad decorator_list ClassDef bases AttributeLoad NameLoad attr body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Call AttributeLoad Call NameLoad NameLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr body Expr Str Assign NameStore ListLoad AttributeLoad NameLoad attr Assign NameStore ListLoad NameLoad FunctionDef arguments args NameParam defaults vararg kwarg body Expr Call AttributeLoad Call NameLoad NameLoad NameLoad attr NameLoad NameLoad Assign AttributeStore NameLoad attr Dict decorator_list FunctionDef arguments args NameParam defaults body Pass decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr For NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body If CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad Assign NameStore ListLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Num NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword AttributeLoad NameLoad attr keyword Num Assign NameStore ListLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Num NameLoad NameLoad decorator_list Call NameLoad AttributeLoad NameLoad attr NameLoad FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore ListLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad Expr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index Str Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareIn AttributeLoad NameLoad attr NameLoad body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareEq AttributeLoad NameLoad attr NameLoad body For NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body If BoolOpAnd CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr NameLoad CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore ListLoad Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return Return If BoolOpOr CompareNotIn AttributeLoad NameLoad attr NameLoad CompareNotIn AttributeLoad NameLoad attr NameLoad body Return Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Index Num If CompareNotEq AttributeLoad NameLoad attr NameLoad body Return Expr Call AttributeLoad NameLoad attr NameLoad NameLoad AttributeLoad NameLoad attr decorator_list Call NameLoad AttributeLoad NameLoad attr NameLoad FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults Str Str Num NameLoad body Expr Str Assign NameStore IfExp NameLoad NameLoad Dict While NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Num NameLoad Assign NameStore Call AttributeLoad NameLoad attr Num Num If CompareIn NameLoad AttributeLoad NameLoad attr body Continue Assign NameStore NameLoad For NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body If BoolOpOr CompareEq AttributeLoad NameLoad attr NameLoad CompareEq AttributeLoad NameLoad attr NameLoad body Assign NameStore NameLoad Break If NameLoad body Break Assign NameStore Call NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Index Num If CompareNotEq AttributeLoad NameLoad attr NameLoad body Return Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Index Num If CompareNotEq AttributeLoad NameLoad attr Num body Return Assign NameStore Call AttributeLoad NameLoad attr NameLoad If UnaryOpNot Call NameLoad NameLoad AttributeLoad NameLoad attr body Return If CompareNotEq AttributeLoad NameLoad attr Num body Return If BinOpBitAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If CompareLt AttributeLoad NameLoad attr Num body Return orelse If CompareLt AttributeLoad NameLoad attr Num body Return If CompareEq AttributeLoad NameLoad attr Num body Return If BinOpBitAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return If CompareEq AttributeLoad NameLoad attr Num body Return If BoolOpAnd CompareNotEq AttributeLoad NameLoad attr Num CompareNotIn AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return If BoolOpAnd CompareEq AttributeLoad NameLoad attr Num CompareNotIn AttributeLoad NameLoad attr ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return Assign NameStore NameLoad If CompareEq AttributeLoad NameLoad attr Num body For NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body If BoolOpAnd CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr NameLoad body Assign NameStore AttributeLoad NameLoad attr Break If CompareIs NameLoad NameLoad body Return orelse Assign NameStore AttributeLoad NameLoad attr Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad If BoolOpAnd BinOpBitAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr Num body Return If BoolOpAnd CompareEq BinOpBitAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num CompareNotEq AttributeLoad NameLoad attr Num body Return If BinOpBitAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If CompareEq AttributeLoad NameLoad attr Num body Return If CompareNotEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr body Return If CompareIn AttributeLoad NameLoad attr ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If AttributeLoad NameLoad attr body If CompareLt AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr body Return If CompareIn AttributeLoad NameLoad attr ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If CompareLtE AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr body Return If CompareGt AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd AttributeLoad NameLoad attr BinOpMult Num AttributeLoad NameLoad attr body Return If UnaryOpNot Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr Str Call NameLoad AttributeLoad NameLoad attr Return If CompareIsNot NameLoad NameLoad body If UnaryOpNot AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad decorator_list decorator_list
N/A N/A 
Implementation of Bidirectional Forwarding Detection for IPv4 (Single Hop)

This module provides a simple way to let Ryu act like a daemon for running
IPv4 single hop BFD (RFC5881).

Please note that:

* Demand mode and echo function are not yet supported.
* Mechanism on negotiating L2/L3 addresses for an established
  session is not yet implemented.
* The interoperability of authentication support is not tested.
* Configuring a BFD session with too small interval may lead to
  full of event queue and congestion of Openflow channels.
  For deploying a low-latency configuration or with a large number
  of BFD sessions, use standalone BFD daemon instead.
 N/A logging N/A six N/A time N/A random ryu.base app_manager ryu.controller event ryu.controller ofp_event ryu.controller.handler CONFIG_DISPATCHER MAIN_DISPATCHER ryu.controller.handler set_ev_cls ryu.exception RyuException ryu.ofproto.ether ETH_TYPE_IP ETH_TYPE_ARP ryu.ofproto ofproto_v1_3 ryu.ofproto inet ryu.lib ofctl_v1_3 ryu.lib hub ryu.lib.packet packet ryu.lib.packet ethernet ryu.lib.packet ipv4 ryu.lib.packet udp ryu.lib.packet bfd ryu.lib.packet arp ryu.lib.packet.arp ARP_REQUEST ARP_REPLY N/A LOG N/A N/A logging getLogger __name__ N/A UINT16_MAX N/A N/A 1 16 1 N/A UINT32_MAX N/A N/A 1 32 1 N/A BFD_CONTROL_UDP_PORT 3784 N/A BFD_ECHO_UDP_PORT 3785 BFDSession N/A object N/A N/A BFD Session class.

    An instance maintains a BFD session.
     __init__ N/A N/A self app my_discr dpid ofport src_mac src_ip src_port dst_mac dst_ip detect_mult desired_min_tx_interval required_min_rx_interval auth_type auth_keys N/A FF:FF:FF:FF:FF:FF 255.255.255.255 3 1000000 1000000 0 None N/A N/A 
        Initialize a BFD session.

        __init__ takes the corresponding args in this order.

        .. tabularcolumns:: |l|L|

        ========================= ============================================
        Argument                  Description
        ========================= ============================================
        app                       The instance of BFDLib.
        my_discr                  My Discriminator.
        dpid                      Datapath ID of the BFD interface.
        ofport                    Openflow port number of the BFD interface.
        src_mac                   Source MAC address of the BFD interface.
        src_ip                    Source IPv4 address of the BFD interface.
        dst_mac                   (Optional) Destination MAC address of the
                                  BFD interface.
        dst_ip                    (Optional) Destination IPv4 address of the
                                  BFD interface.
        detect_mult               (Optional) Detection time multiplier.
        desired_min_tx_interval   (Optional) Desired Min TX Interval.
                                  (in microseconds)
        required_min_rx_interval  (Optional) Required Min RX Interval.
                                  (in microseconds)
        auth_type                 (Optional) Authentication type.
        auth_keys                 (Optional) A dictionary of authentication
                                  key chain which key is an integer of
                                  *Auth Key ID* and value is a string of
                                  *Password* or *Auth Key*.
        ========================= ============================================

        Example::

            sess = BFDSession(app=self.bfdlib,
                              my_discr=1,
                              dpid=1,
                              ofport=1,
                              src_mac="01:23:45:67:89:AB",
                              src_ip="192.168.1.1",
                              dst_mac="12:34:56:78:9A:BC",
                              dst_ip="192.168.1.2",
                              detect_mult=3,
                              desired_min_tx_interval=1000000,
                              required_min_rx_interval=1000000,
                              auth_type=bfd.BFD_AUTH_KEYED_SHA1,
                              auth_keys={1: "secret key 1",
                                         2: "secret key 2"})
         N/A auth_keys N/A auth_keys auth_keys N/A N/A N/A N/A auth_type N/A N/A len auth_keys 0 N/A N/A self app app N/A N/A self _session_state N/A bfd BFD_STATE_DOWN N/A N/A self _remote_session_state N/A bfd BFD_STATE_DOWN N/A N/A self _local_discr my_discr N/A N/A self _remote_discr 0 N/A N/A self _local_diag 0 N/A N/A self _desired_min_tx_interval 1000000 N/A N/A self _required_min_rx_interval required_min_rx_interval N/A N/A self _remote_min_rx_interval -1 N/A N/A self _demand_mode 0 N/A N/A self _remote_demand_mode 0 N/A N/A self _detect_mult detect_mult N/A N/A self _auth_type auth_type N/A N/A self _auth_keys auth_keys N/A N/A N/A self _auth_type N/A N/A bfd BFD_AUTH_KEYED_MD5 N/A bfd BFD_AUTH_METICULOUS_KEYED_MD5 N/A bfd BFD_AUTH_KEYED_SHA1 N/A bfd BFD_AUTH_METICULOUS_KEYED_SHA1 N/A N/A N/A self _rcv_auth_seq 0 N/A N/A self _xmit_auth_seq N/A N/A random randint 0 UINT32_MAX N/A N/A self _auth_seq_known 0 N/A N/A self _cfg_desired_min_tx_interval desired_min_tx_interval N/A N/A self _cfg_required_min_echo_rx_interval 0 N/A N/A self _active_role True N/A N/A self _detect_time 0 N/A N/A self _xmit_period None N/A N/A N/A self _update_xmit_period N/A N/A self _is_polling True N/A N/A self _pending_final False N/A N/A self _enable_send True N/A N/A self _lock None N/A N/A self src_mac src_mac N/A N/A self dst_mac dst_mac N/A N/A self src_ip src_ip N/A N/A self dst_ip dst_ip N/A N/A self ipv4_id N/A N/A random randint 0 UINT16_MAX N/A N/A self src_port src_port N/A N/A self dst_port BFD_CONTROL_UDP_PORT N/A N/A N/A dst_mac FF:FF:FF:FF:FF:FF N/A dst_ip 255.255.255.255 N/A N/A N/A self _remote_addr_config False N/A N/A N/A self _remote_addr_config True N/A N/A self dpid dpid N/A N/A self datapath None N/A N/A self ofport ofport N/A N/A N/A hub spawn N/A self _send_loop N/A N/A N/A LOG info [BFD][%s][INIT] BFD Session initialized. N/A hex N/A self _local_discr N/A my_discr N/A N/A self N/A N/A N/A 
        Returns My Discriminator of the BFD session.
         N/A N/A self _local_discr N/A property your_discr N/A N/A self N/A N/A N/A 
        Returns Your Discriminator of the BFD session.
         N/A N/A self _remote_discr N/A property set_remote_addr N/A N/A self dst_mac dst_ip N/A N/A N/A 
        Configure remote ethernet and IP addresses.
         N/A N/A self dst_mac dst_mac N/A N/A self dst_ip dst_ip N/A N/A N/A N/A dst_mac FF:FF:FF:FF:FF:FF N/A dst_ip 255.255.255.255 N/A N/A N/A self _remote_addr_config True N/A N/A N/A LOG info [BFD][%s][REMOTE] Remote address configured: %s, %s. N/A hex N/A self _local_discr N/A self dst_ip N/A self dst_mac N/A recv N/A N/A self bfd_pkt N/A N/A N/A 
        BFD packet receiver.
         N/A N/A N/A LOG debug [BFD][%s][RECV] BFD Control received: %s N/A hex N/A self _local_discr N/A N/A six binary_type bfd_pkt N/A N/A self _remote_discr N/A bfd_pkt my_discr N/A N/A self _remote_state N/A bfd_pkt state N/A N/A self _remote_demand_mode N/A N/A bfd_pkt flags N/A bfd BFD_FLAG_DEMAND N/A N/A N/A self _remote_min_rx_interval N/A bfd_pkt required_min_rx_interval N/A N/A N/A self _remote_min_rx_interval N/A bfd_pkt required_min_rx_interval N/A N/A N/A self _update_xmit_period N/A N/A N/A N/A bfd_pkt flags N/A bfd BFD_FLAG_FINAL N/A self _is_polling N/A N/A N/A self _is_polling False N/A N/A N/A self _session_state N/A bfd BFD_STATE_ADMIN_DOWN N/A N/A N/A N/A N/A bfd_pkt state N/A bfd BFD_STATE_ADMIN_DOWN N/A N/A N/A N/A self _session_state N/A bfd BFD_STATE_DOWN N/A N/A N/A N/A self _set_state N/A bfd BFD_STATE_DOWN N/A bfd BFD_DIAG_NEIG_SIG_SESS_DOWN N/A N/A N/A N/A self _session_state N/A bfd BFD_STATE_DOWN N/A N/A N/A N/A bfd_pkt state N/A bfd BFD_STATE_DOWN N/A N/A N/A N/A self _set_state N/A bfd BFD_STATE_INIT N/A N/A N/A N/A bfd_pkt state N/A bfd BFD_STATE_INIT N/A N/A N/A N/A self _set_state N/A bfd BFD_STATE_UP N/A N/A N/A N/A self _session_state N/A bfd BFD_STATE_INIT N/A N/A N/A N/A bfd_pkt state N/A N/A bfd BFD_STATE_INIT N/A bfd BFD_STATE_UP N/A N/A N/A N/A self _set_state N/A bfd BFD_STATE_UP N/A N/A N/A N/A bfd_pkt state N/A bfd BFD_STATE_DOWN N/A N/A N/A N/A self _set_state N/A bfd BFD_STATE_DOWN N/A bfd BFD_DIAG_NEIG_SIG_SESS_DOWN N/A N/A N/A self _remote_demand_mode N/A N/A self _session_state N/A bfd BFD_STATE_UP N/A N/A self _remote_session_state N/A bfd BFD_STATE_UP N/A N/A N/A self _enable_send False N/A N/A N/A N/A self _remote_demand_mode N/A N/A self _session_state N/A bfd BFD_STATE_UP N/A N/A self _remote_session_state N/A bfd BFD_STATE_UP N/A N/A N/A N/A self _enable_send N/A N/A N/A self _enable_send True N/A N/A N/A hub spawn N/A self _send_loop N/A N/A N/A self _detect_time 0 N/A N/A N/A self _detect_time N/A N/A N/A bfd_pkt desired_min_tx_interval N/A bfd_pkt detect_mult 1000000.0 N/A N/A N/A hub spawn N/A self _recv_timeout_loop N/A N/A N/A bfd_pkt flags N/A bfd BFD_FLAG_POLL N/A N/A N/A self _pending_final True N/A N/A self _detect_time N/A N/A N/A bfd_pkt desired_min_tx_interval N/A bfd_pkt detect_mult 1000000.0 N/A N/A N/A self _auth_type N/A N/A bfd BFD_AUTH_KEYED_MD5 N/A bfd BFD_AUTH_METICULOUS_KEYED_MD5 N/A bfd BFD_AUTH_KEYED_SHA1 N/A bfd BFD_AUTH_METICULOUS_KEYED_SHA1 N/A N/A N/A self _rcv_auth_seq N/A N/A bfd_pkt auth_cls seq N/A N/A self _auth_seq_known 1 N/A N/A N/A self _lock None N/A N/A N/A N/A N/A self _lock set N/A _set_state N/A N/A self new_state diag N/A None N/A N/A 
        Set the state of the BFD session.
         N/A old_state N/A self _session_state N/A N/A N/A LOG info [BFD][%s][STATE] State changed from %s to %s. N/A hex N/A self _local_discr N/A N/A bfd BFD_STATE_NAME N/A old_state N/A N/A bfd BFD_STATE_NAME N/A new_state N/A N/A self _session_state new_state N/A N/A new_state N/A bfd BFD_STATE_DOWN N/A N/A N/A diag None N/A N/A N/A self _local_diag diag N/A N/A self _desired_min_tx_interval 1000000 N/A N/A self _is_polling True N/A N/A N/A self _update_xmit_period N/A N/A N/A new_state N/A bfd BFD_STATE_UP N/A N/A N/A self _desired_min_tx_interval N/A self _cfg_desired_min_tx_interval N/A N/A self _is_polling True N/A N/A N/A self _update_xmit_period N/A N/A N/A N/A self app send_event_to_observers N/A EventBFDSessionStateChanged self old_state new_state N/A _recv_timeout_loop N/A N/A self N/A N/A N/A 
        A loop to check timeout of receiving remote BFD packet.
         N/A N/A self _detect_time N/A N/A last_wait N/A N/A time time N/A N/A self _lock N/A N/A hub Event N/A N/A N/A N/A self _lock wait timeout N/A self _detect_time N/A N/A N/A N/A self _lock is_set N/A N/A N/A getattr self _auth_seq_known 0 N/A N/A N/A last_wait N/A N/A N/A time time N/A 2 N/A self _detect_time N/A N/A N/A self _auth_seq_known 0 N/A N/A N/A N/A LOG info [BFD][%s][RECV] BFD Session timed out. N/A hex N/A self _local_discr N/A N/A N/A self _session_state N/A N/A bfd BFD_STATE_DOWN N/A bfd BFD_STATE_ADMIN_DOWN N/A N/A N/A N/A self _set_state N/A bfd BFD_STATE_DOWN N/A bfd BFD_DIAG_CTRL_DETECT_TIME_EXPIRED N/A N/A getattr self _auth_seq_known 0 N/A N/A N/A self _auth_seq_known 0 N/A _update_xmit_period N/A N/A self N/A N/A N/A 
        Update transmission period of the BFD session.
         N/A N/A N/A self _desired_min_tx_interval N/A self _remote_min_rx_interval N/A N/A xmit_period N/A self _desired_min_tx_interval N/A N/A xmit_period N/A self _remote_min_rx_interval N/A N/A N/A self _detect_mult 1 N/A N/A xmit_period N/A N/A N/A random randint 75 90 100.0 N/A N/A xmit_period N/A N/A N/A random randint 75 100 100.0 N/A N/A self _xmit_period N/A xmit_period 1000000.0 N/A N/A N/A LOG info [BFD][%s][XMIT] Transmission period changed to %f N/A hex N/A self _local_discr N/A self _xmit_period N/A _send_loop N/A N/A self N/A N/A N/A 
        A loop to proceed periodic BFD packet transmission.
         N/A N/A self _enable_send N/A N/A N/A N/A hub sleep N/A self _xmit_period N/A N/A N/A N/A self _remote_discr 0 N/A N/A self _active_role N/A N/A N/A N/A N/A self _remote_min_rx_interval 0 N/A N/A N/A N/A N/A self _remote_demand_mode N/A N/A self _session_state N/A bfd BFD_STATE_UP N/A N/A self _remote_session_state N/A bfd BFD_STATE_UP N/A N/A self _is_polling N/A N/A N/A N/A N/A self _send N/A _send N/A N/A self N/A N/A N/A 
        BFD packet sender.
         N/A N/A N/A self datapath None N/A N/A N/A flags 0 N/A N/A self _pending_final N/A N/A flags N/A bfd BFD_FLAG_FINAL N/A N/A self _pending_final False N/A N/A self _is_polling False N/A N/A self _is_polling N/A N/A flags N/A bfd BFD_FLAG_POLL N/A auth_cls None N/A N/A self _auth_type N/A N/A auth_key_id N/A N/A list N/A N/A N/A self _auth_keys keys N/A N/A N/A random randint 0 N/A N/A len N/A list N/A N/A N/A self _auth_keys keys 1 N/A auth_key N/A N/A self _auth_keys N/A auth_key_id N/A N/A N/A self _auth_type N/A bfd BFD_AUTH_SIMPLE_PASS N/A N/A auth_cls N/A N/A bfd SimplePassword auth_key_id auth_key_id password auth_key N/A N/A N/A self _auth_type N/A N/A bfd BFD_AUTH_KEYED_MD5 N/A bfd BFD_AUTH_METICULOUS_KEYED_MD5 N/A bfd BFD_AUTH_KEYED_SHA1 N/A bfd BFD_AUTH_METICULOUS_KEYED_SHA1 N/A N/A N/A N/A self _auth_type N/A N/A bfd BFD_AUTH_KEYED_MD5 N/A bfd BFD_AUTH_KEYED_SHA1 N/A N/A N/A N/A random randint 0 1 N/A N/A N/A self _xmit_auth_seq N/A N/A N/A self _xmit_auth_seq 1 UINT32_MAX N/A N/A N/A self _xmit_auth_seq N/A N/A N/A self _xmit_auth_seq 1 UINT32_MAX N/A auth_cls N/A N/A N/A N/A bfd bfd _auth_parsers N/A N/A self _auth_type auth_key_id auth_key_id seq N/A self _xmit_auth_seq auth_key auth_key N/A N/A auth_cls None N/A N/A flags N/A bfd BFD_FLAG_AUTH_PRESENT N/A N/A N/A self _demand_mode N/A N/A self _session_state N/A bfd BFD_STATE_UP N/A N/A self _remote_session_state N/A bfd BFD_STATE_UP N/A N/A flags N/A bfd BFD_FLAG_DEMAND N/A ver 1 N/A diag N/A self _local_diag N/A state N/A self _session_state N/A detect_mult N/A self _detect_mult N/A my_discr N/A self _local_discr N/A your_discr N/A self _remote_discr N/A desired_min_tx_interval N/A self _desired_min_tx_interval N/A required_min_rx_interval N/A self _required_min_rx_interval N/A required_min_echo_rx_interval N/A self _cfg_required_min_echo_rx_interval N/A src_mac N/A self src_mac N/A dst_mac N/A self dst_mac N/A src_ip N/A self src_ip N/A dst_ip N/A self dst_ip N/A N/A self ipv4_id N/A N/A N/A self ipv4_id 1 UINT16_MAX N/A ipv4_id N/A self ipv4_id N/A src_port N/A self src_port N/A dst_port N/A self dst_port N/A data N/A N/A BFDPacket bfd_packet src_mac src_mac dst_mac dst_mac src_ip src_ip dst_ip dst_ip ipv4_id ipv4_id src_port src_port dst_port dst_port diag diag state state flags flags detect_mult detect_mult my_discr my_discr your_discr your_discr desired_min_tx_interval desired_min_tx_interval required_min_rx_interval required_min_rx_interval required_min_echo_rx_interval required_min_echo_rx_interval auth_cls auth_cls N/A datapath N/A self datapath N/A ofproto N/A datapath ofproto N/A parser N/A datapath ofproto_parser N/A actions N/A N/A N/A parser OFPActionOutput N/A self ofport N/A out N/A N/A parser OFPPacketOut datapath datapath buffer_id N/A ofproto OFP_NO_BUFFER in_port N/A ofproto OFPP_CONTROLLER actions actions data data N/A N/A N/A datapath send_msg out N/A N/A N/A LOG debug [BFD][%s][SEND] BFD Control sent. N/A hex N/A self _local_discr N/A N/A BFDPacket N/A object N/A N/A 
    BFDPacket class for parsing raw BFD packet, and generating BFD packet with
    Ethernet, IPv4, and UDP headers.
     BFDUnknownFormat N/A RyuException N/A N/A message %(msg)s N/A bfd_packet N/A N/A src_mac dst_mac src_ip dst_ip ipv4_id src_port dst_port diag state flags detect_mult my_discr your_discr desired_min_tx_interval required_min_rx_interval required_min_echo_rx_interval auth_cls N/A 0 0 0 0 0 0 0 0 0 None N/A N/A 
        Generate BFD packet with Ethernet/IPv4/UDP encapsulated.
         N/A pkt N/A N/A packet Packet N/A eth_pkt N/A N/A ethernet ethernet dst_mac src_mac ETH_TYPE_IP N/A N/A N/A pkt add_protocol eth_pkt N/A ipv4_pkt N/A N/A ipv4 ipv4 proto N/A inet IPPROTO_UDP src src_ip dst dst_ip tos 192 identification ipv4_id ttl 255 N/A N/A N/A pkt add_protocol ipv4_pkt N/A udp_pkt N/A N/A udp udp src_port src_port dst_port dst_port N/A N/A N/A pkt add_protocol udp_pkt N/A bfd_pkt N/A N/A bfd bfd ver 1 diag diag state state flags flags detect_mult detect_mult my_discr my_discr your_discr your_discr desired_min_tx_interval desired_min_tx_interval required_min_rx_interval required_min_rx_interval required_min_echo_rx_interval required_min_echo_rx_interval auth_cls auth_cls N/A N/A N/A pkt add_protocol bfd_pkt N/A N/A N/A pkt serialize N/A N/A pkt data N/A staticmethod bfd_parse N/A N/A data N/A N/A N/A 
        Parse raw packet and return BFD class from packet library.
         N/A pkt N/A N/A packet Packet data N/A i N/A iter pkt N/A eth_pkt N/A next i N/A N/A N/A type eth_pkt N/A ethernet ethernet N/A ipv4_pkt N/A next i N/A N/A N/A type ipv4_pkt N/A ipv4 ipv4 N/A udp_pkt N/A N/A i next N/A N/A N/A type udp_pkt N/A udp udp N/A udp_payload N/A next i N/A N/A N/A N/A N/A bfd bfd parser udp_payload N/A 0 N/A staticmethod N/A ARPPacket N/A object N/A N/A 
    ARPPacket class for parsing raw ARP packet, and generating ARP packet with
    Ethernet header.
     ARPUnknownFormat N/A RyuException N/A N/A message %(msg)s N/A arp_packet N/A N/A opcode src_mac src_ip dst_mac dst_ip N/A N/A N/A 
        Generate ARP packet with ethernet encapsulated.
         N/A pkt N/A N/A packet Packet N/A eth_pkt N/A N/A ethernet ethernet dst_mac src_mac ETH_TYPE_ARP N/A N/A N/A pkt add_protocol eth_pkt N/A arp_pkt N/A N/A arp arp_ip opcode src_mac src_ip dst_mac dst_ip N/A N/A N/A pkt add_protocol arp_pkt N/A N/A N/A pkt serialize N/A N/A pkt data N/A staticmethod arp_parse N/A N/A data N/A N/A N/A 
        Parse ARP packet, return ARP class from packet library.
         N/A pkt N/A N/A packet Packet data N/A i N/A iter pkt N/A eth_pkt N/A next i N/A N/A N/A type eth_pkt N/A ethernet ethernet N/A arp_pkt N/A next i N/A N/A N/A type arp_pkt N/A arp arp N/A N/A N/A N/A ARPPacket ARPUnknownFormat N/A N/A N/A arp_pkt opcode N/A ARP_REQUEST ARP_REPLY N/A N/A N/A N/A ARPPacket ARPUnknownFormat msg N/A unsupported opcode %d N/A arp_pkt opcode N/A N/A N/A arp_pkt proto ETH_TYPE_IP N/A N/A N/A N/A ARPPacket ARPUnknownFormat msg N/A unsupported arp ethtype 0x%04x N/A arp_pkt proto N/A arp_pkt N/A staticmethod N/A EventBFDSessionStateChanged N/A N/A event EventBase N/A N/A 
    An event class that notifies the state change of a BFD session.
     __init__ N/A N/A self session old_state new_state N/A N/A N/A N/A N/A N/A super EventBFDSessionStateChanged self __init__ N/A N/A self session session N/A N/A self old_state old_state N/A N/A self new_state new_state N/A N/A BFDLib N/A N/A app_manager RyuApp N/A N/A 
    BFD daemon library.

    Add this library as a context in your app and use ``add_bfd_session``
    function to establish a BFD session.

    Example::

        from ryu.base import app_manager
        from ryu.controller.handler import set_ev_cls
        from ryu.ofproto import ofproto_v1_3
        from ryu.lib import bfdlib
        from ryu.lib.packet import bfd

        class Foo(app_manager.RyuApp):
            OFP_VERSIONS = [ofproto_v1_3.OFP_VERSION]

            _CONTEXTS = {
                'bfdlib': bfdlib.BFDLib
            }

            def __init__(self, *args, **kwargs):
                super(Foo, self).__init__(*args, **kwargs)
                self.bfdlib = kwargs['bfdlib']
                self.my_discr =                     self.bfdlib.add_bfd_session(dpid=1,
                                                ofport=1,
                                                src_mac="00:23:45:67:89:AB",
                                                src_ip="192.168.1.1")

            @set_ev_cls(bfdlib.EventBFDSessionStateChanged)
            def bfd_state_handler(self, ev):
                if ev.session.my_discr != self.my_discr:
                    return

                if ev.new_state == bfd.BFD_STATE_DOWN:
                    print "BFD Session=%d is DOWN!" % ev.session.my_discr
                elif ev.new_state == bfd.BFD_STATE_UP:
                    print "BFD Session=%d is UP!" % ev.session.my_discr
     N/A OFP_VERSIONS N/A N/A ofproto_v1_3 OFP_VERSION N/A _EVENTS N/A EventBFDSessionStateChanged __init__ N/A N/A self N/A args kwargs N/A N/A N/A N/A N/A super BFDLib self __init__ args kwargs N/A N/A self session N/A N/A close N/A N/A self N/A N/A N/A N/A switch_features_handler N/A N/A self ev N/A N/A N/A datapath N/A N/A ev msg datapath N/A ofproto N/A datapath ofproto N/A parser N/A datapath ofproto_parser N/A s N/A N/A N/A self session values N/A N/A N/A N/A s dpid N/A datapath id N/A N/A N/A s datapath datapath N/A match N/A N/A parser OFPMatch eth_type ETH_TYPE_ARP N/A actions N/A N/A N/A parser OFPActionOutput N/A ofproto OFPP_CONTROLLER N/A ofproto OFPCML_NO_BUFFER N/A N/A N/A self add_flow datapath 65535 match actions N/A match N/A N/A parser OFPMatch eth_type ETH_TYPE_IP ip_proto N/A inet IPPROTO_UDP udp_dst 3784 N/A actions N/A N/A N/A parser OFPActionOutput N/A ofproto OFPP_CONTROLLER N/A ofproto OFPCML_NO_BUFFER N/A N/A N/A self add_flow datapath 65535 match actions N/A N/A set_ev_cls N/A ofp_event EventOFPSwitchFeatures CONFIG_DISPATCHER add_flow N/A N/A self datapath priority match actions N/A N/A N/A ofproto N/A datapath ofproto N/A parser N/A datapath ofproto_parser N/A inst N/A N/A N/A parser OFPInstructionActions N/A ofproto OFPIT_APPLY_ACTIONS actions N/A mod N/A N/A parser OFPFlowMod datapath datapath priority priority match match instructions inst N/A N/A N/A datapath send_msg mod N/A _packet_in_handler N/A N/A self ev N/A N/A N/A msg N/A ev msg N/A datapath N/A msg datapath N/A ofproto N/A datapath ofproto N/A parser N/A datapath ofproto_parser N/A in_port N/A N/A msg match N/A in_port N/A pkt N/A N/A packet Packet N/A msg data N/A N/A N/A arp arp pkt N/A N/A arp_pkt N/A N/A ARPPacket arp_parse N/A msg data N/A N/A N/A arp_pkt opcode ARP_REQUEST N/A N/A s N/A N/A N/A self session values N/A N/A N/A N/A N/A s dpid N/A datapath id N/A N/A s ofport in_port N/A N/A s src_ip N/A arp_pkt dst_ip N/A N/A ans N/A N/A ARPPacket arp_packet ARP_REPLY N/A s src_mac N/A s src_ip N/A arp_pkt src_mac N/A arp_pkt src_ip N/A actions N/A N/A N/A parser OFPActionOutput in_port N/A out N/A N/A parser OFPPacketOut datapath datapath buffer_id N/A ofproto OFP_NO_BUFFER in_port N/A ofproto OFPP_CONTROLLER actions actions data ans N/A N/A N/A datapath send_msg out N/A N/A N/A N/A N/A N/A ipv4 ipv4 pkt N/A N/A udp udp pkt N/A N/A N/A udp_hdr N/A N/A N/A pkt get_protocols N/A udp udp N/A 0 N/A N/A N/A udp_hdr dst_port BFD_CONTROL_UDP_PORT N/A N/A N/A N/A N/A self recv_bfd_pkt datapath in_port N/A msg data N/A N/A set_ev_cls N/A ofp_event EventOFPPacketIn MAIN_DISPATCHER add_bfd_session N/A N/A self dpid ofport src_mac src_ip dst_mac dst_ip auth_type auth_keys N/A FF:FF:FF:FF:FF:FF 255.255.255.255 0 None N/A N/A 
        Establish a new BFD session and return My Discriminator of new session.

        Configure the BFD session with the following arguments.

        ================ ======================================================
        Argument         Description
        ================ ======================================================
        dpid             Datapath ID of the BFD interface.
        ofport           Openflow port number of the BFD interface.
        src_mac          Source MAC address of the BFD interface.
        src_ip           Source IPv4 address of the BFD interface.
        dst_mac          (Optional) Destination MAC address of the BFD
                         interface.
        dst_ip           (Optional) Destination IPv4 address of the BFD
                         interface.
        auth_type        (Optional) Authentication type.
        auth_keys        (Optional) A dictionary of authentication key chain
                         which key is an integer of *Auth Key ID* and value
                         is a string of *Password* or *Auth Key*.
        ================ ======================================================

        Example::

            add_bfd_session(dpid=1,
                            ofport=1,
                            src_mac="01:23:45:67:89:AB",
                            src_ip="192.168.1.1",
                            dst_mac="12:34:56:78:9A:BC",
                            dst_ip="192.168.1.2",
                            auth_type=bfd.BFD_AUTH_KEYED_SHA1,
                            auth_keys={1: "secret key 1",
                                       2: "secret key 2"})
         N/A auth_keys N/A auth_keys auth_keys N/A N/A True N/A N/A my_discr N/A N/A random randint 1 UINT32_MAX N/A src_port N/A N/A random randint 49152 65535 N/A N/A my_discr N/A self session N/A N/A N/A unique_flag True N/A s N/A N/A N/A self session values N/A N/A N/A N/A N/A s your_discr my_discr N/A N/A s src_port src_port N/A N/A unique_flag False N/A N/A unique_flag N/A N/A N/A sess N/A BFDSession app self my_discr my_discr dpid dpid ofport ofport src_mac src_mac src_ip src_ip src_port src_port dst_mac dst_mac dst_ip dst_ip auth_type auth_type auth_keys auth_keys N/A N/A N/A self session N/A my_discr sess N/A my_discr N/A recv_bfd_pkt N/A N/A self datapath in_port data N/A N/A N/A pkt N/A N/A packet Packet data N/A eth N/A N/A N/A pkt get_protocols N/A ethernet ethernet N/A 0 N/A N/A N/A eth ethertype ETH_TYPE_IP N/A N/A N/A ip_pkt N/A N/A N/A pkt get_protocols N/A ipv4 ipv4 N/A 0 N/A N/A N/A ip_pkt ttl 255 N/A N/A N/A bfd_pkt N/A N/A BFDPacket bfd_parse data N/A N/A N/A isinstance bfd_pkt N/A bfd bfd N/A N/A N/A N/A N/A bfd_pkt ver 1 N/A N/A N/A N/A N/A bfd_pkt flags N/A bfd BFD_FLAG_AUTH_PRESENT N/A N/A N/A N/A bfd_pkt length 26 N/A N/A N/A N/A N/A N/A bfd_pkt length 24 N/A N/A N/A N/A N/A bfd_pkt detect_mult 0 N/A N/A N/A N/A N/A bfd_pkt flags N/A bfd BFD_FLAG_MULTIPOINT N/A N/A N/A N/A N/A bfd_pkt my_discr 0 N/A N/A N/A N/A N/A N/A bfd_pkt your_discr 0 N/A N/A bfd_pkt your_discr N/A self session N/A N/A N/A N/A N/A N/A bfd_pkt your_discr 0 N/A N/A bfd_pkt state N/A N/A bfd BFD_STATE_ADMIN_DOWN N/A bfd BFD_STATE_DOWN N/A N/A N/A sess_my_discr None N/A N/A N/A bfd_pkt your_discr 0 N/A N/A s N/A N/A N/A self session values N/A N/A N/A N/A N/A s dpid N/A datapath id N/A N/A s ofport in_port N/A N/A sess_my_discr N/A s my_discr N/A N/A N/A sess_my_discr None N/A N/A N/A N/A sess_my_discr N/A bfd_pkt your_discr N/A sess N/A N/A self session N/A sess_my_discr N/A N/A N/A N/A bfd_pkt flags N/A bfd BFD_FLAG_AUTH_PRESENT N/A N/A sess _auth_type 0 N/A N/A N/A N/A N/A N/A N/A bfd_pkt flags N/A bfd BFD_FLAG_AUTH_PRESENT 0 N/A N/A sess _auth_type 0 N/A N/A N/A N/A N/A bfd_pkt flags N/A bfd BFD_FLAG_AUTH_PRESENT N/A N/A N/A N/A sess _auth_type 0 N/A N/A N/A N/A N/A N/A bfd_pkt auth_cls auth_type N/A sess _auth_type N/A N/A N/A N/A N/A sess _auth_type N/A N/A bfd BFD_AUTH_KEYED_MD5 N/A bfd BFD_AUTH_METICULOUS_KEYED_MD5 N/A bfd BFD_AUTH_KEYED_SHA1 N/A bfd BFD_AUTH_METICULOUS_KEYED_SHA1 N/A N/A N/A sess _auth_seq_known N/A N/A N/A N/A N/A bfd_pkt auth_cls seq N/A sess _rcv_auth_seq N/A N/A N/A N/A N/A sess _auth_type N/A N/A bfd BFD_AUTH_METICULOUS_KEYED_MD5 N/A bfd BFD_AUTH_METICULOUS_KEYED_SHA1 N/A N/A N/A N/A N/A bfd_pkt auth_cls seq N/A sess _rcv_auth_seq N/A N/A N/A N/A N/A N/A bfd_pkt auth_cls seq N/A N/A sess _rcv_auth_seq N/A 3 N/A sess _detect_mult N/A N/A N/A N/A N/A N/A bfd_pkt authenticate N/A sess _auth_keys N/A N/A N/A N/A LOG debug [BFD][%s][AUTH] BFD Control authentication failed. N/A hex N/A sess _local_discr N/A N/A N/A sess None N/A N/A N/A N/A sess _remote_addr_config N/A N/A N/A N/A sess set_remote_addr N/A eth src N/A ip_pkt src N/A N/A N/A sess recv bfd_pkt N/A N/A