Skip to content

Commit 4901ada

Browse files
committed
chore(vmm): rebuild UI with bridge networking changes
1 parent 48036df commit 4901ada

2 files changed

Lines changed: 249 additions & 4 deletions

File tree

port-forward/src/udp.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,15 +86,17 @@ pub async fn run_udp_forwarder(
8686
let entry = match map.entry(client_addr) {
8787
std::collections::hash_map::Entry::Occupied(e) => e.into_mut(),
8888
std::collections::hash_map::Entry::Vacant(e) => {
89-
let std_sock = match std::net::UdpSocket::bind("0.0.0.0:0") {
89+
let socket = match (|| -> anyhow::Result<Arc<UdpSocket>> {
90+
let std_sock = std::net::UdpSocket::bind("0.0.0.0:0")?;
91+
std_sock.set_nonblocking(true)?;
92+
Ok(Arc::new(UdpSocket::from_std(std_sock)?))
93+
})() {
9094
Ok(s) => s,
9195
Err(e) => {
92-
tracing::warn!("udp ephemeral bind for {client_addr}: {e}");
96+
tracing::warn!("udp ephemeral socket for {client_addr}: {e}");
9397
continue;
9498
}
9599
};
96-
std_sock.set_nonblocking(true).unwrap();
97-
let socket = Arc::new(UdpSocket::from_std(std_sock).unwrap());
98100

99101
let return_cancel = cancel.child_token();
100102
tokio::spawn(udp_return_path(

vmm/src/console_v1.html

Lines changed: 243 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13362,8 +13362,251 @@ <h3>Derive VM</h3>
1336213362
* @returns {Promise<vmm.ReloadVmsResponse>} Promise
1336313363
* @variation 2
1336413364
*/
13365+
/**
13366+
* Callback as used by {@link vmm.Vmm#reportDhcpLease}.
13367+
* @memberof vmm.Vmm
13368+
* @typedef ReportDhcpLeaseCallback
13369+
* @type {function}
13370+
* @param {Error|null} error Error, if any
13371+
* @param {google.protobuf.Empty} [response] Empty
13372+
*/
13373+
/**
13374+
* Calls ReportDhcpLease.
13375+
* @function reportDhcpLease
13376+
* @memberof vmm.Vmm
13377+
* @instance
13378+
* @param {vmm.IDhcpLeaseRequest} request DhcpLeaseRequest message or plain object
13379+
* @param {vmm.Vmm.ReportDhcpLeaseCallback} callback Node-style callback called with the error, if any, and Empty
13380+
* @returns {undefined}
13381+
* @variation 1
13382+
*/
13383+
Object.defineProperty(Vmm.prototype.reportDhcpLease = function reportDhcpLease(request, callback) {
13384+
return this.rpcCall(reportDhcpLease, $root.vmm.DhcpLeaseRequest, $root.google.protobuf.Empty, request, callback);
13385+
}, "name", { value: "ReportDhcpLease" });
13386+
/**
13387+
* Calls ReportDhcpLease.
13388+
* @function reportDhcpLease
13389+
* @memberof vmm.Vmm
13390+
* @instance
13391+
* @param {vmm.IDhcpLeaseRequest} request DhcpLeaseRequest message or plain object
13392+
* @returns {Promise<google.protobuf.Empty>} Promise
13393+
* @variation 2
13394+
*/
1336513395
return Vmm;
1336613396
})();
13397+
vmm.DhcpLeaseRequest = (function () {
13398+
/**
13399+
* Properties of a DhcpLeaseRequest.
13400+
* @memberof vmm
13401+
* @interface IDhcpLeaseRequest
13402+
* @property {string|null} [mac] DhcpLeaseRequest mac
13403+
* @property {string|null} [ip] DhcpLeaseRequest ip
13404+
*/
13405+
/**
13406+
* Constructs a new DhcpLeaseRequest.
13407+
* @memberof vmm
13408+
* @classdesc Represents a DhcpLeaseRequest.
13409+
* @implements IDhcpLeaseRequest
13410+
* @constructor
13411+
* @param {vmm.IDhcpLeaseRequest=} [properties] Properties to set
13412+
*/
13413+
function DhcpLeaseRequest(properties) {
13414+
if (properties)
13415+
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
13416+
if (properties[keys[i]] != null)
13417+
this[keys[i]] = properties[keys[i]];
13418+
}
13419+
/**
13420+
* DhcpLeaseRequest mac.
13421+
* @member {string} mac
13422+
* @memberof vmm.DhcpLeaseRequest
13423+
* @instance
13424+
*/
13425+
DhcpLeaseRequest.prototype.mac = "";
13426+
/**
13427+
* DhcpLeaseRequest ip.
13428+
* @member {string} ip
13429+
* @memberof vmm.DhcpLeaseRequest
13430+
* @instance
13431+
*/
13432+
DhcpLeaseRequest.prototype.ip = "";
13433+
/**
13434+
* Creates a new DhcpLeaseRequest instance using the specified properties.
13435+
* @function create
13436+
* @memberof vmm.DhcpLeaseRequest
13437+
* @static
13438+
* @param {vmm.IDhcpLeaseRequest=} [properties] Properties to set
13439+
* @returns {vmm.DhcpLeaseRequest} DhcpLeaseRequest instance
13440+
*/
13441+
DhcpLeaseRequest.create = function create(properties) {
13442+
return new DhcpLeaseRequest(properties);
13443+
};
13444+
/**
13445+
* Encodes the specified DhcpLeaseRequest message. Does not implicitly {@link vmm.DhcpLeaseRequest.verify|verify} messages.
13446+
* @function encode
13447+
* @memberof vmm.DhcpLeaseRequest
13448+
* @static
13449+
* @param {vmm.IDhcpLeaseRequest} message DhcpLeaseRequest message or plain object to encode
13450+
* @param {$protobuf.Writer} [writer] Writer to encode to
13451+
* @returns {$protobuf.Writer} Writer
13452+
*/
13453+
DhcpLeaseRequest.encode = function encode(message, writer) {
13454+
if (!writer)
13455+
writer = $Writer.create();
13456+
if (message.mac != null && Object.hasOwnProperty.call(message, "mac"))
13457+
writer.uint32(/* id 1, wireType 2 =*/ 10).string(message.mac);
13458+
if (message.ip != null && Object.hasOwnProperty.call(message, "ip"))
13459+
writer.uint32(/* id 2, wireType 2 =*/ 18).string(message.ip);
13460+
return writer;
13461+
};
13462+
/**
13463+
* Encodes the specified DhcpLeaseRequest message, length delimited. Does not implicitly {@link vmm.DhcpLeaseRequest.verify|verify} messages.
13464+
* @function encodeDelimited
13465+
* @memberof vmm.DhcpLeaseRequest
13466+
* @static
13467+
* @param {vmm.IDhcpLeaseRequest} message DhcpLeaseRequest message or plain object to encode
13468+
* @param {$protobuf.Writer} [writer] Writer to encode to
13469+
* @returns {$protobuf.Writer} Writer
13470+
*/
13471+
DhcpLeaseRequest.encodeDelimited = function encodeDelimited(message, writer) {
13472+
return this.encode(message, writer).ldelim();
13473+
};
13474+
/**
13475+
* Decodes a DhcpLeaseRequest message from the specified reader or buffer.
13476+
* @function decode
13477+
* @memberof vmm.DhcpLeaseRequest
13478+
* @static
13479+
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
13480+
* @param {number} [length] Message length if known beforehand
13481+
* @returns {vmm.DhcpLeaseRequest} DhcpLeaseRequest
13482+
* @throws {Error} If the payload is not a reader or valid buffer
13483+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
13484+
*/
13485+
DhcpLeaseRequest.decode = function decode(reader, length, error) {
13486+
if (!(reader instanceof $Reader))
13487+
reader = $Reader.create(reader);
13488+
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.vmm.DhcpLeaseRequest();
13489+
while (reader.pos < end) {
13490+
var tag = reader.uint32();
13491+
if (tag === error)
13492+
break;
13493+
switch (tag >>> 3) {
13494+
case 1: {
13495+
message.mac = reader.string();
13496+
break;
13497+
}
13498+
case 2: {
13499+
message.ip = reader.string();
13500+
break;
13501+
}
13502+
default:
13503+
reader.skipType(tag & 7);
13504+
break;
13505+
}
13506+
}
13507+
return message;
13508+
};
13509+
/**
13510+
* Decodes a DhcpLeaseRequest message from the specified reader or buffer, length delimited.
13511+
* @function decodeDelimited
13512+
* @memberof vmm.DhcpLeaseRequest
13513+
* @static
13514+
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
13515+
* @returns {vmm.DhcpLeaseRequest} DhcpLeaseRequest
13516+
* @throws {Error} If the payload is not a reader or valid buffer
13517+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
13518+
*/
13519+
DhcpLeaseRequest.decodeDelimited = function decodeDelimited(reader) {
13520+
if (!(reader instanceof $Reader))
13521+
reader = new $Reader(reader);
13522+
return this.decode(reader, reader.uint32());
13523+
};
13524+
/**
13525+
* Verifies a DhcpLeaseRequest message.
13526+
* @function verify
13527+
* @memberof vmm.DhcpLeaseRequest
13528+
* @static
13529+
* @param {Object.<string,*>} message Plain object to verify
13530+
* @returns {string|null} `null` if valid, otherwise the reason why it is not
13531+
*/
13532+
DhcpLeaseRequest.verify = function verify(message) {
13533+
if (typeof message !== "object" || message === null)
13534+
return "object expected";
13535+
if (message.mac != null && message.hasOwnProperty("mac"))
13536+
if (!$util.isString(message.mac))
13537+
return "mac: string expected";
13538+
if (message.ip != null && message.hasOwnProperty("ip"))
13539+
if (!$util.isString(message.ip))
13540+
return "ip: string expected";
13541+
return null;
13542+
};
13543+
/**
13544+
* Creates a DhcpLeaseRequest message from a plain object. Also converts values to their respective internal types.
13545+
* @function fromObject
13546+
* @memberof vmm.DhcpLeaseRequest
13547+
* @static
13548+
* @param {Object.<string,*>} object Plain object
13549+
* @returns {vmm.DhcpLeaseRequest} DhcpLeaseRequest
13550+
*/
13551+
DhcpLeaseRequest.fromObject = function fromObject(object) {
13552+
if (object instanceof $root.vmm.DhcpLeaseRequest)
13553+
return object;
13554+
var message = new $root.vmm.DhcpLeaseRequest();
13555+
if (object.mac != null)
13556+
message.mac = String(object.mac);
13557+
if (object.ip != null)
13558+
message.ip = String(object.ip);
13559+
return message;
13560+
};
13561+
/**
13562+
* Creates a plain object from a DhcpLeaseRequest message. Also converts values to other types if specified.
13563+
* @function toObject
13564+
* @memberof vmm.DhcpLeaseRequest
13565+
* @static
13566+
* @param {vmm.DhcpLeaseRequest} message DhcpLeaseRequest
13567+
* @param {$protobuf.IConversionOptions} [options] Conversion options
13568+
* @returns {Object.<string,*>} Plain object
13569+
*/
13570+
DhcpLeaseRequest.toObject = function toObject(message, options) {
13571+
if (!options)
13572+
options = {};
13573+
var object = {};
13574+
if (options.defaults) {
13575+
object.mac = "";
13576+
object.ip = "";
13577+
}
13578+
if (message.mac != null && message.hasOwnProperty("mac"))
13579+
object.mac = message.mac;
13580+
if (message.ip != null && message.hasOwnProperty("ip"))
13581+
object.ip = message.ip;
13582+
return object;
13583+
};
13584+
/**
13585+
* Converts this DhcpLeaseRequest to JSON.
13586+
* @function toJSON
13587+
* @memberof vmm.DhcpLeaseRequest
13588+
* @instance
13589+
* @returns {Object.<string,*>} JSON object
13590+
*/
13591+
DhcpLeaseRequest.prototype.toJSON = function toJSON() {
13592+
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
13593+
};
13594+
/**
13595+
* Gets the default type url for DhcpLeaseRequest
13596+
* @function getTypeUrl
13597+
* @memberof vmm.DhcpLeaseRequest
13598+
* @static
13599+
* @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
13600+
* @returns {string} The default type url
13601+
*/
13602+
DhcpLeaseRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
13603+
if (typeUrlPrefix === undefined) {
13604+
typeUrlPrefix = "type.googleapis.com";
13605+
}
13606+
return typeUrlPrefix + "/vmm.DhcpLeaseRequest";
13607+
};
13608+
return DhcpLeaseRequest;
13609+
})();
1336713610
return vmm;
1336813611
})();
1336913612
$root.google = (function () {

0 commit comments

Comments
 (0)