pypcapkit 1.3.3.post1__cp313-none-any.whl

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 (466) hide show
  1. pcapkit/__init__.py +126 -0
  2. pcapkit/__main__.py +138 -0
  3. pcapkit/all.py +136 -0
  4. pcapkit/const/__init__.py +81 -0
  5. pcapkit/const/arp/__init__.py +25 -0
  6. pcapkit/const/arp/hardware.py +181 -0
  7. pcapkit/const/arp/operation.py +131 -0
  8. pcapkit/const/ftp/__init__.py +25 -0
  9. pcapkit/const/ftp/command.py +309 -0
  10. pcapkit/const/ftp/return_code.py +304 -0
  11. pcapkit/const/hip/__init__.py +94 -0
  12. pcapkit/const/hip/certificate.py +77 -0
  13. pcapkit/const/hip/cipher.py +65 -0
  14. pcapkit/const/hip/di.py +59 -0
  15. pcapkit/const/hip/ecdsa_curve.py +59 -0
  16. pcapkit/const/hip/ecdsa_low_curve.py +56 -0
  17. pcapkit/const/hip/eddsa_curve.py +65 -0
  18. pcapkit/const/hip/esp_transform_suite.py +98 -0
  19. pcapkit/const/hip/group.py +86 -0
  20. pcapkit/const/hip/hi_algorithm.py +86 -0
  21. pcapkit/const/hip/hit_suite.py +68 -0
  22. pcapkit/const/hip/nat_traversal.py +62 -0
  23. pcapkit/const/hip/notify_message.py +200 -0
  24. pcapkit/const/hip/packet.py +89 -0
  25. pcapkit/const/hip/parameter.py +377 -0
  26. pcapkit/const/hip/registration.py +68 -0
  27. pcapkit/const/hip/registration_failure.py +84 -0
  28. pcapkit/const/hip/suite.py +71 -0
  29. pcapkit/const/hip/transport.py +59 -0
  30. pcapkit/const/http/__init__.py +39 -0
  31. pcapkit/const/http/error_code.py +95 -0
  32. pcapkit/const/http/frame.py +95 -0
  33. pcapkit/const/http/method.py +184 -0
  34. pcapkit/const/http/setting.py +96 -0
  35. pcapkit/const/http/status_code.py +294 -0
  36. pcapkit/const/ipv4/__init__.py +57 -0
  37. pcapkit/const/ipv4/classification_level.py +64 -0
  38. pcapkit/const/ipv4/option_class.py +55 -0
  39. pcapkit/const/ipv4/option_number.py +137 -0
  40. pcapkit/const/ipv4/protection_authority.py +63 -0
  41. pcapkit/const/ipv4/qs_function.py +51 -0
  42. pcapkit/const/ipv4/router_alert.py +251 -0
  43. pcapkit/const/ipv4/tos_del.py +51 -0
  44. pcapkit/const/ipv4/tos_ecn.py +55 -0
  45. pcapkit/const/ipv4/tos_pre.py +63 -0
  46. pcapkit/const/ipv4/tos_rel.py +51 -0
  47. pcapkit/const/ipv4/tos_thr.py +51 -0
  48. pcapkit/const/ipv4/ts_flag.py +53 -0
  49. pcapkit/const/ipv6/__init__.py +53 -0
  50. pcapkit/const/ipv6/extension_header.py +66 -0
  51. pcapkit/const/ipv6/option.py +137 -0
  52. pcapkit/const/ipv6/option_action.py +55 -0
  53. pcapkit/const/ipv6/qs_function.py +51 -0
  54. pcapkit/const/ipv6/router_alert.py +266 -0
  55. pcapkit/const/ipv6/routing.py +80 -0
  56. pcapkit/const/ipv6/seed_id.py +55 -0
  57. pcapkit/const/ipv6/smf_dpd_mode.py +51 -0
  58. pcapkit/const/ipv6/tagger_id.py +62 -0
  59. pcapkit/const/ipx/__init__.py +27 -0
  60. pcapkit/const/ipx/packet.py +72 -0
  61. pcapkit/const/ipx/socket.py +104 -0
  62. pcapkit/const/l2tp/__init__.py +21 -0
  63. pcapkit/const/l2tp/type.py +51 -0
  64. pcapkit/const/mh/__init__.py +204 -0
  65. pcapkit/const/mh/access_type.py +92 -0
  66. pcapkit/const/mh/ack_status_code.py +71 -0
  67. pcapkit/const/mh/ani_suboption.py +74 -0
  68. pcapkit/const/mh/auth_subtype.py +53 -0
  69. pcapkit/const/mh/binding_ack_flag.py +66 -0
  70. pcapkit/const/mh/binding_error.py +51 -0
  71. pcapkit/const/mh/binding_revocation.py +59 -0
  72. pcapkit/const/mh/binding_update_flag.py +81 -0
  73. pcapkit/const/mh/cga_extension.py +66 -0
  74. pcapkit/const/mh/cga_sec.py +57 -0
  75. pcapkit/const/mh/cga_type.py +68 -0
  76. pcapkit/const/mh/dhcp_support_mode.py +53 -0
  77. pcapkit/const/mh/dns_status_code.py +65 -0
  78. pcapkit/const/mh/dsmip6_tls_packet.py +62 -0
  79. pcapkit/const/mh/dsmipv6_home_address.py +74 -0
  80. pcapkit/const/mh/enumerating_algorithm.py +56 -0
  81. pcapkit/const/mh/fb_ack_status.py +62 -0
  82. pcapkit/const/mh/fb_action.py +71 -0
  83. pcapkit/const/mh/fb_indication_trigger.py +65 -0
  84. pcapkit/const/mh/fb_type.py +59 -0
  85. pcapkit/const/mh/flow_id_status.py +77 -0
  86. pcapkit/const/mh/flow_id_suboption.py +71 -0
  87. pcapkit/const/mh/handoff_type.py +71 -0
  88. pcapkit/const/mh/handover_ack_flag.py +54 -0
  89. pcapkit/const/mh/handover_ack_status.py +92 -0
  90. pcapkit/const/mh/handover_initiate_flag.py +57 -0
  91. pcapkit/const/mh/handover_initiate_status.py +62 -0
  92. pcapkit/const/mh/home_address_reply.py +71 -0
  93. pcapkit/const/mh/lla_code.py +63 -0
  94. pcapkit/const/mh/lma_mag_suboption.py +59 -0
  95. pcapkit/const/mh/mn_group_id.py +59 -0
  96. pcapkit/const/mh/mn_id_subtype.py +77 -0
  97. pcapkit/const/mh/operator_id.py +63 -0
  98. pcapkit/const/mh/option.py +260 -0
  99. pcapkit/const/mh/packet.py +119 -0
  100. pcapkit/const/mh/qos_attribute.py +89 -0
  101. pcapkit/const/mh/revocation_status_code.py +83 -0
  102. pcapkit/const/mh/revocation_trigger.py +86 -0
  103. pcapkit/const/mh/status_code.py +232 -0
  104. pcapkit/const/mh/traffic_selector.py +62 -0
  105. pcapkit/const/mh/upa_status.py +71 -0
  106. pcapkit/const/mh/upn_reason.py +80 -0
  107. pcapkit/const/ospf/__init__.py +27 -0
  108. pcapkit/const/ospf/authentication.py +65 -0
  109. pcapkit/const/ospf/packet.py +71 -0
  110. pcapkit/const/pcapng/__init__.py +51 -0
  111. pcapkit/const/pcapng/block_type.py +152 -0
  112. pcapkit/const/pcapng/filter_type.py +48 -0
  113. pcapkit/const/pcapng/hash_algorithm.py +59 -0
  114. pcapkit/const/pcapng/option_type.py +233 -0
  115. pcapkit/const/pcapng/record_type.py +57 -0
  116. pcapkit/const/pcapng/secrets_type.py +56 -0
  117. pcapkit/const/pcapng/verdict_type.py +53 -0
  118. pcapkit/const/reg/__init__.py +34 -0
  119. pcapkit/const/reg/apptype.py +32702 -0
  120. pcapkit/const/reg/ethertype.py +714 -0
  121. pcapkit/const/reg/linktype.py +902 -0
  122. pcapkit/const/reg/transtype.py +523 -0
  123. pcapkit/const/tcp/__init__.py +35 -0
  124. pcapkit/const/tcp/checksum.py +55 -0
  125. pcapkit/const/tcp/flags.py +73 -0
  126. pcapkit/const/tcp/mp_tcp_option.py +80 -0
  127. pcapkit/const/tcp/option.py +198 -0
  128. pcapkit/const/vlan/__init__.py +23 -0
  129. pcapkit/const/vlan/priority_level.py +71 -0
  130. pcapkit/corekit/__init__.py +59 -0
  131. pcapkit/corekit/fields/__init__.py +45 -0
  132. pcapkit/corekit/fields/collections.py +282 -0
  133. pcapkit/corekit/fields/field.py +269 -0
  134. pcapkit/corekit/fields/ipaddress.py +274 -0
  135. pcapkit/corekit/fields/misc.py +722 -0
  136. pcapkit/corekit/fields/numbers.py +375 -0
  137. pcapkit/corekit/fields/strings.py +245 -0
  138. pcapkit/corekit/infoclass.py +394 -0
  139. pcapkit/corekit/io.py +506 -0
  140. pcapkit/corekit/module.py +39 -0
  141. pcapkit/corekit/multidict.py +626 -0
  142. pcapkit/corekit/protochain.py +263 -0
  143. pcapkit/corekit/version.py +33 -0
  144. pcapkit/dumpkit/__init__.py +15 -0
  145. pcapkit/dumpkit/common.py +199 -0
  146. pcapkit/dumpkit/null.py +77 -0
  147. pcapkit/dumpkit/pcap.py +144 -0
  148. pcapkit/foundation/__init__.py +45 -0
  149. pcapkit/foundation/engines/__init__.py +36 -0
  150. pcapkit/foundation/engines/dpkt.py +230 -0
  151. pcapkit/foundation/engines/engine.py +194 -0
  152. pcapkit/foundation/engines/pcap.py +188 -0
  153. pcapkit/foundation/engines/pcapng.py +310 -0
  154. pcapkit/foundation/engines/pyshark.py +166 -0
  155. pcapkit/foundation/engines/scapy.py +161 -0
  156. pcapkit/foundation/extraction.py +915 -0
  157. pcapkit/foundation/reassembly/__init__.py +49 -0
  158. pcapkit/foundation/reassembly/data/__init__.py +48 -0
  159. pcapkit/foundation/reassembly/data/ip.py +117 -0
  160. pcapkit/foundation/reassembly/data/tcp.py +145 -0
  161. pcapkit/foundation/reassembly/ip.py +192 -0
  162. pcapkit/foundation/reassembly/ipv4.py +50 -0
  163. pcapkit/foundation/reassembly/ipv6.py +50 -0
  164. pcapkit/foundation/reassembly/reassembly.py +389 -0
  165. pcapkit/foundation/reassembly/tcp.py +249 -0
  166. pcapkit/foundation/registry/__init__.py +41 -0
  167. pcapkit/foundation/registry/foundation.py +327 -0
  168. pcapkit/foundation/registry/protocols.py +885 -0
  169. pcapkit/foundation/traceflow/__init__.py +44 -0
  170. pcapkit/foundation/traceflow/data/__init__.py +30 -0
  171. pcapkit/foundation/traceflow/data/tcp.py +105 -0
  172. pcapkit/foundation/traceflow/tcp.py +159 -0
  173. pcapkit/foundation/traceflow/traceflow.py +390 -0
  174. pcapkit/interface/__init__.py +22 -0
  175. pcapkit/interface/core.py +185 -0
  176. pcapkit/interface/misc.py +120 -0
  177. pcapkit/protocols/__init__.py +85 -0
  178. pcapkit/protocols/application/NotImplemented/bgp.py +0 -0
  179. pcapkit/protocols/application/NotImplemented/dhcp.py +0 -0
  180. pcapkit/protocols/application/NotImplemented/dhcpv6.py +0 -0
  181. pcapkit/protocols/application/NotImplemented/dns.py +0 -0
  182. pcapkit/protocols/application/NotImplemented/imap.py +0 -0
  183. pcapkit/protocols/application/NotImplemented/ldap.py +0 -0
  184. pcapkit/protocols/application/NotImplemented/mqtt.py +0 -0
  185. pcapkit/protocols/application/NotImplemented/nntp.py +0 -0
  186. pcapkit/protocols/application/NotImplemented/ntp.py +0 -0
  187. pcapkit/protocols/application/NotImplemented/onc_rpc.py +0 -0
  188. pcapkit/protocols/application/NotImplemented/pop.py +0 -0
  189. pcapkit/protocols/application/NotImplemented/rip.py +0 -0
  190. pcapkit/protocols/application/NotImplemented/rtp.py +0 -0
  191. pcapkit/protocols/application/NotImplemented/sip.py +0 -0
  192. pcapkit/protocols/application/NotImplemented/smtp.py +0 -0
  193. pcapkit/protocols/application/NotImplemented/snmp.py +0 -0
  194. pcapkit/protocols/application/NotImplemented/ssh.py +0 -0
  195. pcapkit/protocols/application/NotImplemented/telnet.py +0 -0
  196. pcapkit/protocols/application/NotImplemented/tls.py +0 -0
  197. pcapkit/protocols/application/NotImplemented/xmpp.py +0 -0
  198. pcapkit/protocols/application/__init__.py +34 -0
  199. pcapkit/protocols/application/application.py +114 -0
  200. pcapkit/protocols/application/ftp.py +206 -0
  201. pcapkit/protocols/application/http.py +176 -0
  202. pcapkit/protocols/application/httpv1.py +320 -0
  203. pcapkit/protocols/application/httpv2.py +1255 -0
  204. pcapkit/protocols/data/__init__.py +192 -0
  205. pcapkit/protocols/data/application/__init__.py +57 -0
  206. pcapkit/protocols/data/application/ftp.py +59 -0
  207. pcapkit/protocols/data/application/httpv1.py +79 -0
  208. pcapkit/protocols/data/application/httpv2.py +293 -0
  209. pcapkit/protocols/data/data.py +25 -0
  210. pcapkit/protocols/data/internet/__init__.py +298 -0
  211. pcapkit/protocols/data/internet/ah.py +31 -0
  212. pcapkit/protocols/data/internet/hip.py +804 -0
  213. pcapkit/protocols/data/internet/hopopt.py +351 -0
  214. pcapkit/protocols/data/internet/ipv4.py +369 -0
  215. pcapkit/protocols/data/internet/ipv6.py +67 -0
  216. pcapkit/protocols/data/internet/ipv6_frag.py +29 -0
  217. pcapkit/protocols/data/internet/ipv6_opts.py +368 -0
  218. pcapkit/protocols/data/internet/ipv6_route.py +86 -0
  219. pcapkit/protocols/data/internet/ipx.py +56 -0
  220. pcapkit/protocols/data/internet/mh.py +509 -0
  221. pcapkit/protocols/data/link/__init__.py +33 -0
  222. pcapkit/protocols/data/link/arp.py +74 -0
  223. pcapkit/protocols/data/link/ethernet.py +28 -0
  224. pcapkit/protocols/data/link/l2tp.py +63 -0
  225. pcapkit/protocols/data/link/ospf.py +58 -0
  226. pcapkit/protocols/data/link/vlan.py +42 -0
  227. pcapkit/protocols/data/misc/__init__.py +109 -0
  228. pcapkit/protocols/data/misc/null.py +18 -0
  229. pcapkit/protocols/data/misc/pcap/__init__.py +18 -0
  230. pcapkit/protocols/data/misc/pcap/frame.py +56 -0
  231. pcapkit/protocols/data/misc/pcap/header.py +53 -0
  232. pcapkit/protocols/data/misc/pcapng.py +925 -0
  233. pcapkit/protocols/data/misc/raw.py +25 -0
  234. pcapkit/protocols/data/protocol.py +32 -0
  235. pcapkit/protocols/data/transport/__init__.py +71 -0
  236. pcapkit/protocols/data/transport/tcp.py +555 -0
  237. pcapkit/protocols/data/transport/udp.py +29 -0
  238. pcapkit/protocols/internet/NotImplemented/ecn.py +0 -0
  239. pcapkit/protocols/internet/NotImplemented/esp.py +97 -0
  240. pcapkit/protocols/internet/NotImplemented/icmp.py +0 -0
  241. pcapkit/protocols/internet/NotImplemented/icmpv6.py +0 -0
  242. pcapkit/protocols/internet/NotImplemented/igmp.py +0 -0
  243. pcapkit/protocols/internet/NotImplemented/shim6.py +0 -0
  244. pcapkit/protocols/internet/__init__.py +43 -0
  245. pcapkit/protocols/internet/ah.py +275 -0
  246. pcapkit/protocols/internet/hip.py +4727 -0
  247. pcapkit/protocols/internet/hopopt.py +1879 -0
  248. pcapkit/protocols/internet/internet.py +240 -0
  249. pcapkit/protocols/internet/ip.py +51 -0
  250. pcapkit/protocols/internet/ipsec.py +50 -0
  251. pcapkit/protocols/internet/ipv4.py +1782 -0
  252. pcapkit/protocols/internet/ipv6.py +361 -0
  253. pcapkit/protocols/internet/ipv6_frag.py +258 -0
  254. pcapkit/protocols/internet/ipv6_opts.py +1890 -0
  255. pcapkit/protocols/internet/ipv6_route.py +710 -0
  256. pcapkit/protocols/internet/ipx.py +230 -0
  257. pcapkit/protocols/internet/mh.py +2764 -0
  258. pcapkit/protocols/link/NotImplemented/dsl.py +0 -0
  259. pcapkit/protocols/link/NotImplemented/eapol.py +1 -0
  260. pcapkit/protocols/link/NotImplemented/fddi.py +0 -0
  261. pcapkit/protocols/link/NotImplemented/isdn.py +0 -0
  262. pcapkit/protocols/link/NotImplemented/ndp.py +0 -0
  263. pcapkit/protocols/link/NotImplemented/ppp.py +0 -0
  264. pcapkit/protocols/link/__init__.py +35 -0
  265. pcapkit/protocols/link/arp.py +421 -0
  266. pcapkit/protocols/link/ethernet.py +248 -0
  267. pcapkit/protocols/link/l2tp.py +267 -0
  268. pcapkit/protocols/link/link.py +140 -0
  269. pcapkit/protocols/link/ospf.py +342 -0
  270. pcapkit/protocols/link/rarp.py +82 -0
  271. pcapkit/protocols/link/vlan.py +225 -0
  272. pcapkit/protocols/misc/__init__.py +37 -0
  273. pcapkit/protocols/misc/null.py +129 -0
  274. pcapkit/protocols/misc/pcap/__init__.py +17 -0
  275. pcapkit/protocols/misc/pcap/frame.py +478 -0
  276. pcapkit/protocols/misc/pcap/header.py +358 -0
  277. pcapkit/protocols/misc/pcapng.py +5520 -0
  278. pcapkit/protocols/misc/raw.py +180 -0
  279. pcapkit/protocols/protocol.py +1216 -0
  280. pcapkit/protocols/schema/__init__.py +140 -0
  281. pcapkit/protocols/schema/application/__init__.py +40 -0
  282. pcapkit/protocols/schema/application/ftp.py +21 -0
  283. pcapkit/protocols/schema/application/httpv1.py +21 -0
  284. pcapkit/protocols/schema/application/httpv2.py +384 -0
  285. pcapkit/protocols/schema/internet/__init__.py +294 -0
  286. pcapkit/protocols/schema/internet/ah.py +40 -0
  287. pcapkit/protocols/schema/internet/hip.py +1184 -0
  288. pcapkit/protocols/schema/internet/hopopt.py +679 -0
  289. pcapkit/protocols/schema/internet/ipv4.py +576 -0
  290. pcapkit/protocols/schema/internet/ipv6.py +63 -0
  291. pcapkit/protocols/schema/internet/ipv6_frag.py +48 -0
  292. pcapkit/protocols/schema/internet/ipv6_opts.py +680 -0
  293. pcapkit/protocols/schema/internet/ipv6_route.py +198 -0
  294. pcapkit/protocols/schema/internet/ipx.py +40 -0
  295. pcapkit/protocols/schema/internet/mh.py +718 -0
  296. pcapkit/protocols/schema/link/__init__.py +19 -0
  297. pcapkit/protocols/schema/link/arp.py +39 -0
  298. pcapkit/protocols/schema/link/ethernet.py +51 -0
  299. pcapkit/protocols/schema/link/l2tp.py +88 -0
  300. pcapkit/protocols/schema/link/ospf.py +90 -0
  301. pcapkit/protocols/schema/link/vlan.py +69 -0
  302. pcapkit/protocols/schema/misc/__init__.py +108 -0
  303. pcapkit/protocols/schema/misc/null.py +18 -0
  304. pcapkit/protocols/schema/misc/pcap/__init__.py +10 -0
  305. pcapkit/protocols/schema/misc/pcap/frame.py +51 -0
  306. pcapkit/protocols/schema/misc/pcap/header.py +63 -0
  307. pcapkit/protocols/schema/misc/pcapng.py +1689 -0
  308. pcapkit/protocols/schema/misc/raw.py +24 -0
  309. pcapkit/protocols/schema/schema.py +809 -0
  310. pcapkit/protocols/schema/transport/__init__.py +69 -0
  311. pcapkit/protocols/schema/transport/tcp.py +928 -0
  312. pcapkit/protocols/schema/transport/udp.py +90 -0
  313. pcapkit/protocols/transport/NotImplemented/dccp.py +0 -0
  314. pcapkit/protocols/transport/NotImplemented/rsvp.py +0 -0
  315. pcapkit/protocols/transport/NotImplemented/sctp.py +0 -0
  316. pcapkit/protocols/transport/__init__.py +27 -0
  317. pcapkit/protocols/transport/tcp.py +3025 -0
  318. pcapkit/protocols/transport/transport.py +158 -0
  319. pcapkit/protocols/transport/udp.py +214 -0
  320. pcapkit/py.typed +0 -0
  321. pcapkit/toolkit/__init__.py +57 -0
  322. pcapkit/toolkit/dpkt.py +306 -0
  323. pcapkit/toolkit/pcap.py +212 -0
  324. pcapkit/toolkit/pcapng.py +251 -0
  325. pcapkit/toolkit/pyshark.py +99 -0
  326. pcapkit/toolkit/scapy.py +297 -0
  327. pcapkit/utilities/__init__.py +20 -0
  328. pcapkit/utilities/compat.py +196 -0
  329. pcapkit/utilities/decorators.py +192 -0
  330. pcapkit/utilities/exceptions.py +365 -0
  331. pcapkit/utilities/logging.py +55 -0
  332. pcapkit/utilities/warnings.py +185 -0
  333. pcapkit/vendor/__init__.py +105 -0
  334. pcapkit/vendor/__main__.py +92 -0
  335. pcapkit/vendor/arp/__init__.py +27 -0
  336. pcapkit/vendor/arp/hardware.py +29 -0
  337. pcapkit/vendor/arp/operation.py +29 -0
  338. pcapkit/vendor/default.py +474 -0
  339. pcapkit/vendor/ftp/__init__.py +27 -0
  340. pcapkit/vendor/ftp/command.py +244 -0
  341. pcapkit/vendor/ftp/return_code.py +256 -0
  342. pcapkit/vendor/hip/__init__.py +94 -0
  343. pcapkit/vendor/hip/certificate.py +29 -0
  344. pcapkit/vendor/hip/cipher.py +29 -0
  345. pcapkit/vendor/hip/di.py +29 -0
  346. pcapkit/vendor/hip/ecdsa_curve.py +29 -0
  347. pcapkit/vendor/hip/ecdsa_low_curve.py +29 -0
  348. pcapkit/vendor/hip/eddsa_curve.py +85 -0
  349. pcapkit/vendor/hip/esp_transform_suite.py +29 -0
  350. pcapkit/vendor/hip/group.py +87 -0
  351. pcapkit/vendor/hip/hi_algorithm.py +29 -0
  352. pcapkit/vendor/hip/hit_suite.py +29 -0
  353. pcapkit/vendor/hip/nat_traversal.py +29 -0
  354. pcapkit/vendor/hip/notify_message.py +29 -0
  355. pcapkit/vendor/hip/packet.py +88 -0
  356. pcapkit/vendor/hip/parameter.py +88 -0
  357. pcapkit/vendor/hip/registration.py +29 -0
  358. pcapkit/vendor/hip/registration_failure.py +29 -0
  359. pcapkit/vendor/hip/suite.py +29 -0
  360. pcapkit/vendor/hip/transport.py +29 -0
  361. pcapkit/vendor/http/__init__.py +39 -0
  362. pcapkit/vendor/http/error_code.py +95 -0
  363. pcapkit/vendor/http/frame.py +91 -0
  364. pcapkit/vendor/http/method.py +167 -0
  365. pcapkit/vendor/http/setting.py +93 -0
  366. pcapkit/vendor/http/status_code.py +185 -0
  367. pcapkit/vendor/ipv4/__init__.py +57 -0
  368. pcapkit/vendor/ipv4/classification_level.py +91 -0
  369. pcapkit/vendor/ipv4/option_class.py +80 -0
  370. pcapkit/vendor/ipv4/option_number.py +105 -0
  371. pcapkit/vendor/ipv4/protection_authority.py +84 -0
  372. pcapkit/vendor/ipv4/qs_function.py +78 -0
  373. pcapkit/vendor/ipv4/router_alert.py +93 -0
  374. pcapkit/vendor/ipv4/tos_del.py +78 -0
  375. pcapkit/vendor/ipv4/tos_ecn.py +95 -0
  376. pcapkit/vendor/ipv4/tos_pre.py +84 -0
  377. pcapkit/vendor/ipv4/tos_rel.py +78 -0
  378. pcapkit/vendor/ipv4/tos_thr.py +77 -0
  379. pcapkit/vendor/ipv4/ts_flag.py +79 -0
  380. pcapkit/vendor/ipv6/__init__.py +53 -0
  381. pcapkit/vendor/ipv6/extension_header.py +171 -0
  382. pcapkit/vendor/ipv6/option.py +104 -0
  383. pcapkit/vendor/ipv6/option_action.py +90 -0
  384. pcapkit/vendor/ipv6/qs_function.py +78 -0
  385. pcapkit/vendor/ipv6/router_alert.py +93 -0
  386. pcapkit/vendor/ipv6/routing.py +87 -0
  387. pcapkit/vendor/ipv6/seed_id.py +81 -0
  388. pcapkit/vendor/ipv6/smf_dpd_mode.py +78 -0
  389. pcapkit/vendor/ipv6/tagger_id.py +81 -0
  390. pcapkit/vendor/ipx/__init__.py +37 -0
  391. pcapkit/vendor/ipx/packet.py +123 -0
  392. pcapkit/vendor/ipx/socket.py +125 -0
  393. pcapkit/vendor/l2tp/__init__.py +21 -0
  394. pcapkit/vendor/l2tp/type.py +78 -0
  395. pcapkit/vendor/mh/__init__.py +204 -0
  396. pcapkit/vendor/mh/access_type.py +87 -0
  397. pcapkit/vendor/mh/ack_status_code.py +88 -0
  398. pcapkit/vendor/mh/ani_suboption.py +88 -0
  399. pcapkit/vendor/mh/auth_subtype.py +83 -0
  400. pcapkit/vendor/mh/binding_ack_flag.py +148 -0
  401. pcapkit/vendor/mh/binding_error.py +78 -0
  402. pcapkit/vendor/mh/binding_revocation.py +87 -0
  403. pcapkit/vendor/mh/binding_update_flag.py +147 -0
  404. pcapkit/vendor/mh/cga_extension.py +91 -0
  405. pcapkit/vendor/mh/cga_sec.py +91 -0
  406. pcapkit/vendor/mh/cga_type.py +74 -0
  407. pcapkit/vendor/mh/dhcp_support_mode.py +77 -0
  408. pcapkit/vendor/mh/dns_status_code.py +87 -0
  409. pcapkit/vendor/mh/dsmip6_tls_packet.py +87 -0
  410. pcapkit/vendor/mh/dsmipv6_home_address.py +87 -0
  411. pcapkit/vendor/mh/enumerating_algorithm.py +82 -0
  412. pcapkit/vendor/mh/fb_ack_status.py +87 -0
  413. pcapkit/vendor/mh/fb_action.py +88 -0
  414. pcapkit/vendor/mh/fb_indication_trigger.py +87 -0
  415. pcapkit/vendor/mh/fb_type.py +88 -0
  416. pcapkit/vendor/mh/flow_id_status.py +87 -0
  417. pcapkit/vendor/mh/flow_id_suboption.py +87 -0
  418. pcapkit/vendor/mh/handoff_type.py +87 -0
  419. pcapkit/vendor/mh/handover_ack_flag.py +143 -0
  420. pcapkit/vendor/mh/handover_ack_status.py +87 -0
  421. pcapkit/vendor/mh/handover_initiate_flag.py +143 -0
  422. pcapkit/vendor/mh/handover_initiate_status.py +87 -0
  423. pcapkit/vendor/mh/home_address_reply.py +87 -0
  424. pcapkit/vendor/mh/lla_code.py +97 -0
  425. pcapkit/vendor/mh/lma_mag_suboption.py +88 -0
  426. pcapkit/vendor/mh/mn_group_id.py +87 -0
  427. pcapkit/vendor/mh/mn_id_subtype.py +87 -0
  428. pcapkit/vendor/mh/operator_id.py +87 -0
  429. pcapkit/vendor/mh/option.py +83 -0
  430. pcapkit/vendor/mh/packet.py +82 -0
  431. pcapkit/vendor/mh/qos_attribute.py +87 -0
  432. pcapkit/vendor/mh/revocation_status_code.py +87 -0
  433. pcapkit/vendor/mh/revocation_trigger.py +87 -0
  434. pcapkit/vendor/mh/status_code.py +91 -0
  435. pcapkit/vendor/mh/traffic_selector.py +87 -0
  436. pcapkit/vendor/mh/upa_status.py +87 -0
  437. pcapkit/vendor/mh/upn_reason.py +87 -0
  438. pcapkit/vendor/ospf/__init__.py +27 -0
  439. pcapkit/vendor/ospf/authentication.py +29 -0
  440. pcapkit/vendor/ospf/packet.py +29 -0
  441. pcapkit/vendor/pcapng/__init__.py +51 -0
  442. pcapkit/vendor/pcapng/block_type.py +94 -0
  443. pcapkit/vendor/pcapng/filter_type.py +77 -0
  444. pcapkit/vendor/pcapng/hash_algorithm.py +82 -0
  445. pcapkit/vendor/pcapng/option_type.py +287 -0
  446. pcapkit/vendor/pcapng/record_type.py +81 -0
  447. pcapkit/vendor/pcapng/secrets_type.py +81 -0
  448. pcapkit/vendor/pcapng/verdict_type.py +79 -0
  449. pcapkit/vendor/reg/__init__.py +34 -0
  450. pcapkit/vendor/reg/apptype.py +338 -0
  451. pcapkit/vendor/reg/ethertype.py +121 -0
  452. pcapkit/vendor/reg/linktype.py +110 -0
  453. pcapkit/vendor/reg/transtype.py +111 -0
  454. pcapkit/vendor/tcp/__init__.py +35 -0
  455. pcapkit/vendor/tcp/checksum.py +80 -0
  456. pcapkit/vendor/tcp/flags.py +149 -0
  457. pcapkit/vendor/tcp/mp_tcp_option.py +90 -0
  458. pcapkit/vendor/tcp/option.py +103 -0
  459. pcapkit/vendor/vlan/__init__.py +23 -0
  460. pcapkit/vendor/vlan/priority_level.py +97 -0
  461. pypcapkit-1.3.3.post1.dist-info/LICENSE +29 -0
  462. pypcapkit-1.3.3.post1.dist-info/METADATA +236 -0
  463. pypcapkit-1.3.3.post1.dist-info/RECORD +466 -0
  464. pypcapkit-1.3.3.post1.dist-info/WHEEL +5 -0
  465. pypcapkit-1.3.3.post1.dist-info/entry_points.txt +3 -0
  466. pypcapkit-1.3.3.post1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,119 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Mobility Header Types - for the MH Type field in the Mobility Header
4
+ ==========================================================================
5
+
6
+ .. module:: pcapkit.const.mh.packet
7
+
8
+ This module contains the constant enumeration for **Mobility Header Types - for the MH Type field in the Mobility Header**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.packet.Packet`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['Packet']
16
+
17
+
18
+ class Packet(IntEnum):
19
+ """[Packet] Mobility Header Types - for the MH Type field in the Mobility Header"""
20
+
21
+ #: Binding Refresh Request [:rfc:`6275`]
22
+ Binding_Refresh_Request = 0
23
+
24
+ #: Home Test Init [:rfc:`6275`]
25
+ Home_Test_Init = 1
26
+
27
+ #: Care-of Test Init [:rfc:`6275`]
28
+ Care_of_Test_Init = 2
29
+
30
+ #: Home Test [:rfc:`6275`]
31
+ Home_Test = 3
32
+
33
+ #: Care-of Test [:rfc:`6275`]
34
+ Care_of_Test = 4
35
+
36
+ #: Binding Update [:rfc:`6275`]
37
+ Binding_Update = 5
38
+
39
+ #: Binding Acknowledgement [:rfc:`6275`]
40
+ Binding_Acknowledgement = 6
41
+
42
+ #: Binding Error [:rfc:`6275`]
43
+ Binding_Error = 7
44
+
45
+ #: Fast Binding Update [:rfc:`5568`]
46
+ Fast_Binding_Update = 8
47
+
48
+ #: Fast Binding Acknowledgment [:rfc:`5568`]
49
+ Fast_Binding_Acknowledgment = 9
50
+
51
+ #: Fast Neighbor Advertisement (Deprecated) [:rfc:`5568`]
52
+ Fast_Neighbor_Advertisement = 10
53
+
54
+ #: Experimental Mobility Header [:rfc:`5096`]
55
+ Experimental_Mobility_Header = 11
56
+
57
+ #: Home Agent Switch Message [:rfc:`5142`]
58
+ Home_Agent_Switch_Message = 12
59
+
60
+ #: Heartbeat Message [:rfc:`5847`]
61
+ Heartbeat_Message = 13
62
+
63
+ #: Handover Initiate Message [:rfc:`5568`]
64
+ Handover_Initiate_Message = 14
65
+
66
+ #: Handover Acknowledge Message [:rfc:`5568`]
67
+ Handover_Acknowledge_Message = 15
68
+
69
+ #: Binding Revocation Message [:rfc:`5846`]
70
+ Binding_Revocation_Message = 16
71
+
72
+ #: Localized Routing Initiation [:rfc:`6705`]
73
+ Localized_Routing_Initiation = 17
74
+
75
+ #: Localized Routing Acknowledgment [:rfc:`6705`]
76
+ Localized_Routing_Acknowledgment = 18
77
+
78
+ #: Update Notification [:rfc:`7077`]
79
+ Update_Notification = 19
80
+
81
+ #: Update Notification Acknowledgement [:rfc:`7077`]
82
+ Update_Notification_Acknowledgement = 20
83
+
84
+ #: Flow Binding Message [:rfc:`7109`]
85
+ Flow_Binding_Message = 21
86
+
87
+ #: Subscription Query [:rfc:`7161`]
88
+ Subscription_Query = 22
89
+
90
+ #: Subscription Response [:rfc:`7161`]
91
+ Subscription_Response = 23
92
+
93
+ @staticmethod
94
+ def get(key: 'int | str', default: 'int' = -1) -> 'Packet':
95
+ """Backport support for original codes.
96
+
97
+ Args:
98
+ key: Key to get enum item.
99
+ default: Default value if not found.
100
+
101
+ :meta private:
102
+ """
103
+ if isinstance(key, int):
104
+ return Packet(key)
105
+ if key not in Packet._member_map_: # pylint: disable=no-member
106
+ return extend_enum(Packet, key, default)
107
+ return Packet[key] # type: ignore[misc]
108
+
109
+ @classmethod
110
+ def _missing_(cls, value: 'int') -> 'Packet':
111
+ """Lookup function used when value is not found.
112
+
113
+ Args:
114
+ value: Value to get enum item.
115
+
116
+ """
117
+ if not (isinstance(value, int) and 0 <= value <= 255):
118
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
119
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
@@ -0,0 +1,89 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Quality-of-Service Attribute Registry
4
+ ===========================================
5
+
6
+ .. module:: pcapkit.const.mh.qos_attribute
7
+
8
+ This module contains the constant enumeration for **Quality-of-Service Attribute Registry**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.qos_attribute.QoSAttribute`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['QoSAttribute']
16
+
17
+
18
+ class QoSAttribute(IntEnum):
19
+ """[QoSAttribute] Quality-of-Service Attribute Registry"""
20
+
21
+ #: Reserved [:rfc:`7222`]
22
+ Reserved_0 = 0
23
+
24
+ #: Per-MN-Agg-Max-DL-Bit-Rate [:rfc:`7222`]
25
+ Per_MN_Agg_Max_DL_Bit_Rate = 1
26
+
27
+ #: Per-MN-Agg-Max-UL-Bit-Rate [:rfc:`7222`]
28
+ Per_MN_Agg_Max_UL_Bit_Rate = 2
29
+
30
+ #: Per-Session-Agg-Max-DL-Bit-Rate [:rfc:`7222`]
31
+ Per_Session_Agg_Max_DL_Bit_Rate = 3
32
+
33
+ #: Per-Session-Agg-Max-UL-Bit-Rate [:rfc:`7222`]
34
+ Per_Session_Agg_Max_UL_Bit_Rate = 4
35
+
36
+ #: Allocation-Retention-Priority [:rfc:`7222`]
37
+ Allocation_Retention_Priority = 5
38
+
39
+ #: Aggregate-Max-DL-Bit-Rate [:rfc:`7222`]
40
+ Aggregate_Max_DL_Bit_Rate = 6
41
+
42
+ #: Aggregate-Max-UL-Bit-Rate [:rfc:`7222`]
43
+ Aggregate_Max_UL_Bit_Rate = 7
44
+
45
+ #: Guaranteed-DL-Bit-Rate [:rfc:`7222`]
46
+ Guaranteed_DL_Bit_Rate = 8
47
+
48
+ #: Guaranteed-UL-Bit-Rate [:rfc:`7222`]
49
+ Guaranteed_UL_Bit_Rate = 9
50
+
51
+ #: QoS-Traffic-Selector [:rfc:`7222`]
52
+ QoS_Traffic_Selector = 10
53
+
54
+ #: QoS-Vendor-Specific-Attribute [:rfc:`7222`]
55
+ QoS_Vendor_Specific_Attribute = 11
56
+
57
+ #: Reserved [:rfc:`7222`]
58
+ Reserved_255 = 255
59
+
60
+ @staticmethod
61
+ def get(key: 'int | str', default: 'int' = -1) -> 'QoSAttribute':
62
+ """Backport support for original codes.
63
+
64
+ Args:
65
+ key: Key to get enum item.
66
+ default: Default value if not found.
67
+
68
+ :meta private:
69
+ """
70
+ if isinstance(key, int):
71
+ return QoSAttribute(key)
72
+ if key not in QoSAttribute._member_map_: # pylint: disable=no-member
73
+ return extend_enum(QoSAttribute, key, default)
74
+ return QoSAttribute[key] # type: ignore[misc]
75
+
76
+ @classmethod
77
+ def _missing_(cls, value: 'int') -> 'QoSAttribute':
78
+ """Lookup function used when value is not found.
79
+
80
+ Args:
81
+ value: Value to get enum item.
82
+
83
+ """
84
+ if not (isinstance(value, int) and 0 <= value <= 255):
85
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
86
+ if 12 <= value <= 254:
87
+ #: Unassigned
88
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
89
+ return super()._missing_(value)
@@ -0,0 +1,83 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Binding Revocation Acknowledgement Status Codes
4
+ =====================================================
5
+
6
+ .. module:: pcapkit.const.mh.revocation_status_code
7
+
8
+ This module contains the constant enumeration for **Binding Revocation Acknowledgement Status Codes**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.revocation_status_code.RevocationStatusCode`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['RevocationStatusCode']
16
+
17
+
18
+ class RevocationStatusCode(IntEnum):
19
+ """[RevocationStatusCode] Binding Revocation Acknowledgement Status Codes"""
20
+
21
+ #: success [:rfc:`5846`]
22
+ success = 0
23
+
24
+ #: partial success [:rfc:`5846`]
25
+ partial_success = 1
26
+
27
+ #: Binding Does NOT Exist [:rfc:`5846`]
28
+ Binding_Does_NOT_Exist = 128
29
+
30
+ #: IPv4 Home Address Option Required [:rfc:`5846`]
31
+ IPv4_Home_Address_Option_Required = 129
32
+
33
+ #: Global Revocation NOT Authorized [:rfc:`5846`]
34
+ Global_Revocation_NOT_Authorized = 130
35
+
36
+ #: Revoked Mobile Nodes Identity Required [:rfc:`5846`]
37
+ Revoked_Mobile_Nodes_Identity_Required = 131
38
+
39
+ #: Revocation Failed - MN is Attached [:rfc:`5846`]
40
+ Revocation_Failed_MN_is_Attached = 132
41
+
42
+ #: Revocation Trigger NOT Supported [:rfc:`5846`]
43
+ Revocation_Trigger_NOT_Supported = 133
44
+
45
+ #: Revocation Function NOT Supported [:rfc:`5846`]
46
+ Revocation_Function_NOT_Supported = 134
47
+
48
+ #: Proxy Binding Revocation NOT Supported [:rfc:`5846`]
49
+ Proxy_Binding_Revocation_NOT_Supported = 135
50
+
51
+ @staticmethod
52
+ def get(key: 'int | str', default: 'int' = -1) -> 'RevocationStatusCode':
53
+ """Backport support for original codes.
54
+
55
+ Args:
56
+ key: Key to get enum item.
57
+ default: Default value if not found.
58
+
59
+ :meta private:
60
+ """
61
+ if isinstance(key, int):
62
+ return RevocationStatusCode(key)
63
+ if key not in RevocationStatusCode._member_map_: # pylint: disable=no-member
64
+ return extend_enum(RevocationStatusCode, key, default)
65
+ return RevocationStatusCode[key] # type: ignore[misc]
66
+
67
+ @classmethod
68
+ def _missing_(cls, value: 'int') -> 'RevocationStatusCode':
69
+ """Lookup function used when value is not found.
70
+
71
+ Args:
72
+ value: Value to get enum item.
73
+
74
+ """
75
+ if not (isinstance(value, int) and 0 <= value <= 255):
76
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
77
+ if 2 <= value <= 127:
78
+ #: Unassigned
79
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
80
+ if 136 <= value <= 255:
81
+ #: Unassigned
82
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
83
+ return super()._missing_(value)
@@ -0,0 +1,86 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Revocation Trigger Values
4
+ ===============================
5
+
6
+ .. module:: pcapkit.const.mh.revocation_trigger
7
+
8
+ This module contains the constant enumeration for **Revocation Trigger Values**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.revocation_trigger.RevocationTrigger`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['RevocationTrigger']
16
+
17
+
18
+ class RevocationTrigger(IntEnum):
19
+ """[RevocationTrigger] Revocation Trigger Values"""
20
+
21
+ #: Unspecified [:rfc:`5846`]
22
+ Unspecified = 0
23
+
24
+ #: Administrative Reason [:rfc:`5846`]
25
+ Administrative_Reason = 1
26
+
27
+ #: Inter-MAG Handover - same Access Type [:rfc:`5846`]
28
+ Inter_MAG_Handover_same_Access_Type = 2
29
+
30
+ #: Inter-MAG Handover - different Access Type [:rfc:`5846`]
31
+ Inter_MAG_Handover_different_Access_Type = 3
32
+
33
+ #: Inter-MAG Handover - Unknown [:rfc:`5846`]
34
+ Inter_MAG_Handover_Unknown = 4
35
+
36
+ #: User Initiated Session(s) Termination [:rfc:`5846`]
37
+ User_Initiated_Session_Termination = 5
38
+
39
+ #: Access Network Session(s) Termination [:rfc:`5846`]
40
+ Access_Network_Session_Termination = 6
41
+
42
+ #: Possible Out-of Sync BCE State [:rfc:`5846`]
43
+ Possible_Out_of_Sync_BCE_State = 7
44
+
45
+ #: Per-Peer Policy [:rfc:`5846`]
46
+ Per_Peer_Policy = 128
47
+
48
+ #: Revoking Mobility Node Local Policy [:rfc:`5846`]
49
+ Revoking_Mobility_Node_Local_Policy = 129
50
+
51
+ @staticmethod
52
+ def get(key: 'int | str', default: 'int' = -1) -> 'RevocationTrigger':
53
+ """Backport support for original codes.
54
+
55
+ Args:
56
+ key: Key to get enum item.
57
+ default: Default value if not found.
58
+
59
+ :meta private:
60
+ """
61
+ if isinstance(key, int):
62
+ return RevocationTrigger(key)
63
+ if key not in RevocationTrigger._member_map_: # pylint: disable=no-member
64
+ return extend_enum(RevocationTrigger, key, default)
65
+ return RevocationTrigger[key] # type: ignore[misc]
66
+
67
+ @classmethod
68
+ def _missing_(cls, value: 'int') -> 'RevocationTrigger':
69
+ """Lookup function used when value is not found.
70
+
71
+ Args:
72
+ value: Value to get enum item.
73
+
74
+ """
75
+ if not (isinstance(value, int) and 0 <= value <= 255):
76
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
77
+ if 8 <= value <= 127:
78
+ #: Unassigned
79
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
80
+ if 130 <= value <= 249:
81
+ #: Unassigned
82
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
83
+ if 250 <= value <= 255:
84
+ #: Reserved for Testing Purposes Only [:rfc:`5846`]
85
+ return extend_enum(cls, 'Reserved_for_Testing_Purposes_Only_%d' % value, value)
86
+ return super()._missing_(value)
@@ -0,0 +1,232 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Status Codes
4
+ ==================
5
+
6
+ .. module:: pcapkit.const.mh.status_code
7
+
8
+ This module contains the constant enumeration for **Status Codes**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.status_code.StatusCode`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['StatusCode']
16
+
17
+
18
+ class StatusCode(IntEnum):
19
+ """[StatusCode] Status Codes"""
20
+
21
+ #: Binding Update accepted/Proxy Binding Update accepted
22
+ #: [:rfc:`6275`][:rfc:`5213`]
23
+ Binding_Update_accepted_Proxy_Binding_Update_accepted = 0
24
+
25
+ #: Accepted but prefix discovery necessary [:rfc:`6275`]
26
+ Accepted_but_prefix_discovery_necessary = 1
27
+
28
+ #: GRE_KEY_OPTION_NOT_REQUIRED [:rfc:`5845`]
29
+ GRE_KEY_OPTION_NOT_REQUIRED = 2
30
+
31
+ #: GRE_TUNNELING_BUT_TLV_HEADER_NOT_SUPPORTED [:rfc:`5845`]
32
+ GRE_TUNNELING_BUT_TLV_HEADER_NOT_SUPPORTED = 3
33
+
34
+ #: MCOA NOTCOMPLETE [:rfc:`5648`]
35
+ MCOA_NOTCOMPLETE = 4
36
+
37
+ #: MCOA RETURNHOME WO/NDP [:rfc:`5648`]
38
+ MCOA_RETURNHOME_WO_NDP = 5
39
+
40
+ #: PBU_ACCEPTED_TB_IGNORED_SETTINGSMISMATCH [:rfc:`6058`]
41
+ PBU_ACCEPTED_TB_IGNORED_SETTINGSMISMATCH = 6
42
+
43
+ #: Reason unspecified [:rfc:`6275`]
44
+ Reason_unspecified = 128
45
+
46
+ #: Administratively prohibited [:rfc:`6275`]
47
+ Administratively_prohibited = 129
48
+
49
+ #: Insufficient resources [:rfc:`6275`]
50
+ Insufficient_resources = 130
51
+
52
+ #: Home registration not supported [:rfc:`6275`]
53
+ Home_registration_not_supported = 131
54
+
55
+ #: Not home subnet [:rfc:`6275`]
56
+ Not_home_subnet = 132
57
+
58
+ #: Not home agent for this mobile node [:rfc:`6275`]
59
+ Not_home_agent_for_this_mobile_node = 133
60
+
61
+ #: Duplicate Address Detection failed [:rfc:`6275`]
62
+ Duplicate_Address_Detection_failed = 134
63
+
64
+ #: Sequence number out of window [:rfc:`6275`]
65
+ Sequence_number_out_of_window = 135
66
+
67
+ #: Expired home nonce index [:rfc:`6275`]
68
+ Expired_home_nonce_index = 136
69
+
70
+ #: Expired care-of nonce index [:rfc:`6275`]
71
+ Expired_care_of_nonce_index = 137
72
+
73
+ #: Expired nonces [:rfc:`6275`]
74
+ Expired_nonces = 138
75
+
76
+ #: Registration type change disallowed [:rfc:`6275`]
77
+ Registration_type_change_disallowed = 139
78
+
79
+ #: Mobile Router Operation not permitted [:rfc:`3963`]
80
+ Mobile_Router_Operation_not_permitted = 140
81
+
82
+ #: Invalid Prefix [:rfc:`3963`]
83
+ Invalid_Prefix = 141
84
+
85
+ #: Not Authorized for Prefix [:rfc:`3963`]
86
+ Not_Authorized_for_Prefix = 142
87
+
88
+ #: Forwarding Setup failed [:rfc:`3963`]
89
+ Forwarding_Setup_failed = 143
90
+
91
+ #: MIPV6-ID-MISMATCH [:rfc:`4285`]
92
+ MIPV6_ID_MISMATCH = 144
93
+
94
+ #: MIPV6-MESG-ID-REQD [:rfc:`4285`]
95
+ MIPV6_MESG_ID_REQD = 145
96
+
97
+ #: MIPV6-AUTH-FAIL [:rfc:`4285`]
98
+ MIPV6_AUTH_FAIL = 146
99
+
100
+ #: Permanent home keygen token unavailable [:rfc:`4866`]
101
+ Permanent_home_keygen_token_unavailable = 147
102
+
103
+ #: CGA and signature verification failed [:rfc:`4866`]
104
+ CGA_and_signature_verification_failed = 148
105
+
106
+ #: Permanent home keygen token exists [:rfc:`4866`]
107
+ Permanent_home_keygen_token_exists = 149
108
+
109
+ #: Non-null home nonce index expected [:rfc:`4866`]
110
+ Non_null_home_nonce_index_expected = 150
111
+
112
+ #: SERVICE_AUTHORIZATION_FAILED [:rfc:`5149`]
113
+ SERVICE_AUTHORIZATION_FAILED = 151
114
+
115
+ #: PROXY_REG_NOT_ENABLED [:rfc:`5213`]
116
+ PROXY_REG_NOT_ENABLED = 152
117
+
118
+ #: NOT_LMA_FOR_THIS_MOBILE_NODE [:rfc:`5213`]
119
+ NOT_LMA_FOR_THIS_MOBILE_NODE = 153
120
+
121
+ #: MAG_NOT_AUTHORIZED_FOR_PROXY_REG [:rfc:`5213`]
122
+ MAG_NOT_AUTHORIZED_FOR_PROXY_REG = 154
123
+
124
+ #: NOT_AUTHORIZED_FOR_HOME_NETWORK_PREFIX [:rfc:`5213`]
125
+ NOT_AUTHORIZED_FOR_HOME_NETWORK_PREFIX = 155
126
+
127
+ #: TIMESTAMP_MISMATCH [:rfc:`5213`]
128
+ TIMESTAMP_MISMATCH = 156
129
+
130
+ #: TIMESTAMP_LOWER_THAN_PREV_ACCEPTED [:rfc:`5213`]
131
+ TIMESTAMP_LOWER_THAN_PREV_ACCEPTED = 157
132
+
133
+ #: MISSING_HOME_NETWORK_PREFIX_OPTION [:rfc:`5213`]
134
+ MISSING_HOME_NETWORK_PREFIX_OPTION = 158
135
+
136
+ #: BCE_PBU_PREFIX_SET_DO_NOT_MATCH [:rfc:`5213`]
137
+ BCE_PBU_PREFIX_SET_DO_NOT_MATCH = 159
138
+
139
+ #: MISSING_MN_IDENTIFIER_OPTION [:rfc:`5213`]
140
+ MISSING_MN_IDENTIFIER_OPTION = 160
141
+
142
+ #: MISSING_HANDOFF_INDICATOR_OPTION [:rfc:`5213`]
143
+ MISSING_HANDOFF_INDICATOR_OPTION = 161
144
+
145
+ #: MISSING_ACCESS_TECH_TYPE_OPTION [:rfc:`5213`]
146
+ MISSING_ACCESS_TECH_TYPE_OPTION = 162
147
+
148
+ #: GRE_KEY_OPTION_REQUIRED [:rfc:`5845`]
149
+ GRE_KEY_OPTION_REQUIRED = 163
150
+
151
+ #: MCOA MALFORMED [:rfc:`5648`]
152
+ MCOA_MALFORMED = 164
153
+
154
+ #: MCOA NON-MCOA BINDING EXISTS [:rfc:`5648`]
155
+ MCOA_NON_MCOA_BINDING_EXISTS = 165
156
+
157
+ #: MCOA PROHIBITED [:rfc:`5648`]
158
+ MCOA_PROHIBITED = 166
159
+
160
+ #: MCOA UNKNOWN COA [:rfc:`5648`]
161
+ MCOA_UNKNOWN_COA = 167
162
+
163
+ #: MCOA BULK REGISTRATION PROHIBITED [:rfc:`5648`]
164
+ MCOA_BULK_REGISTRATION_PROHIBITED = 168
165
+
166
+ #: MCOA SIMULTANEOUS HOME AND FOREIGN PROHIBITED [:rfc:`5648`]
167
+ MCOA_SIMULTANEOUS_HOME_AND_FOREIGN_PROHIBITED = 169
168
+
169
+ #: NOT_AUTHORIZED_FOR_IPV4_MOBILITY_SERVICE [:rfc:`5844`]
170
+ NOT_AUTHORIZED_FOR_IPV4_MOBILITY_SERVICE = 170
171
+
172
+ #: NOT_AUTHORIZED_FOR_IPV4_HOME_ADDRESS [:rfc:`5844`]
173
+ NOT_AUTHORIZED_FOR_IPV4_HOME_ADDRESS = 171
174
+
175
+ #: NOT_AUTHORIZED_FOR_IPV6_MOBILITY_SERVICE [:rfc:`5844`]
176
+ NOT_AUTHORIZED_FOR_IPV6_MOBILITY_SERVICE = 172
177
+
178
+ #: MULTIPLE_IPV4_HOME_ADDRESS_ASSIGNMENT_NOT_SUPPORTED [:rfc:`5844`]
179
+ MULTIPLE_IPV4_HOME_ADDRESS_ASSIGNMENT_NOT_SUPPORTED = 173
180
+
181
+ #: Invalid Care-of Address [:rfc:`6275`]
182
+ Invalid_Care_of_Address = 174
183
+
184
+ #: INVALID_MOBILE_NODE_GROUP_IDENTIFIER [:rfc:`6602`]
185
+ INVALID_MOBILE_NODE_GROUP_IDENTIFIER = 175
186
+
187
+ #: REINIT_SA_WITH_HAC [:rfc:`6618`]
188
+ REINIT_SA_WITH_HAC = 176
189
+
190
+ #: NOT_AUTHORIZED_FOR_DELEGATED_MNP [:rfc:`7148`]
191
+ NOT_AUTHORIZED_FOR_DELEGATED_MNP = 177
192
+
193
+ #: REQUESTED_DMNP_IN_USE [:rfc:`7148`]
194
+ REQUESTED_DMNP_IN_USE = 178
195
+
196
+ #: CANNOT_MEET_QOS_SERVICE_REQUEST [:rfc:`7222`]
197
+ CANNOT_MEET_QOS_SERVICE_REQUEST = 179
198
+
199
+ #: CANNOT_SUPPORT_MULTIPATH_BINDING [:rfc:`8278`]
200
+ CANNOT_SUPPORT_MULTIPATH_BINDING = 180
201
+
202
+ @staticmethod
203
+ def get(key: 'int | str', default: 'int' = -1) -> 'StatusCode':
204
+ """Backport support for original codes.
205
+
206
+ Args:
207
+ key: Key to get enum item.
208
+ default: Default value if not found.
209
+
210
+ :meta private:
211
+ """
212
+ if isinstance(key, int):
213
+ return StatusCode(key)
214
+ if key not in StatusCode._member_map_: # pylint: disable=no-member
215
+ return extend_enum(StatusCode, key, default)
216
+ return StatusCode[key] # type: ignore[misc]
217
+
218
+ @classmethod
219
+ def _missing_(cls, value: 'int') -> 'StatusCode':
220
+ """Lookup function used when value is not found.
221
+
222
+ Args:
223
+ value: Value to get enum item.
224
+
225
+ """
226
+ if not (isinstance(value, int) and 0 <= value <= 255):
227
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
228
+ if 7 <= value <= 127:
229
+ #: Unassigned
230
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
231
+ #: Unspecified in the IANA registry
232
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
@@ -0,0 +1,62 @@
1
+ # -*- coding: utf-8 -*-
2
+ # pylint: disable=line-too-long,consider-using-f-string
3
+ """Traffic Selector Format
4
+ =============================
5
+
6
+ .. module:: pcapkit.const.mh.traffic_selector
7
+
8
+ This module contains the constant enumeration for **Traffic Selector Format**,
9
+ which is automatically generated from :class:`pcapkit.vendor.mh.traffic_selector.TrafficSelector`.
10
+
11
+ """
12
+
13
+ from aenum import IntEnum, extend_enum
14
+
15
+ __all__ = ['TrafficSelector']
16
+
17
+
18
+ class TrafficSelector(IntEnum):
19
+ """[TrafficSelector] Traffic Selector Format"""
20
+
21
+ #: Reserved [:rfc:`6089`]
22
+ Reserved_0 = 0
23
+
24
+ #: IPv4 Binary Traffic Selector [:rfc:`6088`]
25
+ IPv4_Binary_Traffic_Selector = 1
26
+
27
+ #: IPv6 Binary Traffic Selector [:rfc:`6088`]
28
+ IPv6_Binary_Traffic_Selector = 2
29
+
30
+ @staticmethod
31
+ def get(key: 'int | str', default: 'int' = -1) -> 'TrafficSelector':
32
+ """Backport support for original codes.
33
+
34
+ Args:
35
+ key: Key to get enum item.
36
+ default: Default value if not found.
37
+
38
+ :meta private:
39
+ """
40
+ if isinstance(key, int):
41
+ return TrafficSelector(key)
42
+ if key not in TrafficSelector._member_map_: # pylint: disable=no-member
43
+ return extend_enum(TrafficSelector, key, default)
44
+ return TrafficSelector[key] # type: ignore[misc]
45
+
46
+ @classmethod
47
+ def _missing_(cls, value: 'int') -> 'TrafficSelector':
48
+ """Lookup function used when value is not found.
49
+
50
+ Args:
51
+ value: Value to get enum item.
52
+
53
+ """
54
+ if not (isinstance(value, int) and 0 <= value <= 255):
55
+ raise ValueError('%r is not a valid %s' % (value, cls.__name__))
56
+ if 3 <= value <= 250:
57
+ #: Unassigned
58
+ return extend_enum(cls, 'Unassigned_%d' % value, value)
59
+ if 251 <= value <= 255:
60
+ #: Reserved for Experimental Use [:rfc:`6089`]
61
+ return extend_enum(cls, 'Reserved_for_Experimental_Use_%d' % value, value)
62
+ return super()._missing_(value)