]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/seastar/include/seastar/net/api.hh
import quincy beta 17.1.0
[ceph.git] / ceph / src / seastar / include / seastar / net / api.hh
index 6c2048c90f11eebd69cec5b47b01b8d4d09cf6d6..e6ea72b60acc53768738a4ceea0c47a8b811617c 100644 (file)
@@ -31,6 +31,7 @@
 #include <seastar/core/temporary_buffer.hh>
 #include <seastar/core/iostream.hh>
 #include <seastar/util/std-compat.hh>
+#include <seastar/util/program-options.hh>
 #include "../core/internal/api-level.hh"
 #include <sys/types.h>
 
@@ -210,6 +211,8 @@ public:
     /// Linux users should refer to protocol-specific manuals
     /// to see available options, e.g. tcp(7), ip(7), etc.
     int get_sockopt(int level, int optname, void* data, size_t len) const;
+    /// Local address of the socket
+    socket_address local_address() const noexcept;
 
     /// Disables output to the socket.
     ///
@@ -389,4 +392,13 @@ public:
     virtual std::vector<network_interface> network_interfaces();
 };
 
+struct network_stack_entry {
+    using factory_func = noncopyable_function<future<std::unique_ptr<network_stack>> (const program_options::option_group&)>;
+
+    sstring name;
+    std::unique_ptr<program_options::option_group> opts;
+    factory_func factory;
+    bool is_default;
+};
+
 }