@@ -220,6 +220,17 @@ spec:
220220 or GlobalInClusterIPPool
221221 rule : self.kind == 'InClusterIPPool' || self.kind
222222 == 'GlobalInClusterIPPool'
223+ linkMtu :
224+ description : LinkMTU is the network device Maximum
225+ Transmission Unit.
226+ type : integer
227+ x-kubernetes-validations :
228+ - message : invalid MTU value
229+ rule : self == 1 || ( self >= 576 && self <=
230+ 65520)
231+ - message : invalid MTU value
232+ rule : self == 1 || ( self >= 576 && self <=
233+ 65520)
223234 model :
224235 default : virtio
225236 description : Model is the network device model.
@@ -231,12 +242,16 @@ spec:
231242 type : string
232243 mtu :
233244 description : MTU is the network device Maximum
234- Transmission Unit. Only works with virtio Model.
235- Set to 1 to inherit the MTU value from the underlying
236- bridge.
237- maximum : 65520
238- minimum : 1
245+ Transmission Unit. When set to 1, virtio devices
246+ inherit the MTU value from the underlying bridge.
239247 type : integer
248+ x-kubernetes-validations :
249+ - message : invalid MTU value
250+ rule : self == 1 || ( self >= 576 && self <=
251+ 65520)
252+ - message : invalid MTU value
253+ rule : self == 1 || ( self >= 576 && self <=
254+ 65520)
240255 name :
241256 description : Name is the network device name.
242257 Must be unique within the virtual machine and
@@ -247,6 +262,65 @@ spec:
247262 - message : additional network devices doesn't
248263 allow net0
249264 rule : self != 'net0'
265+ routes :
266+ description : Routes are the routes associated
267+ with this interface.
268+ items :
269+ description : RouteSpec describes an IPv4/IPv6
270+ Route.
271+ properties :
272+ metric :
273+ description : Metric is the priority of the
274+ route in the routing table.
275+ format : int32
276+ type : integer
277+ table :
278+ description : Table is the routing table
279+ used for this route.
280+ format : int32
281+ type : integer
282+ to :
283+ description : To is the subnet to be routed.
284+ type : string
285+ via :
286+ description : Via is the gateway to the subnet.
287+ type : string
288+ type : object
289+ minItems : 1
290+ type : array
291+ routingPolicy :
292+ description : RoutingPolicy is an interface-specific
293+ policy inserted into FIB (forwarding information
294+ base).
295+ items :
296+ description : RoutingPolicySpec is a Linux FIB
297+ rule.
298+ properties :
299+ from :
300+ description : From is the subnet of the source.
301+ type : string
302+ priority :
303+ description : Priority is the position in
304+ the ip rule FIB table.
305+ format : int32
306+ maximum : 4294967295
307+ type : integer
308+ x-kubernetes-validations :
309+ - message : Cowardly refusing to insert FIB
310+ rule matching kernel rules
311+ rule : (self > 0 && self < 32765) || (self
312+ > 32766)
313+ table :
314+ description : Table is the routing table
315+ ID.
316+ format : int32
317+ type : integer
318+ to :
319+ description : To is the subnet of the target.
320+ type : string
321+ type : object
322+ minItems : 1
323+ type : array
250324 vlan :
251325 description : VLAN is the network L2 VLAN.
252326 maximum : 4094
@@ -286,11 +360,14 @@ spec:
286360 type : string
287361 mtu :
288362 description : MTU is the network device Maximum Transmission
289- Unit. Only works with virtio Model. Set to 1 to
290- inherit the MTU value from the underlying bridge.
291- maximum : 65520
292- minimum : 1
363+ Unit. When set to 1, virtio devices inherit the
364+ MTU value from the underlying bridge.
293365 type : integer
366+ x-kubernetes-validations :
367+ - message : invalid MTU value
368+ rule : self == 1 || ( self >= 576 && self <= 65520)
369+ - message : invalid MTU value
370+ rule : self == 1 || ( self >= 576 && self <= 65520)
294371 vlan :
295372 description : VLAN is the network L2 VLAN.
296373 maximum : 4094
@@ -305,101 +382,20 @@ spec:
305382 description : VRFDevice defines Virtual Routing Flow
306383 devices.
307384 properties :
308- dnsServers :
309- description : DNSServers contains information about
310- nameservers to be used for this interface. If
311- this field is not set, it will use the default
312- dns servers from the ProxmoxCluster.
313- items :
314- type : string
315- minItems : 1
316- type : array
317385 interfaces :
318386 description : Interfaces is the list of proxmox
319387 network devices managed by this virtual device.
320388 items :
321389 type : string
322390 type : array
323- ipv4PoolRef :
324- description : IPv4PoolRef is a reference to an
325- IPAM Pool resource, which exposes IPv4 addresses.
326- The network device will use an available IP
327- address from the referenced pool. This can be
328- combined with `IPv6PoolRef` in order to enable
329- dual stack.
330- properties :
331- apiGroup :
332- description : APIGroup is the group for the
333- resource being referenced. If APIGroup is
334- not specified, the specified Kind must be
335- in the core API group. For any other third-party
336- types, APIGroup is required.
337- type : string
338- kind :
339- description : Kind is the type of resource
340- being referenced
341- type : string
342- name :
343- description : Name is the name of resource
344- being referenced
345- type : string
346- required :
347- - kind
348- - name
349- type : object
350- x-kubernetes-map-type : atomic
351- x-kubernetes-validations :
352- - message : ipv4PoolRef allows only IPAM apiGroup
353- ipam.cluster.x-k8s.io
354- rule : self.apiGroup == 'ipam.cluster.x-k8s.io'
355- - message : ipv4PoolRef allows either InClusterIPPool
356- or GlobalInClusterIPPool
357- rule : self.kind == 'InClusterIPPool' || self.kind
358- == 'GlobalInClusterIPPool'
359- ipv6PoolRef :
360- description : IPv6PoolRef is a reference to an
361- IPAM pool resource, which exposes IPv6 addresses.
362- The network device will use an available IP
363- address from the referenced pool. this can be
364- combined with `IPv4PoolRef` in order to enable
365- dual stack.
366- properties :
367- apiGroup :
368- description : APIGroup is the group for the
369- resource being referenced. If APIGroup is
370- not specified, the specified Kind must be
371- in the core API group. For any other third-party
372- types, APIGroup is required.
373- type : string
374- kind :
375- description : Kind is the type of resource
376- being referenced
377- type : string
378- name :
379- description : Name is the name of resource
380- being referenced
381- type : string
382- required :
383- - kind
384- - name
385- type : object
386- x-kubernetes-map-type : atomic
387- x-kubernetes-validations :
388- - message : ipv6PoolRef allows only IPAM apiGroup
389- ipam.cluster.x-k8s.io
390- rule : self.apiGroup == 'ipam.cluster.x-k8s.io'
391- - message : ipv6PoolRef allows either InClusterIPPool
392- or GlobalInClusterIPPool
393- rule : self.kind == 'InClusterIPPool' || self.kind
394- == 'GlobalInClusterIPPool'
395391 name :
396392 description : Name is the virtual network device
397393 name. Must be unique within the virtual machine.
398394 minLength : 3
399395 type : string
400396 routes :
401397 description : Routes are the routes associated
402- with the l3mdev policy .
398+ with this interface .
403399 items :
404400 description : RouteSpec describes an IPv4/IPv6
405401 Route.
@@ -424,8 +420,9 @@ spec:
424420 minItems : 1
425421 type : array
426422 routingPolicy :
427- description : RoutingPolicy is the l3mdev policy
428- inserted into FIB.
423+ description : RoutingPolicy is an interface-specific
424+ policy inserted into FIB (forwarding information
425+ base).
429426 items :
430427 description : RoutingPolicySpec is a Linux FIB
431428 rule.
@@ -440,7 +437,7 @@ spec:
440437 maximum : 4294967295
441438 type : integer
442439 x-kubernetes-validations :
443- - message : Cowardly refusing to insert fib
440+ - message : Cowardly refusing to insert FIB
444441 rule matching kernel rules
445442 rule : (self > 0 && self < 32765) || (self
446443 > 32766)
0 commit comments