def METHOD_NAME(self, configuration):
    """
    OvS bridges are created on each of the matched hosts with two ports.
    One port as an integration port and another port of type VXLAN acting
    as a tunnel interface connecting tunneled networks.
    Integration ports are configured with IPv4 and IPv6 addresses
    of the tunneled networks.
    """
    endpoint1, endpoint2 = configuration.tunnel_endpoints
    m1 = endpoint1.netns
    m2 = endpoint2.netns
    ip_filter = {"family": AF_INET}
    for i, (host, endpoint) in enumerate([(m1, endpoint2), (m2, endpoint1)]):
        remote_ip = endpoint.ips_filter(**ip_filter)[0]
        host.br0 = OvsBridgeDevice()
        host.int0 = host.br0.port_add(
            interface_options={"type": "internal", "ofport_request": 5}
        )
        configuration.tunnel_devices.append(host.int0)
        host.int0.ip_add(ipaddress("192.168.200." + str(i + 1) + "/24"))
        host.int0.ip_add(ipaddress("fc00::" + str(i + 1) + "/64"))
        host.br0.tunnel_add(
            "vxlan",
            {
                "options:remote_ip": remote_ip,
                "options:key": "flow",
                "ofport_request": 10,
            },
        )
        host.br0.flows_add(
            [
                "table=0,in_port=5,actions=set_field:1234->tun_id,output:10",
                "table=0,in_port=10,tun_id=1234,actions=output:5",
                "table=0,priority=100,actions=drop",
            ]
        )
        host.br0.up()
        host.int0.up()
    self.wait_tentative_ips(configuration.tunnel_devices)