Example #1
0
 def __update_route_rspec(self, route, sliver, controllers, groups,
                          matches):
     for key, rspec in route.iteritems():
         rspec.sliver(sliver.get("description"), sliver.get("ref"),
                      sliver.get("email"))
         for c in controllers:
             rspec.controller(c.get("url"), c.get("type"))
         for g in groups:
             rspec.group(g.get("name"))
             for dpid in g.get("dpids"):
                 if dpid.get("routing_key") == key:
                     rspec.group_datapath(g.get("name"), dpid)
         for m in matches:
             match = Match()
             for uf in m.get("use_groups"):
                 match.add_use_group(uf.get("name"))
             for dpid in m.get("dpids"):
                 if dpid.get("routing_key") == key:
                     match.add_datapath(dpid)
             match.set_packet(
                 m.get("packet").get("dl_src"),
                 m.get("packet").get("dl_dst"),
                 m.get("packet").get("dl_type"),
                 m.get("packet").get("dl_vlan"),
                 m.get("packet").get("nw_src"),
                 m.get("packet").get("nw_dst"),
                 m.get("packet").get("nw_proto"),
                 m.get("packet").get("tp_src"),
                 m.get("packet").get("tp_dst"))
             rspec.match(match.serialize())
Example #2
0
 def __update_route_rspec(self, route, sliver, controllers, groups,
                          matches):
     for key, rspec in route.iteritems():
         rspec.sliver(sliver.get("description"), sliver.get("ref"),
                      sliver.get("email"))
         for c in controllers:
             rspec.controller(c.get("url"), c.get("type"))
         for g in groups:
             rspec.group(g.get("name"))
             for dpid in g.get("dpids"):
                 if dpid.get("routing_key") == key:
                     rspec.group_datapath(g.get("name"), dpid)
         for m in matches:
             match = Match()
             for uf in m.get("use_groups"):
                 match.add_use_group(uf.get("name"))
             for dpid in m.get("dpids"):
                 if dpid.get("routing_key") == key:
                     match.add_datapath(dpid)
             match.set_packet(m.get("packet").get("dl_src"),
                              m.get("packet").get("dl_dst"),
                              m.get("packet").get("dl_type"),
                              m.get("packet").get("dl_vlan"),
                              m.get("packet").get("nw_src"),
                              m.get("packet").get("nw_dst"),
                              m.get("packet").get("nw_proto"),
                              m.get("packet").get("tp_src"),
                              m.get("packet").get("tp_dst"))
             rspec.match(match.serialize())
Example #3
0
    def format_match(self, m):
        m_ = Match()
        for ug in m.iterfind("{%s}use-group" % (self.__of)):
            m_.add_use_group(ug.attrib.get("name"))

        for dp in m.iterfind("{%s}datapath" % (self.__of)):
            m_.add_datapath(self.__datapath(dp))

        packet_ = m.find("{%s}packet" % (self.__of))
        if packet_ is not None:
            dl_src = self.__packet(packet_, "dl_src")
            dl_dst = self.__packet(packet_, "dl_dst")
            dl_type = self.__packet(packet_, "dl_type")
            dl_vlan = self.__packet(packet_, "dl_vlan")
            nw_src = self.__packet(packet_, "nw_src")
            nw_dst = self.__packet(packet_, "nw_dst")
            nw_proto = self.__packet(packet_, "nw_proto")
            tp_src = self.__packet(packet_, "tp_src")
            tp_dst = self.__packet(packet_, "tp_dst")

            m_.set_packet(dl_src, dl_dst, dl_type, dl_vlan, nw_src, nw_dst,
                          nw_proto, tp_src, tp_dst)
        return m_
Example #4
0
    def format_match(self, m):
        m_ = Match()
        for ug in m.iterfind("{%s}use-group" % (self.__of)):
            m_.add_use_group(ug.attrib.get("name"))

        for dp in m.iterfind("{%s}datapath" % (self.__of)):
            m_.add_datapath(self.__datapath(dp))

        packet_ = m.find("{%s}packet" % (self.__of))
        if packet_ is not None:
            dl_src = self.__packet(packet_, "dl_src")
            dl_dst = self.__packet(packet_, "dl_dst")
            dl_type = self.__packet(packet_, "dl_type")
            dl_vlan = self.__packet(packet_, "dl_vlan")
            nw_src = self.__packet(packet_, "nw_src")
            nw_dst = self.__packet(packet_, "nw_dst")
            nw_proto = self.__packet(packet_, "nw_proto")
            tp_src = self.__packet(packet_, "tp_src")
            tp_dst = self.__packet(packet_, "tp_dst")

            m_.set_packet(dl_src, dl_dst, dl_type, dl_vlan,
                          nw_src, nw_dst, nw_proto, tp_src, tp_dst)
        return m_