iproutejs 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +245 -0
  3. package/lib/commands/address/add.interfaces.d.ts +94 -0
  4. package/lib/commands/address/add.interfaces.js +3 -0
  5. package/lib/commands/address/add.interfaces.js.map +1 -0
  6. package/lib/commands/address/add.schema.d.ts +3 -0
  7. package/lib/commands/address/add.schema.js +121 -0
  8. package/lib/commands/address/add.schema.js.map +1 -0
  9. package/lib/commands/address/delete.interfaces.d.ts +56 -0
  10. package/lib/commands/address/delete.interfaces.js +3 -0
  11. package/lib/commands/address/delete.interfaces.js.map +1 -0
  12. package/lib/commands/address/delete.schema.d.ts +3 -0
  13. package/lib/commands/address/delete.schema.js +64 -0
  14. package/lib/commands/address/delete.schema.js.map +1 -0
  15. package/lib/commands/address/flush.interfaces.d.ts +89 -0
  16. package/lib/commands/address/flush.interfaces.js +3 -0
  17. package/lib/commands/address/flush.interfaces.js.map +1 -0
  18. package/lib/commands/address/flush.schema.d.ts +3 -0
  19. package/lib/commands/address/flush.schema.js +165 -0
  20. package/lib/commands/address/flush.schema.js.map +1 -0
  21. package/lib/commands/address/show.interfaces.d.ts +166 -0
  22. package/lib/commands/address/show.interfaces.js +3 -0
  23. package/lib/commands/address/show.interfaces.js.map +1 -0
  24. package/lib/commands/address/show.schema.d.ts +3 -0
  25. package/lib/commands/address/show.schema.js +176 -0
  26. package/lib/commands/address/show.schema.js.map +1 -0
  27. package/lib/commands/address.constants.d.ts +33 -0
  28. package/lib/commands/address.constants.js +39 -0
  29. package/lib/commands/address.constants.js.map +1 -0
  30. package/lib/commands/address.d.ts +179 -0
  31. package/lib/commands/address.js +265 -0
  32. package/lib/commands/address.js.map +1 -0
  33. package/lib/commands/addrlabel/add.interfaces.d.ts +12 -0
  34. package/lib/commands/addrlabel/add.interfaces.js +3 -0
  35. package/lib/commands/addrlabel/add.interfaces.js.map +1 -0
  36. package/lib/commands/addrlabel/add.schema.d.ts +3 -0
  37. package/lib/commands/addrlabel/add.schema.js +26 -0
  38. package/lib/commands/addrlabel/add.schema.js.map +1 -0
  39. package/lib/commands/addrlabel/del.interfaces.d.ts +6 -0
  40. package/lib/commands/addrlabel/del.interfaces.js +3 -0
  41. package/lib/commands/addrlabel/del.interfaces.js.map +1 -0
  42. package/lib/commands/addrlabel/del.schema.d.ts +3 -0
  43. package/lib/commands/addrlabel/del.schema.js +27 -0
  44. package/lib/commands/addrlabel/del.schema.js.map +1 -0
  45. package/lib/commands/addrlabel/list.interfaces.d.ts +9 -0
  46. package/lib/commands/addrlabel/list.interfaces.js +3 -0
  47. package/lib/commands/addrlabel/list.interfaces.js.map +1 -0
  48. package/lib/commands/addrlabel.d.ts +104 -0
  49. package/lib/commands/addrlabel.js +149 -0
  50. package/lib/commands/addrlabel.js.map +1 -0
  51. package/lib/commands/batch.d.ts +60 -0
  52. package/lib/commands/batch.js +90 -0
  53. package/lib/commands/batch.js.map +1 -0
  54. package/lib/commands/link/add.interfaces.d.ts +122 -0
  55. package/lib/commands/link/add.interfaces.js +4 -0
  56. package/lib/commands/link/add.interfaces.js.map +1 -0
  57. package/lib/commands/link/add.schema.d.ts +4 -0
  58. package/lib/commands/link/add.schema.js +172 -0
  59. package/lib/commands/link/add.schema.js.map +1 -0
  60. package/lib/commands/link/delete.interfaces.d.ts +22 -0
  61. package/lib/commands/link/delete.interfaces.js +3 -0
  62. package/lib/commands/link/delete.interfaces.js.map +1 -0
  63. package/lib/commands/link/delete.schema.d.ts +3 -0
  64. package/lib/commands/link/delete.schema.js +29 -0
  65. package/lib/commands/link/delete.schema.js.map +1 -0
  66. package/lib/commands/link/extended-virtual-link-types/bond-slave.interfaces.d.ts +8 -0
  67. package/lib/commands/link/extended-virtual-link-types/bond-slave.interfaces.js +3 -0
  68. package/lib/commands/link/extended-virtual-link-types/bond-slave.interfaces.js.map +1 -0
  69. package/lib/commands/link/extended-virtual-link-types/bond-slave.schema.d.ts +3 -0
  70. package/lib/commands/link/extended-virtual-link-types/bond-slave.schema.js +16 -0
  71. package/lib/commands/link/extended-virtual-link-types/bond-slave.schema.js.map +1 -0
  72. package/lib/commands/link/extended-virtual-link-types/bridge-slave.interfaces.d.ts +77 -0
  73. package/lib/commands/link/extended-virtual-link-types/bridge-slave.interfaces.js +3 -0
  74. package/lib/commands/link/extended-virtual-link-types/bridge-slave.interfaces.js.map +1 -0
  75. package/lib/commands/link/extended-virtual-link-types/bridge-slave.schema.d.ts +3 -0
  76. package/lib/commands/link/extended-virtual-link-types/bridge-slave.schema.js +126 -0
  77. package/lib/commands/link/extended-virtual-link-types/bridge-slave.schema.js.map +1 -0
  78. package/lib/commands/link/set.interfaces.d.ts +271 -0
  79. package/lib/commands/link/set.interfaces.js +4 -0
  80. package/lib/commands/link/set.interfaces.js.map +1 -0
  81. package/lib/commands/link/set.schema.d.ts +5 -0
  82. package/lib/commands/link/set.schema.js +284 -0
  83. package/lib/commands/link/set.schema.js.map +1 -0
  84. package/lib/commands/link/show.interfaces.d.ts +116 -0
  85. package/lib/commands/link/show.interfaces.js +3 -0
  86. package/lib/commands/link/show.interfaces.js.map +1 -0
  87. package/lib/commands/link/show.schema.d.ts +3 -0
  88. package/lib/commands/link/show.schema.js +43 -0
  89. package/lib/commands/link/show.schema.js.map +1 -0
  90. package/lib/commands/link/virtual-link-types/bareup.interfaces.d.ts +30 -0
  91. package/lib/commands/link/virtual-link-types/bareup.interfaces.js +3 -0
  92. package/lib/commands/link/virtual-link-types/bareup.interfaces.js.map +1 -0
  93. package/lib/commands/link/virtual-link-types/bareup.schema.d.ts +3 -0
  94. package/lib/commands/link/virtual-link-types/bareup.schema.js +43 -0
  95. package/lib/commands/link/virtual-link-types/bareup.schema.js.map +1 -0
  96. package/lib/commands/link/virtual-link-types/bridge.interfaces.d.ts +140 -0
  97. package/lib/commands/link/virtual-link-types/bridge.interfaces.js +3 -0
  98. package/lib/commands/link/virtual-link-types/bridge.interfaces.js.map +1 -0
  99. package/lib/commands/link/virtual-link-types/bridge.schema.d.ts +3 -0
  100. package/lib/commands/link/virtual-link-types/bridge.schema.js +186 -0
  101. package/lib/commands/link/virtual-link-types/bridge.schema.js.map +1 -0
  102. package/lib/commands/link/virtual-link-types/can.interfaces.d.ts +71 -0
  103. package/lib/commands/link/virtual-link-types/can.interfaces.js +3 -0
  104. package/lib/commands/link/virtual-link-types/can.interfaces.js.map +1 -0
  105. package/lib/commands/link/virtual-link-types/can.schema.d.ts +3 -0
  106. package/lib/commands/link/virtual-link-types/can.schema.js +141 -0
  107. package/lib/commands/link/virtual-link-types/can.schema.js.map +1 -0
  108. package/lib/commands/link/virtual-link-types/erspan-ip6erspan.interfaces.d.ts +58 -0
  109. package/lib/commands/link/virtual-link-types/erspan-ip6erspan.interfaces.js +3 -0
  110. package/lib/commands/link/virtual-link-types/erspan-ip6erspan.interfaces.js.map +1 -0
  111. package/lib/commands/link/virtual-link-types/erspan-ip6erspan.schema.d.ts +3 -0
  112. package/lib/commands/link/virtual-link-types/erspan-ip6erspan.schema.js +64 -0
  113. package/lib/commands/link/virtual-link-types/erspan-ip6erspan.schema.js.map +1 -0
  114. package/lib/commands/link/virtual-link-types/geneve.interfaces.d.ts +54 -0
  115. package/lib/commands/link/virtual-link-types/geneve.interfaces.js +3 -0
  116. package/lib/commands/link/virtual-link-types/geneve.interfaces.js.map +1 -0
  117. package/lib/commands/link/virtual-link-types/geneve.schema.d.ts +3 -0
  118. package/lib/commands/link/virtual-link-types/geneve.schema.js +93 -0
  119. package/lib/commands/link/virtual-link-types/geneve.schema.js.map +1 -0
  120. package/lib/commands/link/virtual-link-types/gre-gretap.interfaces.d.ts +106 -0
  121. package/lib/commands/link/virtual-link-types/gre-gretap.interfaces.js +3 -0
  122. package/lib/commands/link/virtual-link-types/gre-gretap.interfaces.js.map +1 -0
  123. package/lib/commands/link/virtual-link-types/gre-gretap.schema.d.ts +3 -0
  124. package/lib/commands/link/virtual-link-types/gre-gretap.schema.js +208 -0
  125. package/lib/commands/link/virtual-link-types/gre-gretap.schema.js.map +1 -0
  126. package/lib/commands/link/virtual-link-types/hsr.interfaces.d.ts +20 -0
  127. package/lib/commands/link/virtual-link-types/hsr.interfaces.js +3 -0
  128. package/lib/commands/link/virtual-link-types/hsr.interfaces.js.map +1 -0
  129. package/lib/commands/link/virtual-link-types/hsr.schema.d.ts +3 -0
  130. package/lib/commands/link/virtual-link-types/hsr.schema.js +36 -0
  131. package/lib/commands/link/virtual-link-types/hsr.schema.js.map +1 -0
  132. package/lib/commands/link/virtual-link-types/ip6gre-ip6gretap.interfaces.d.ts +80 -0
  133. package/lib/commands/link/virtual-link-types/ip6gre-ip6gretap.interfaces.js +3 -0
  134. package/lib/commands/link/virtual-link-types/ip6gre-ip6gretap.interfaces.js.map +1 -0
  135. package/lib/commands/link/virtual-link-types/ip6gre-ip6gretap.schema.d.ts +3 -0
  136. package/lib/commands/link/virtual-link-types/ip6gre-ip6gretap.schema.js +170 -0
  137. package/lib/commands/link/virtual-link-types/ip6gre-ip6gretap.schema.js.map +1 -0
  138. package/lib/commands/link/virtual-link-types/ipip-sit.interfaces.d.ts +51 -0
  139. package/lib/commands/link/virtual-link-types/ipip-sit.interfaces.js +3 -0
  140. package/lib/commands/link/virtual-link-types/ipip-sit.interfaces.js.map +1 -0
  141. package/lib/commands/link/virtual-link-types/ipip-sit.schema.d.ts +3 -0
  142. package/lib/commands/link/virtual-link-types/ipip-sit.schema.js +74 -0
  143. package/lib/commands/link/virtual-link-types/ipip-sit.schema.js.map +1 -0
  144. package/lib/commands/link/virtual-link-types/ipoib.interfaces.d.ts +11 -0
  145. package/lib/commands/link/virtual-link-types/ipoib.interfaces.js +3 -0
  146. package/lib/commands/link/virtual-link-types/ipoib.interfaces.js.map +1 -0
  147. package/lib/commands/link/virtual-link-types/ipoib.schema.d.ts +3 -0
  148. package/lib/commands/link/virtual-link-types/ipoib.schema.js +22 -0
  149. package/lib/commands/link/virtual-link-types/ipoib.schema.js.map +1 -0
  150. package/lib/commands/link/virtual-link-types/macsec.interfaces.d.ts +44 -0
  151. package/lib/commands/link/virtual-link-types/macsec.interfaces.js +3 -0
  152. package/lib/commands/link/virtual-link-types/macsec.interfaces.js.map +1 -0
  153. package/lib/commands/link/virtual-link-types/macsec.schema.d.ts +3 -0
  154. package/lib/commands/link/virtual-link-types/macsec.schema.js +87 -0
  155. package/lib/commands/link/virtual-link-types/macsec.schema.js.map +1 -0
  156. package/lib/commands/link/virtual-link-types/macvlan-macvtap.interfaces.d.ts +59 -0
  157. package/lib/commands/link/virtual-link-types/macvlan-macvtap.interfaces.js +3 -0
  158. package/lib/commands/link/virtual-link-types/macvlan-macvtap.interfaces.js.map +1 -0
  159. package/lib/commands/link/virtual-link-types/macvlan-macvtap.schema.d.ts +4 -0
  160. package/lib/commands/link/virtual-link-types/macvlan-macvtap.schema.js +60 -0
  161. package/lib/commands/link/virtual-link-types/macvlan-macvtap.schema.js.map +1 -0
  162. package/lib/commands/link/virtual-link-types/rmnet.interfaces.d.ts +8 -0
  163. package/lib/commands/link/virtual-link-types/rmnet.interfaces.js +3 -0
  164. package/lib/commands/link/virtual-link-types/rmnet.interfaces.js.map +1 -0
  165. package/lib/commands/link/virtual-link-types/rmnet.schema.d.ts +3 -0
  166. package/lib/commands/link/virtual-link-types/rmnet.schema.js +16 -0
  167. package/lib/commands/link/virtual-link-types/rmnet.schema.js.map +1 -0
  168. package/lib/commands/link/virtual-link-types/veth-vxcan.interfaces.d.ts +8 -0
  169. package/lib/commands/link/virtual-link-types/veth-vxcan.interfaces.js +3 -0
  170. package/lib/commands/link/virtual-link-types/veth-vxcan.interfaces.js.map +1 -0
  171. package/lib/commands/link/virtual-link-types/veth-vxcan.schema.d.ts +3 -0
  172. package/lib/commands/link/virtual-link-types/veth-vxcan.schema.js +16 -0
  173. package/lib/commands/link/virtual-link-types/veth-vxcan.schema.js.map +1 -0
  174. package/lib/commands/link/virtual-link-types/vlan.interfaces.d.ts +36 -0
  175. package/lib/commands/link/virtual-link-types/vlan.interfaces.js +3 -0
  176. package/lib/commands/link/virtual-link-types/vlan.interfaces.js.map +1 -0
  177. package/lib/commands/link/virtual-link-types/vlan.schema.d.ts +3 -0
  178. package/lib/commands/link/virtual-link-types/vlan.schema.js +65 -0
  179. package/lib/commands/link/virtual-link-types/vlan.schema.js.map +1 -0
  180. package/lib/commands/link/virtual-link-types/vrf.interfaces.d.ts +8 -0
  181. package/lib/commands/link/virtual-link-types/vrf.interfaces.js +3 -0
  182. package/lib/commands/link/virtual-link-types/vrf.interfaces.js.map +1 -0
  183. package/lib/commands/link/virtual-link-types/vrf.schema.d.ts +3 -0
  184. package/lib/commands/link/virtual-link-types/vrf.schema.js +16 -0
  185. package/lib/commands/link/virtual-link-types/vrf.schema.js.map +1 -0
  186. package/lib/commands/link/virtual-link-types/vxlan.interfaces.d.ts +127 -0
  187. package/lib/commands/link/virtual-link-types/vxlan.interfaces.js +3 -0
  188. package/lib/commands/link/virtual-link-types/vxlan.interfaces.js.map +1 -0
  189. package/lib/commands/link/virtual-link-types/vxlan.schema.d.ts +3 -0
  190. package/lib/commands/link/virtual-link-types/vxlan.schema.js +176 -0
  191. package/lib/commands/link/virtual-link-types/vxlan.schema.js.map +1 -0
  192. package/lib/commands/link/virtual-link-types/xfrm.interfaces.d.ts +16 -0
  193. package/lib/commands/link/virtual-link-types/xfrm.interfaces.js +3 -0
  194. package/lib/commands/link/virtual-link-types/xfrm.interfaces.js.map +1 -0
  195. package/lib/commands/link/virtual-link-types/xfrm.schema.d.ts +3 -0
  196. package/lib/commands/link/virtual-link-types/xfrm.schema.js +21 -0
  197. package/lib/commands/link/virtual-link-types/xfrm.schema.js.map +1 -0
  198. package/lib/commands/link/xdp-options/object.interfaces.d.ts +36 -0
  199. package/lib/commands/link/xdp-options/object.interfaces.js +3 -0
  200. package/lib/commands/link/xdp-options/object.interfaces.js.map +1 -0
  201. package/lib/commands/link/xdp-options/object.schema.d.ts +3 -0
  202. package/lib/commands/link/xdp-options/object.schema.js +25 -0
  203. package/lib/commands/link/xdp-options/object.schema.js.map +1 -0
  204. package/lib/commands/link/xdp-options/off.interfaces.d.ts +8 -0
  205. package/lib/commands/link/xdp-options/off.interfaces.js +3 -0
  206. package/lib/commands/link/xdp-options/off.interfaces.js.map +1 -0
  207. package/lib/commands/link/xdp-options/off.schema.d.ts +3 -0
  208. package/lib/commands/link/xdp-options/off.schema.js +15 -0
  209. package/lib/commands/link/xdp-options/off.schema.js.map +1 -0
  210. package/lib/commands/link/xdp-options/pinned.interfaces.d.ts +13 -0
  211. package/lib/commands/link/xdp-options/pinned.interfaces.js +3 -0
  212. package/lib/commands/link/xdp-options/pinned.interfaces.js.map +1 -0
  213. package/lib/commands/link/xdp-options/pinned.schema.d.ts +3 -0
  214. package/lib/commands/link/xdp-options/pinned.schema.js +15 -0
  215. package/lib/commands/link/xdp-options/pinned.schema.js.map +1 -0
  216. package/lib/commands/link.constants.d.ts +425 -0
  217. package/lib/commands/link.constants.js +366 -0
  218. package/lib/commands/link.constants.js.map +1 -0
  219. package/lib/commands/link.d.ts +113 -0
  220. package/lib/commands/link.js +159 -0
  221. package/lib/commands/link.js.map +1 -0
  222. package/lib/commands/maddress/add.interfaces.d.ts +10 -0
  223. package/lib/commands/maddress/add.interfaces.js +3 -0
  224. package/lib/commands/maddress/add.interfaces.js.map +1 -0
  225. package/lib/commands/maddress/add.schema.d.ts +3 -0
  226. package/lib/commands/maddress/add.schema.js +22 -0
  227. package/lib/commands/maddress/add.schema.js.map +1 -0
  228. package/lib/commands/maddress/show.interfaces.d.ts +25 -0
  229. package/lib/commands/maddress/show.interfaces.js +3 -0
  230. package/lib/commands/maddress/show.interfaces.js.map +1 -0
  231. package/lib/commands/maddress/show.schema.d.ts +3 -0
  232. package/lib/commands/maddress/show.schema.js +17 -0
  233. package/lib/commands/maddress/show.schema.js.map +1 -0
  234. package/lib/commands/maddress.d.ts +82 -0
  235. package/lib/commands/maddress.js +121 -0
  236. package/lib/commands/maddress.js.map +1 -0
  237. package/lib/commands/monitor/monitor.interfaces.d.ts +24 -0
  238. package/lib/commands/monitor/monitor.interfaces.js +3 -0
  239. package/lib/commands/monitor/monitor.interfaces.js.map +1 -0
  240. package/lib/commands/monitor/monitor.schema.d.ts +3 -0
  241. package/lib/commands/monitor/monitor.schema.js +33 -0
  242. package/lib/commands/monitor/monitor.schema.js.map +1 -0
  243. package/lib/commands/monitor.constants.d.ts +17 -0
  244. package/lib/commands/monitor.constants.js +22 -0
  245. package/lib/commands/monitor.constants.js.map +1 -0
  246. package/lib/commands/monitor.d.ts +52 -0
  247. package/lib/commands/monitor.js +75 -0
  248. package/lib/commands/monitor.js.map +1 -0
  249. package/lib/commands/mroute/show.interfaces.d.ts +26 -0
  250. package/lib/commands/mroute/show.interfaces.js +3 -0
  251. package/lib/commands/mroute/show.interfaces.js.map +1 -0
  252. package/lib/commands/mroute/show.schema.d.ts +3 -0
  253. package/lib/commands/mroute/show.schema.js +44 -0
  254. package/lib/commands/mroute/show.schema.js.map +1 -0
  255. package/lib/commands/mroute.d.ts +29 -0
  256. package/lib/commands/mroute.js +53 -0
  257. package/lib/commands/mroute.js.map +1 -0
  258. package/lib/commands/neighbour/add.interfaces.d.ts +34 -0
  259. package/lib/commands/neighbour/add.interfaces.js +3 -0
  260. package/lib/commands/neighbour/add.interfaces.js.map +1 -0
  261. package/lib/commands/neighbour/add.schema.d.ts +3 -0
  262. package/lib/commands/neighbour/add.schema.js +49 -0
  263. package/lib/commands/neighbour/add.schema.js.map +1 -0
  264. package/lib/commands/neighbour/del.interfaces.d.ts +23 -0
  265. package/lib/commands/neighbour/del.interfaces.js +3 -0
  266. package/lib/commands/neighbour/del.interfaces.js.map +1 -0
  267. package/lib/commands/neighbour/del.schema.d.ts +3 -0
  268. package/lib/commands/neighbour/del.schema.js +37 -0
  269. package/lib/commands/neighbour/del.schema.js.map +1 -0
  270. package/lib/commands/neighbour/get.interfaces.d.ts +12 -0
  271. package/lib/commands/neighbour/get.interfaces.js +3 -0
  272. package/lib/commands/neighbour/get.interfaces.js.map +1 -0
  273. package/lib/commands/neighbour/get.schema.d.ts +3 -0
  274. package/lib/commands/neighbour/get.schema.js +26 -0
  275. package/lib/commands/neighbour/get.schema.js.map +1 -0
  276. package/lib/commands/neighbour/show.interfaces.d.ts +37 -0
  277. package/lib/commands/neighbour/show.interfaces.js +3 -0
  278. package/lib/commands/neighbour/show.interfaces.js.map +1 -0
  279. package/lib/commands/neighbour/show.schema.d.ts +3 -0
  280. package/lib/commands/neighbour/show.schema.js +39 -0
  281. package/lib/commands/neighbour/show.schema.js.map +1 -0
  282. package/lib/commands/neighbour.constants.d.ts +34 -0
  283. package/lib/commands/neighbour.constants.js +39 -0
  284. package/lib/commands/neighbour.constants.js.map +1 -0
  285. package/lib/commands/neighbour.d.ts +169 -0
  286. package/lib/commands/neighbour.js +238 -0
  287. package/lib/commands/neighbour.js.map +1 -0
  288. package/lib/commands/ntable/change.interfaces.d.ts +42 -0
  289. package/lib/commands/ntable/change.interfaces.js +3 -0
  290. package/lib/commands/ntable/change.interfaces.js.map +1 -0
  291. package/lib/commands/ntable/change.schema.d.ts +3 -0
  292. package/lib/commands/ntable/change.schema.js +101 -0
  293. package/lib/commands/ntable/change.schema.js.map +1 -0
  294. package/lib/commands/ntable/show.interfaces.d.ts +59 -0
  295. package/lib/commands/ntable/show.interfaces.js +3 -0
  296. package/lib/commands/ntable/show.interfaces.js.map +1 -0
  297. package/lib/commands/ntable/show.schema.d.ts +3 -0
  298. package/lib/commands/ntable/show.schema.js +22 -0
  299. package/lib/commands/ntable/show.schema.js.map +1 -0
  300. package/lib/commands/ntable.d.ts +43 -0
  301. package/lib/commands/ntable.js +75 -0
  302. package/lib/commands/ntable.js.map +1 -0
  303. package/lib/commands/route/add.interfaces.d.ts +261 -0
  304. package/lib/commands/route/add.interfaces.js +4 -0
  305. package/lib/commands/route/add.interfaces.js.map +1 -0
  306. package/lib/commands/route/add.schema.d.ts +3 -0
  307. package/lib/commands/route/add.schema.js +366 -0
  308. package/lib/commands/route/add.schema.js.map +1 -0
  309. package/lib/commands/route/encap-types/bpf.interfaces.d.ts +14 -0
  310. package/lib/commands/route/encap-types/bpf.interfaces.js +3 -0
  311. package/lib/commands/route/encap-types/bpf.interfaces.js.map +1 -0
  312. package/lib/commands/route/encap-types/bpf.schema.d.ts +3 -0
  313. package/lib/commands/route/encap-types/bpf.schema.js +31 -0
  314. package/lib/commands/route/encap-types/bpf.schema.js.map +1 -0
  315. package/lib/commands/route/encap-types/ioam6.interfaces.d.ts +19 -0
  316. package/lib/commands/route/encap-types/ioam6.interfaces.js +3 -0
  317. package/lib/commands/route/encap-types/ioam6.interfaces.js.map +1 -0
  318. package/lib/commands/route/encap-types/ioam6.schema.d.ts +3 -0
  319. package/lib/commands/route/encap-types/ioam6.schema.js +30 -0
  320. package/lib/commands/route/encap-types/ioam6.schema.js.map +1 -0
  321. package/lib/commands/route/encap-types/ip.interfaces.d.ts +17 -0
  322. package/lib/commands/route/encap-types/ip.interfaces.js +3 -0
  323. package/lib/commands/route/encap-types/ip.interfaces.js.map +1 -0
  324. package/lib/commands/route/encap-types/ip.schema.d.ts +3 -0
  325. package/lib/commands/route/encap-types/ip.schema.js +48 -0
  326. package/lib/commands/route/encap-types/ip.schema.js.map +1 -0
  327. package/lib/commands/route/encap-types/mpls.interfaces.d.ts +11 -0
  328. package/lib/commands/route/encap-types/mpls.interfaces.js +3 -0
  329. package/lib/commands/route/encap-types/mpls.interfaces.js.map +1 -0
  330. package/lib/commands/route/encap-types/mpls.schema.d.ts +3 -0
  331. package/lib/commands/route/encap-types/mpls.schema.js +46 -0
  332. package/lib/commands/route/encap-types/mpls.schema.js.map +1 -0
  333. package/lib/commands/route/encap-types/seg6.interfaces.d.ts +20 -0
  334. package/lib/commands/route/encap-types/seg6.interfaces.js +3 -0
  335. package/lib/commands/route/encap-types/seg6.interfaces.js.map +1 -0
  336. package/lib/commands/route/encap-types/seg6.schema.d.ts +3 -0
  337. package/lib/commands/route/encap-types/seg6.schema.js +38 -0
  338. package/lib/commands/route/encap-types/seg6.schema.js.map +1 -0
  339. package/lib/commands/route/encap-types/seg6local.interfaces.d.ts +76 -0
  340. package/lib/commands/route/encap-types/seg6local.interfaces.js +3 -0
  341. package/lib/commands/route/encap-types/seg6local.interfaces.js.map +1 -0
  342. package/lib/commands/route/encap-types/seg6local.schema.d.ts +6 -0
  343. package/lib/commands/route/encap-types/seg6local.schema.js +181 -0
  344. package/lib/commands/route/encap-types/seg6local.schema.js.map +1 -0
  345. package/lib/commands/route/get.interfaces.d.ts +37 -0
  346. package/lib/commands/route/get.interfaces.js +3 -0
  347. package/lib/commands/route/get.interfaces.js.map +1 -0
  348. package/lib/commands/route/get.schema.d.ts +3 -0
  349. package/lib/commands/route/get.schema.js +86 -0
  350. package/lib/commands/route/get.schema.js.map +1 -0
  351. package/lib/commands/route/show.constants.d.ts +105 -0
  352. package/lib/commands/route/show.constants.js +112 -0
  353. package/lib/commands/route/show.constants.js.map +1 -0
  354. package/lib/commands/route/show.interfaces.d.ts +96 -0
  355. package/lib/commands/route/show.interfaces.js +3 -0
  356. package/lib/commands/route/show.interfaces.js.map +1 -0
  357. package/lib/commands/route/show.schema.d.ts +3 -0
  358. package/lib/commands/route/show.schema.js +161 -0
  359. package/lib/commands/route/show.schema.js.map +1 -0
  360. package/lib/commands/route.constants.d.ts +129 -0
  361. package/lib/commands/route.constants.js +136 -0
  362. package/lib/commands/route.constants.js.map +1 -0
  363. package/lib/commands/route.d.ts +268 -0
  364. package/lib/commands/route.js +362 -0
  365. package/lib/commands/route.js.map +1 -0
  366. package/lib/commands/rule/add.interfaces.d.ts +41 -0
  367. package/lib/commands/rule/add.interfaces.js +3 -0
  368. package/lib/commands/rule/add.interfaces.js.map +1 -0
  369. package/lib/commands/rule/add.schema.d.ts +3 -0
  370. package/lib/commands/rule/add.schema.js +182 -0
  371. package/lib/commands/rule/add.schema.js.map +1 -0
  372. package/lib/commands/rule/show.interfaces.d.ts +86 -0
  373. package/lib/commands/rule/show.interfaces.js +3 -0
  374. package/lib/commands/rule/show.interfaces.js.map +1 -0
  375. package/lib/commands/rule/show.schema.d.ts +3 -0
  376. package/lib/commands/rule/show.schema.js +157 -0
  377. package/lib/commands/rule/show.schema.js.map +1 -0
  378. package/lib/commands/rule.constants.d.ts +34 -0
  379. package/lib/commands/rule.constants.js +40 -0
  380. package/lib/commands/rule.constants.js.map +1 -0
  381. package/lib/commands/rule.d.ts +143 -0
  382. package/lib/commands/rule.js +205 -0
  383. package/lib/commands/rule.js.map +1 -0
  384. package/lib/commands/tunnel/6rd.interfaces.d.ts +17 -0
  385. package/lib/commands/tunnel/6rd.interfaces.js +3 -0
  386. package/lib/commands/tunnel/6rd.interfaces.js.map +1 -0
  387. package/lib/commands/tunnel/6rd.schema.d.ts +3 -0
  388. package/lib/commands/tunnel/6rd.schema.js +33 -0
  389. package/lib/commands/tunnel/6rd.schema.js.map +1 -0
  390. package/lib/commands/tunnel/add.interfaces.d.ts +124 -0
  391. package/lib/commands/tunnel/add.interfaces.js +3 -0
  392. package/lib/commands/tunnel/add.interfaces.js.map +1 -0
  393. package/lib/commands/tunnel/add.schema.d.ts +3 -0
  394. package/lib/commands/tunnel/add.schema.js +213 -0
  395. package/lib/commands/tunnel/add.schema.js.map +1 -0
  396. package/lib/commands/tunnel/prl.interfaces.d.ts +17 -0
  397. package/lib/commands/tunnel/prl.interfaces.js +3 -0
  398. package/lib/commands/tunnel/prl.interfaces.js.map +1 -0
  399. package/lib/commands/tunnel/prl.schema.d.ts +3 -0
  400. package/lib/commands/tunnel/prl.schema.js +34 -0
  401. package/lib/commands/tunnel/prl.schema.js.map +1 -0
  402. package/lib/commands/tunnel.constants.d.ts +23 -0
  403. package/lib/commands/tunnel.constants.js +24 -0
  404. package/lib/commands/tunnel.constants.js.map +1 -0
  405. package/lib/commands/tunnel.d.ts +151 -0
  406. package/lib/commands/tunnel.js +210 -0
  407. package/lib/commands/tunnel.js.map +1 -0
  408. package/lib/commands/tuntap/add.interfaces.d.ts +25 -0
  409. package/lib/commands/tuntap/add.interfaces.js +3 -0
  410. package/lib/commands/tuntap/add.interfaces.js.map +1 -0
  411. package/lib/commands/tuntap/add.schema.d.ts +3 -0
  412. package/lib/commands/tuntap/add.schema.js +77 -0
  413. package/lib/commands/tuntap/add.schema.js.map +1 -0
  414. package/lib/commands/tuntap/show.interfaces.d.ts +17 -0
  415. package/lib/commands/tuntap/show.interfaces.js +3 -0
  416. package/lib/commands/tuntap/show.interfaces.js.map +1 -0
  417. package/lib/commands/tuntap/show.schema.d.ts +3 -0
  418. package/lib/commands/tuntap/show.schema.js +80 -0
  419. package/lib/commands/tuntap/show.schema.js.map +1 -0
  420. package/lib/commands/tuntap.constants.d.ts +8 -0
  421. package/lib/commands/tuntap.constants.js +13 -0
  422. package/lib/commands/tuntap.constants.js.map +1 -0
  423. package/lib/commands/tuntap.d.ts +83 -0
  424. package/lib/commands/tuntap.js +121 -0
  425. package/lib/commands/tuntap.js.map +1 -0
  426. package/lib/common/classes/command-with-filepath.d.ts +16 -0
  427. package/lib/common/classes/command-with-filepath.js +53 -0
  428. package/lib/common/classes/command-with-filepath.js.map +1 -0
  429. package/lib/common/classes/command-with-redirect-from-filepath-and-returned-data.d.ts +15 -0
  430. package/lib/common/classes/command-with-redirect-from-filepath-and-returned-data.js +45 -0
  431. package/lib/common/classes/command-with-redirect-from-filepath-and-returned-data.js.map +1 -0
  432. package/lib/common/classes/command-with-redirect-from-filepath.d.ts +16 -0
  433. package/lib/common/classes/command-with-redirect-from-filepath.js +53 -0
  434. package/lib/common/classes/command-with-redirect-from-filepath.js.map +1 -0
  435. package/lib/common/classes/command-with-redirect-to-filepath.d.ts +16 -0
  436. package/lib/common/classes/command-with-redirect-to-filepath.js +53 -0
  437. package/lib/common/classes/command-with-redirect-to-filepath.js.map +1 -0
  438. package/lib/common/classes/command-with-returned-data.d.ts +15 -0
  439. package/lib/common/classes/command-with-returned-data.js +45 -0
  440. package/lib/common/classes/command-with-returned-data.js.map +1 -0
  441. package/lib/common/classes/command-with-stdin.d.ts +16 -0
  442. package/lib/common/classes/command-with-stdin.js +53 -0
  443. package/lib/common/classes/command-with-stdin.js.map +1 -0
  444. package/lib/common/classes/command.d.ts +26 -0
  445. package/lib/common/classes/command.js +144 -0
  446. package/lib/common/classes/command.js.map +1 -0
  447. package/lib/common/classes/monitor-command.d.ts +30 -0
  448. package/lib/common/classes/monitor-command.js +108 -0
  449. package/lib/common/classes/monitor-command.js.map +1 -0
  450. package/lib/common/constants/attribute-values.d.ts +33 -0
  451. package/lib/common/constants/attribute-values.js +41 -0
  452. package/lib/common/constants/attribute-values.js.map +1 -0
  453. package/lib/common/constants/regexes.d.ts +34 -0
  454. package/lib/common/constants/regexes.js +38 -0
  455. package/lib/common/constants/regexes.js.map +1 -0
  456. package/lib/common/constants/schemas.d.ts +52 -0
  457. package/lib/common/constants/schemas.js +296 -0
  458. package/lib/common/constants/schemas.js.map +1 -0
  459. package/lib/common/constants/tests.d.ts +4 -0
  460. package/lib/common/constants/tests.js +9 -0
  461. package/lib/common/constants/tests.js.map +1 -0
  462. package/lib/common/errors/command.d.ts +11 -0
  463. package/lib/common/errors/command.js +20 -0
  464. package/lib/common/errors/command.js.map +1 -0
  465. package/lib/common/errors/parameters.d.ts +16 -0
  466. package/lib/common/errors/parameters.js +21 -0
  467. package/lib/common/errors/parameters.js.map +1 -0
  468. package/lib/common/interfaces/common.d.ts +115 -0
  469. package/lib/common/interfaces/common.js +3 -0
  470. package/lib/common/interfaces/common.js.map +1 -0
  471. package/lib/common/interfaces/monitor.d.ts +17 -0
  472. package/lib/common/interfaces/monitor.js +3 -0
  473. package/lib/common/interfaces/monitor.js.map +1 -0
  474. package/lib/common/interfaces/tests.d.ts +33 -0
  475. package/lib/common/interfaces/tests.js +3 -0
  476. package/lib/common/interfaces/tests.js.map +1 -0
  477. package/lib/common/misc.d.ts +4 -0
  478. package/lib/common/misc.js +18 -0
  479. package/lib/common/misc.js.map +1 -0
  480. package/lib/common/parse-output.d.ts +14 -0
  481. package/lib/common/parse-output.js +51 -0
  482. package/lib/common/parse-output.js.map +1 -0
  483. package/lib/common/validator.d.ts +3 -0
  484. package/lib/common/validator.js +45 -0
  485. package/lib/common/validator.js.map +1 -0
  486. package/lib/index.d.ts +400 -0
  487. package/lib/index.js +189 -0
  488. package/lib/index.js.map +1 -0
  489. package/lib/utils/index.d.ts +33 -0
  490. package/lib/utils/index.js +40 -0
  491. package/lib/utils/index.js.map +1 -0
  492. package/lib/utils/ip-forwarding.constants.d.ts +21 -0
  493. package/lib/utils/ip-forwarding.constants.js +27 -0
  494. package/lib/utils/ip-forwarding.constants.js.map +1 -0
  495. package/lib/utils/ip-forwarding.d.ts +103 -0
  496. package/lib/utils/ip-forwarding.js +149 -0
  497. package/lib/utils/ip-forwarding.js.map +1 -0
  498. package/lib/utils/routing-tables.constants.d.ts +7 -0
  499. package/lib/utils/routing-tables.constants.js +11 -0
  500. package/lib/utils/routing-tables.constants.js.map +1 -0
  501. package/lib/utils/routing-tables.d.ts +134 -0
  502. package/lib/utils/routing-tables.interfaces.d.ts +16 -0
  503. package/lib/utils/routing-tables.interfaces.js +3 -0
  504. package/lib/utils/routing-tables.interfaces.js.map +1 -0
  505. package/lib/utils/routing-tables.js +243 -0
  506. package/lib/utils/routing-tables.js.map +1 -0
  507. package/lib/utils/routing-tables.schemas.d.ts +3 -0
  508. package/lib/utils/routing-tables.schemas.js +22 -0
  509. package/lib/utils/routing-tables.schemas.js.map +1 -0
  510. package/package.json +92 -0
@@ -0,0 +1,271 @@
1
+ import { EnableDisableAutoToggle, OnOffToggle } from '../../common/constants/attribute-values';
2
+ import { AddrGenMode, ExtendedLinkTypes, VlanProtocols, XdpOptionTypes } from '../link.constants';
3
+ import { LinkSetXdpObjectOptions } from './xdp-options/object.interfaces';
4
+ import { LinkSetXdpPinnedOptions } from './xdp-options/pinned.interfaces';
5
+ import { LinkSetXdpOffOptions } from './xdp-options/off.interfaces';
6
+ import { ExtendedLinkTypesMappings } from './add.interfaces';
7
+ /**
8
+ * Link set common options.
9
+ *
10
+ * @category Interfaces
11
+ * @internal
12
+ */
13
+ export interface LinkSetCommonOptions {
14
+ /** Change the state of the device to UP. */
15
+ up?: true;
16
+ /** Change the state of the device to DOWN. */
17
+ down?: true;
18
+ /**
19
+ * Change type-specific settings.
20
+ *
21
+ * For a list of supported types and arguments refer to {@link LinkAddOptions.type}.
22
+ * In addition to that, it is possible to manipulate settings to slave devices type.
23
+ *
24
+ * @see {@link ExtendedLinkTypes}
25
+ */
26
+ type?: {
27
+ [key in ExtendedLinkTypes]?: ExtendedLinkTypesMappings[key];
28
+ };
29
+ /** Change the NOARP flag on the device. */
30
+ arp?: OnOffToggle;
31
+ /**
32
+ * Change the DYNAMIC flag on the device.
33
+ * Indicates that address can change when interface goes down (currently NOT used by the Linux).
34
+ */
35
+ dynamic?: OnOffToggle;
36
+ /** Change the MULTICAST flag on the device. */
37
+ multicast?: OnOffToggle;
38
+ /**
39
+ * Change the ALLMULTI flag on the device.
40
+ * When enabled, instructs network driver to retrieve all multicast packets from the network to
41
+ * the kernel for further processing.
42
+ */
43
+ allmulticast?: OnOffToggle;
44
+ /**
45
+ * Change the PROMISC flag on the device.
46
+ * When enabled, activates promiscuous operation of the network device.
47
+ */
48
+ promisc?: OnOffToggle;
49
+ /**
50
+ * Change the PROTODOWN state on the device. Indicates that a protocol error has been detected on the port.
51
+ * Switch drivers can react to this error by doing a phys down on the switch port.
52
+ */
53
+ protodown?: OnOffToggle;
54
+ /**
55
+ * Set PROTODOWN reasons on the device. protodown reason bit names can be enumerated under
56
+ * `/etc/iproute2/protodown_reasons.d/`.
57
+ *
58
+ * Possible reasons bits 0-31.
59
+ */
60
+ protodown_reason?: {
61
+ name: number;
62
+ enable: OnOffToggle;
63
+ };
64
+ /** Change the NOTRAILERS flag on the device, NOT used by the Linux and exists for BSD compatibility. */
65
+ trailers?: OnOffToggle;
66
+ /** Change the transmit queue length of the device. */
67
+ txqueuelen?: number;
68
+ /**
69
+ * Change the name of the device.
70
+ * This operation is not recommended if the device is running or has some addresses already configured.
71
+ */
72
+ name?: string;
73
+ /** Change the station address of the interface. */
74
+ address?: string;
75
+ /** Change the link layer broadcast address or the peer address when the interface is POINTOPOINT. */
76
+ broadcast?: string;
77
+ /** Change the MTU of the device. */
78
+ mtu?: number;
79
+ /**
80
+ * Move the device to the network namespace associated with name NETNSNAME or process PID.
81
+ *
82
+ * Some devices are not allowed to change network namespace: loopback, bridge, wireless.
83
+ * These are network namespace local devices. In such case ip tool will return "Invalid argument" error.
84
+ * It is possible to find out if device is local to a single network namespace by checking netns-local
85
+ * flag in the output of the ethtool:
86
+ *
87
+ * ethtool -k DEVICE
88
+ *
89
+ * To change network namespace for wireless devices the iw tool can be used. But it allows to change
90
+ * network namespace only for physical devices and by process PID.
91
+ */
92
+ netns?: number | string;
93
+ /** Set peer netnsid for a cross-netns interface. */
94
+ 'link-netnsid'?: number;
95
+ /** Give the device a symbolic name for easy reference. */
96
+ alias?: string;
97
+ /**
98
+ * Specify a Virtual Function device to be configured.
99
+ * The associated PF device must be specified using the {@link LinkSetDevOptions.dev | dev} parameter.
100
+ */
101
+ vf?: number;
102
+ vf_args?: {
103
+ /**
104
+ * Change the station address for the specified VF.
105
+ * The {@link vf} parameter must be specified.
106
+ */
107
+ mac?: string;
108
+ vlan_list?: Array<{
109
+ /**
110
+ * Change the assigned VLAN for the specified VF.
111
+ *
112
+ * When specified, all traffic sent from the VF will be tagged with the specified VLAN ID.
113
+ * Incoming traffic will be filtered for the specified VLAN ID, and will have all VLAN tags
114
+ * stripped before being passed to the VF.
115
+ *
116
+ * Setting this parameter to `0` disables VLAN tagging and filtering.
117
+ * The {@link vf} parameter must be specified.
118
+ */
119
+ vlan: number;
120
+ /**
121
+ * Assign VLAN QOS (priority) bits for the VLAN tag.
122
+ *
123
+ * When specified, all VLAN tags transmitted by the VF will include the specified priority bits in the VLAN tag.
124
+ *
125
+ * If not specified, the value is assumed to be `0`.
126
+ * Both the {@link vf} and {@link vlan} parameters must be specified.
127
+ * Setting both {@link vlan} and {@link qos} as `0` disables VLAN tagging and filtering for the VF.
128
+ */
129
+ qos?: number;
130
+ /**
131
+ * Assign VLAN PROTOCOL for the VLAN tag, either `802.1Q` or `802.1ad`.
132
+ *
133
+ * Setting to `802.1ad`, all traffic sent from the VF will be tagged with VLAN S-Tag.
134
+ * Incoming traffic will have VLAN S-Tags stripped before being passed to the VF.
135
+ * Setting to `802.1ad` also enables an option to concatenate another VLAN tag, so both S-TAG and C-TAG will
136
+ * be inserted/stripped for outgoing/incoming traffic, respectively.
137
+ *
138
+ * If not specified, the value is assumed to be `802.1Q`.
139
+ * Both the {@link vf} and {@link vlan} parameters must be specified.
140
+ */
141
+ proto?: VlanProtocols;
142
+ }>;
143
+ /**
144
+ * Change the allowed transmit bandwidth, in Mbps, for the specified VF.
145
+ * Setting this parameter to `0` disables rate limiting.
146
+ * {@link vf} parameter must be specified.
147
+ * Please use new API {@link max_tx_rate} option instead.
148
+ */
149
+ rate?: number;
150
+ /**
151
+ * Change the allowed maximum transmit bandwidth, in Mbps, for the specified VF.
152
+ * Setting this parameter to `0` disables rate limiting.
153
+ * {@link vf} parameter must be specified.
154
+ */
155
+ max_tx_rate?: number;
156
+ /**
157
+ * Change the allowed minimum transmit bandwidth, in Mbps, for the specified VF.
158
+ * Minimum TXRATE should be always <= Maximum TXRATE.
159
+ * Setting this parameter to `0` disables rate limiting.
160
+ * {@link vf} parameter must be specified.
161
+ */
162
+ min_tx_rate?: number;
163
+ /** Turn packet spoof checking on or off for the specified VF. */
164
+ spoofchk?: OnOffToggle;
165
+ /**
166
+ * Toggle the ability of querying the RSS configuration of a specific VF.
167
+ * VF RSS information like RSS hash key may be considered sensitive on some devices where this information
168
+ * is shared between VF and PF and thus its querying may be prohibited by default.
169
+ */
170
+ query_rss?: OnOffToggle;
171
+ /**
172
+ * Set the virtual link state as seen by the specified VF.
173
+ * Setting to auto means a reflection of the PF link state, enable lets the VF to communicate with other
174
+ * VFs on this host even if the PF link state is down, disable causes the HW to drop any packets sent by the VF.
175
+ */
176
+ state?: EnableDisableAutoToggle;
177
+ /**
178
+ * Trust the specified VF user.
179
+ * This enables that VF user can set a specific feature which may impact security and/or performance.
180
+ * (e.g. VF multicast promiscuous mode)
181
+ */
182
+ trust?: OnOffToggle;
183
+ /** Configure node GUID for Infiniband VFs. */
184
+ node_guid?: number;
185
+ /** Configure port GUID for Infiniband VFs. */
186
+ port_guid?: number;
187
+ };
188
+ /**
189
+ * Set (or unset) a XDP ("eXpress Data Path") BPF program to run on every packet at driver level.
190
+ *
191
+ * `ip link` output will indicate a {@link xdp} flag for the networking device. If the driver does not have native XDP
192
+ * support, the kernel will fall back to a slower, driver-independent "generic" XDP variant.
193
+ *
194
+ * The `ip link` output will in that case indicate {@link xdpgeneric} instead of {@link xdp} only.
195
+ * If the driver does have native XDP support, but the program is loaded under {@link xdpgeneric} object | pinned
196
+ * then the kernel will use the generic XDP variant instead of the native one.
197
+ *
198
+ * {@link xdpdrv} has the opposite effect of requestsing that the automatic fallback to the generic XDP variant be
199
+ * disabled and in case driver is not XDP-capable error should be returned.
200
+ * {@link xdpdrv} also disables hardware offloads.
201
+ *
202
+ * {@link xdpoffload} in `ip link` output indicates that the program has been offloaded to hardware and can also be
203
+ * used to request the "offload" mode, much like {@link xdpgeneric} it forces program to be installed specifically in
204
+ * HW/FW of the apater.
205
+ *
206
+ * @see {@link XdpOptionTypes}
207
+ */
208
+ xdp?: {
209
+ [key in XdpOptionTypes]?: XdpOptionTypesMappings[key];
210
+ };
211
+ /** @see {@link xdp} */
212
+ xdpgeneric?: {
213
+ [key in XdpOptionTypes]?: XdpOptionTypesMappings[key];
214
+ };
215
+ /** @see {@link xdp} */
216
+ xdpdrv?: {
217
+ [key in XdpOptionTypes]?: XdpOptionTypesMappings[key];
218
+ };
219
+ /** @see {@link xdp} */
220
+ xdpoffload?: {
221
+ [key in XdpOptionTypes]?: XdpOptionTypesMappings[key];
222
+ };
223
+ /** Set master device of the device (enslave device). */
224
+ master?: string;
225
+ /** Unset master device of the device (release device). */
226
+ nomaster?: true;
227
+ /** Set the IPv6 address generation mode. */
228
+ addrgenmode?: AddrGenMode;
229
+ }
230
+ /**
231
+ * Link set group options.
232
+ *
233
+ * @category Interfaces
234
+ * @internal
235
+ */
236
+ export interface LinkSetGroupOptions extends LinkSetCommonOptions {
237
+ /**
238
+ * GROUP has a dual role: If both group and dev are present, then move the device to the specified group.
239
+ * If only a group is specified, then the command operates on all devices in that group.
240
+ */
241
+ group?: number;
242
+ }
243
+ /**
244
+ * Link set dev options.
245
+ *
246
+ * @category Interfaces
247
+ * @internal
248
+ */
249
+ export interface LinkSetDevOptions extends LinkSetCommonOptions {
250
+ /**
251
+ * Specifies network device to operate on.
252
+ *
253
+ * When configuring SR-IOV Virtual Function (VF) devices, this keyword should
254
+ * specify the associated Physical Function (PF) device.
255
+ */
256
+ dev?: string;
257
+ }
258
+ /**
259
+ * Link set options.
260
+ * @category Interfaces
261
+ */
262
+ export type LinkSetOptions = LinkSetGroupOptions | LinkSetDevOptions;
263
+ /**
264
+ * Xdp option types mappings.
265
+ * @category Interfaces
266
+ */
267
+ export interface XdpOptionTypesMappings {
268
+ [XdpOptionTypes.Off]: LinkSetXdpOffOptions;
269
+ [XdpOptionTypes.Object]: LinkSetXdpObjectOptions;
270
+ [XdpOptionTypes.Pinned]: LinkSetXdpPinnedOptions;
271
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const link_constants_1 = require("../link.constants");
4
+ //# sourceMappingURL=set.interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.interfaces.js","sourceRoot":"","sources":["../../../src/commands/link/set.interfaces.ts"],"names":[],"mappings":";;AAKA,sDAI2B"}
@@ -0,0 +1,5 @@
1
+ import { JSONSchemaType } from 'ajv';
2
+ import { LinkSetOptions } from './set.interfaces';
3
+ export declare const xdpOptionsPropertiesSchema: any;
4
+ export declare const extendedTypesPropertiesSchema: any;
5
+ export declare const LinkSetSchema: JSONSchemaType<LinkSetOptions>;
@@ -0,0 +1,284 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LinkSetSchema = exports.extendedTypesPropertiesSchema = exports.xdpOptionsPropertiesSchema = void 0;
4
+ const attribute_values_1 = require("../../common/constants/attribute-values");
5
+ const link_constants_1 = require("../link.constants");
6
+ const schemas_1 = require("../../common/constants/schemas");
7
+ const bond_slave_schema_1 = require("./extended-virtual-link-types/bond-slave.schema");
8
+ const bridge_slave_schema_1 = require("./extended-virtual-link-types/bridge-slave.schema");
9
+ const macvlan_macvtap_schema_1 = require("./virtual-link-types/macvlan-macvtap.schema");
10
+ const object_schema_1 = require("./xdp-options/object.schema");
11
+ const pinned_schema_1 = require("./xdp-options/pinned.schema");
12
+ const off_schema_1 = require("./xdp-options/off.schema");
13
+ const add_schema_1 = require("./add.schema");
14
+ exports.xdpOptionsPropertiesSchema = {
15
+ [link_constants_1.XdpOptionTypes.Off]: off_schema_1.LinkSetXdpOffOptionsSchema,
16
+ [link_constants_1.XdpOptionTypes.Object]: object_schema_1.LinkSetXdpObjectOptionsSchema,
17
+ [link_constants_1.XdpOptionTypes.Pinned]: pinned_schema_1.LinkSetXdpPinnedOptionsSchema
18
+ };
19
+ exports.extendedTypesPropertiesSchema = Object.assign(Object.assign({}, add_schema_1.typePropertiesSchema), { [link_constants_1.ExtendedLinkTypes.BridgeSlave]: bridge_slave_schema_1.SetLinkBridgeSlaveArgsSchema, [link_constants_1.ExtendedLinkTypes.BondSlave]: bond_slave_schema_1.SetLinkBondSlaveArgsSchema, [link_constants_1.ExtendedLinkTypes.Macsec]: macvlan_macvtap_schema_1.SetLinkMacvlanMacvtapArgsSchema });
20
+ exports.LinkSetSchema = {
21
+ $id: schemas_1.SchemaIds.LinkSet,
22
+ type: 'object',
23
+ required: [],
24
+ properties: {
25
+ dev: {
26
+ type: 'string',
27
+ minLength: 1,
28
+ keyless: true,
29
+ nullable: true
30
+ },
31
+ group: {
32
+ type: 'integer',
33
+ minimum: 0,
34
+ nullable: true
35
+ },
36
+ up: {
37
+ type: 'boolean',
38
+ enum: [true],
39
+ nullable: true
40
+ },
41
+ down: {
42
+ type: 'boolean',
43
+ enum: [true],
44
+ nullable: true
45
+ },
46
+ type: {
47
+ type: 'object',
48
+ nullable: true,
49
+ properties: exports.extendedTypesPropertiesSchema
50
+ },
51
+ arp: {
52
+ type: 'string',
53
+ enum: Object.values(attribute_values_1.OnOffToggle),
54
+ nullable: true
55
+ },
56
+ dynamic: {
57
+ type: 'string',
58
+ enum: Object.values(attribute_values_1.OnOffToggle),
59
+ nullable: true
60
+ },
61
+ multicast: {
62
+ type: 'string',
63
+ enum: Object.values(attribute_values_1.OnOffToggle),
64
+ nullable: true
65
+ },
66
+ allmulticast: {
67
+ type: 'string',
68
+ enum: Object.values(attribute_values_1.OnOffToggle),
69
+ nullable: true
70
+ },
71
+ promisc: {
72
+ type: 'string',
73
+ enum: Object.values(attribute_values_1.OnOffToggle),
74
+ nullable: true
75
+ },
76
+ protodown: {
77
+ type: 'string',
78
+ enum: Object.values(attribute_values_1.OnOffToggle),
79
+ nullable: true
80
+ },
81
+ protodown_reason: {
82
+ type: 'object',
83
+ required: ['name', 'enable'],
84
+ nullable: true,
85
+ properties: {
86
+ name: {
87
+ type: 'integer',
88
+ minimum: 0,
89
+ maximum: 2147483647,
90
+ keyless: true
91
+ },
92
+ enable: {
93
+ type: 'string',
94
+ enum: Object.values(attribute_values_1.OnOffToggle),
95
+ keyless: true
96
+ }
97
+ }
98
+ },
99
+ trailers: {
100
+ type: 'string',
101
+ enum: Object.values(attribute_values_1.OnOffToggle),
102
+ nullable: true
103
+ },
104
+ txqueuelen: {
105
+ type: 'integer',
106
+ minimum: 1,
107
+ nullable: true
108
+ },
109
+ name: {
110
+ type: 'string',
111
+ format: 'mac',
112
+ nullable: true
113
+ },
114
+ address: {
115
+ type: 'string',
116
+ format: 'mac',
117
+ nullable: true
118
+ },
119
+ broadcast: {
120
+ type: 'string',
121
+ format: 'mac',
122
+ nullable: true
123
+ },
124
+ mtu: {
125
+ type: 'integer',
126
+ minimum: 1,
127
+ nullable: true
128
+ },
129
+ netns: {
130
+ type: ['string', 'integer'],
131
+ nullable: true,
132
+ oneOf: [
133
+ {
134
+ type: 'string',
135
+ minLength: 1,
136
+ nullable: true
137
+ },
138
+ {
139
+ type: 'integer',
140
+ minimum: 0,
141
+ nullable: true
142
+ }
143
+ ]
144
+ },
145
+ 'link-netnsid': {
146
+ type: 'integer',
147
+ minimum: 1,
148
+ nullable: true
149
+ },
150
+ alias: {
151
+ type: 'string',
152
+ minLength: 1,
153
+ nullable: true
154
+ },
155
+ vf: {
156
+ type: 'integer',
157
+ minimum: 0,
158
+ nullable: true
159
+ },
160
+ vf_args: {
161
+ type: 'object',
162
+ nullable: true,
163
+ keyless: true,
164
+ properties: {
165
+ mac: {
166
+ type: 'string',
167
+ format: 'mac',
168
+ nullable: true
169
+ },
170
+ vlan_list: {
171
+ type: 'array',
172
+ nullable: true,
173
+ keyless: true,
174
+ items: {
175
+ type: 'object',
176
+ required: ['vlan'],
177
+ properties: {
178
+ vlan: {
179
+ type: 'integer',
180
+ minimum: 0,
181
+ maximum: 4095
182
+ },
183
+ qos: {
184
+ type: 'integer',
185
+ minimum: 0,
186
+ nullable: true
187
+ },
188
+ proto: {
189
+ type: 'string',
190
+ enum: Object.values(link_constants_1.VlanProtocols),
191
+ nullable: true
192
+ }
193
+ }
194
+ }
195
+ },
196
+ rate: {
197
+ type: 'integer',
198
+ minimum: 0,
199
+ nullable: true
200
+ },
201
+ max_tx_rate: {
202
+ type: 'integer',
203
+ minimum: 0,
204
+ nullable: true
205
+ },
206
+ min_tx_rate: {
207
+ type: 'integer',
208
+ minimum: 0,
209
+ nullable: true
210
+ },
211
+ spoofchk: {
212
+ type: 'string',
213
+ enum: Object.values(attribute_values_1.OnOffToggle),
214
+ nullable: true
215
+ },
216
+ query_rss: {
217
+ type: 'string',
218
+ enum: Object.values(attribute_values_1.OnOffToggle),
219
+ nullable: true
220
+ },
221
+ state: {
222
+ type: 'string',
223
+ enum: Object.values(attribute_values_1.EnableDisableAutoToggle),
224
+ nullable: true
225
+ },
226
+ trust: {
227
+ type: 'string',
228
+ enum: Object.values(attribute_values_1.OnOffToggle),
229
+ nullable: true
230
+ },
231
+ node_guid: {
232
+ type: 'integer',
233
+ minimum: 0,
234
+ nullable: true
235
+ },
236
+ port_guid: {
237
+ type: 'integer',
238
+ minimum: 0,
239
+ nullable: true
240
+ }
241
+ }
242
+ },
243
+ xdp: {
244
+ type: 'object',
245
+ required: [],
246
+ nullable: true,
247
+ properties: exports.xdpOptionsPropertiesSchema
248
+ },
249
+ xdpgeneric: {
250
+ type: 'object',
251
+ required: [],
252
+ nullable: true,
253
+ properties: exports.xdpOptionsPropertiesSchema
254
+ },
255
+ xdpdrv: {
256
+ type: 'object',
257
+ required: [],
258
+ nullable: true,
259
+ properties: exports.xdpOptionsPropertiesSchema
260
+ },
261
+ xdpoffload: {
262
+ type: 'object',
263
+ required: [],
264
+ nullable: true,
265
+ properties: exports.xdpOptionsPropertiesSchema
266
+ },
267
+ master: {
268
+ type: 'string',
269
+ minLength: 1,
270
+ nullable: true
271
+ },
272
+ nomaster: {
273
+ type: 'boolean',
274
+ enum: [true],
275
+ nullable: true
276
+ },
277
+ addrgenmode: {
278
+ type: 'string',
279
+ enum: Object.values(link_constants_1.AddrGenMode),
280
+ nullable: true
281
+ }
282
+ }
283
+ };
284
+ //# sourceMappingURL=set.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.schema.js","sourceRoot":"","sources":["../../../src/commands/link/set.schema.ts"],"names":[],"mappings":"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"}