Changeset 3a4c6d9 in mainline
- Timestamp:
- 2025-11-14T16:58:23Z (15 hours ago)
- Branches:
- master
- Parents:
- d101368
- git-author:
- Nataliia Korop <n.corop08@…> (2025-11-14 16:57:02)
- git-committer:
- Jiri Svoboda <jiri@…> (2025-11-14 16:58:23)
- Files:
-
- 22 added
- 21 edited
-
abi/include/abi/ipc/interfaces.h (modified) (1 diff)
-
uspace/app/meson.build (modified) (1 diff)
-
uspace/app/pcapcat/doc/doxygroups.h (added)
-
uspace/app/pcapcat/eth_parser.c (added)
-
uspace/app/pcapcat/eth_parser.h (added)
-
uspace/app/pcapcat/linktype_parser.h (added)
-
uspace/app/pcapcat/main.c (added)
-
uspace/app/pcapcat/meson.build (added)
-
uspace/app/pcapctl/doc/doxygroups.h (added)
-
uspace/app/pcapctl/main.c (added)
-
uspace/app/pcapctl/meson.build (added)
-
uspace/drv/nic/e1k/e1k.c (modified) (4 diffs)
-
uspace/drv/nic/e1k/meson.build (modified) (1 diff)
-
uspace/drv/nic/ne2k/ne2k.c (modified) (3 diffs)
-
uspace/drv/nic/rtl8139/driver.c (modified) (2 diffs)
-
uspace/drv/nic/rtl8169/driver.c (modified) (2 diffs)
-
uspace/drv/nic/virtio-net/virtio-net.c (modified) (2 diffs)
-
uspace/lib/c/include/ipc/services.h (modified) (1 diff)
-
uspace/lib/meson.build (modified) (1 diff)
-
uspace/lib/nic/include/nic.h (modified) (2 diffs)
-
uspace/lib/nic/include/nic_driver.h (modified) (2 diffs)
-
uspace/lib/nic/include/nic_impl.h (modified) (1 diff)
-
uspace/lib/nic/meson.build (modified) (1 diff)
-
uspace/lib/nic/src/nic_driver.c (modified) (5 diffs)
-
uspace/lib/nic/src/nic_impl.c (modified) (3 diffs)
-
uspace/lib/pcap/doc/doxygoups.h (added)
-
uspace/lib/pcap/include/pcap.h (added)
-
uspace/lib/pcap/include/pcap_dumper.h (added)
-
uspace/lib/pcap/include/pcapdump_client.h (added)
-
uspace/lib/pcap/include/pcapdump_drv_iface.h (added)
-
uspace/lib/pcap/include/pcapdump_ipc.h (added)
-
uspace/lib/pcap/include/pcapdump_srv.h (added)
-
uspace/lib/pcap/meson.build (added)
-
uspace/lib/pcap/src/pcap.c (added)
-
uspace/lib/pcap/src/pcap_dumper.c (added)
-
uspace/lib/pcap/src/pcapdump_client.c (added)
-
uspace/lib/pcap/src/pcapdump_drv_iface.c (added)
-
uspace/lib/pcap/src/pcapdump_srv.c (added)
-
uspace/srv/locsrv/locsrv.c (modified) (1 diff)
-
uspace/srv/net/ethip/ethip.c (modified) (2 diffs)
-
uspace/srv/net/ethip/meson.build (modified) (1 diff)
-
uspace/srv/net/inetsrv/inetsrv.c (modified) (2 diffs)
-
uspace/srv/net/inetsrv/meson.build (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
abi/include/abi/ipc/interfaces.h
rd101368 r3a4c6d9 206 206 FOURCC_COMPACT('s', 's', 't', 'm') | IFACE_EXCHANGE_SERIALIZE, 207 207 INTERFACE_SYSTEM_CB = 208 FOURCC_COMPACT('s', 's', 't', 'm') | IFACE_EXCHANGE_SERIALIZE | IFACE_MOD_CALLBACK 208 FOURCC_COMPACT('s', 's', 't', 'm') | IFACE_EXCHANGE_SERIALIZE | IFACE_MOD_CALLBACK, 209 INTERFACE_PCAP_CONTROL = 210 FOURCC_COMPACT('p', 'c', 't', 'l') | IFACE_EXCHANGE_SERIALIZE, 209 211 } iface_t; 210 212 -
uspace/app/meson.build
rd101368 r3a4c6d9 74 74 'nterm', 75 75 'ofw', 76 'pcapcat', 77 'pcapctl', 76 78 'pci', 77 79 'ping', -
uspace/drv/nic/e1k/e1k.c
rd101368 r3a4c6d9 175 175 /** Lock for EEPROM access */ 176 176 fibril_mutex_t eeprom_lock; 177 177 178 } e1000_t; 178 179 … … 1192 1193 if (frame != NULL) { 1193 1194 memcpy(frame->data, e1000->rx_frame_virt[next_tail], frame_size); 1195 1194 1196 nic_received_frame(nic, frame); 1195 1197 } else { … … 2201 2203 goto err_fun_bind; 2202 2204 2203 rc = ddf_fun_add_to_category(fun, DEVICE_CATEGORY_NIC); 2204 if (rc != EOK) 2205 goto err_add_to_cat; 2206 2205 rc = nic_fun_add_to_cats(fun); 2206 if (rc != EOK) { 2207 ddf_msg(LVL_ERROR, "Failed adding function to categories"); 2208 ddf_fun_unbind(fun); 2209 return rc; 2210 } 2207 2211 return EOK; 2208 2212 2209 err_add_to_cat:2210 ddf_fun_unbind(fun);2211 2213 err_fun_bind: 2212 2214 err_rx_structure: … … 2388 2390 2389 2391 memcpy(e1000->tx_frame_virt[tdt], data, size); 2390 2391 2392 tx_descriptor_addr->phys_addr = PTR_TO_U64(e1000->tx_frame_phys[tdt]); 2392 2393 tx_descriptor_addr->length = size; -
uspace/drv/nic/e1k/meson.build
rd101368 r3a4c6d9 27 27 # 28 28 29 deps = [ 'nic' ]29 deps = [ 'nic' , 'pcap' ] 30 30 src = files('e1k.c') -
uspace/drv/nic/ne2k/ne2k.c
rd101368 r3a4c6d9 44 44 #include <str_error.h> 45 45 #include <async.h> 46 #include <ddf/log.h> 46 47 #include "dp8390.h" 47 48 … … 450 451 } 451 452 452 rc = ddf_fun_add_to_category(fun, DEVICE_CATEGORY_NIC);453 rc = nic_fun_add_to_cats(fun); 453 454 if (rc != EOK) { 455 ddf_msg(LVL_ERROR, "Failed adding function to categories"); 454 456 ddf_fun_unbind(fun); 455 ddf_fun_destroy(fun);456 457 return rc; 457 458 } … … 497 498 nic_driver_implement(&ne2k_driver_ops, &ne2k_dev_ops, &ne2k_nic_iface); 498 499 500 ddf_log_init(NAME); 499 501 return ddf_driver_main(&ne2k_driver); 500 502 } -
uspace/drv/nic/rtl8139/driver.c
rd101368 r3a4c6d9 1313 1313 goto err_fun_create; 1314 1314 } 1315 rc = ddf_fun_add_to_category(fun, DEVICE_CATEGORY_NIC); 1315 1316 rc = nic_fun_add_to_cats(fun); 1316 1317 if (rc != EOK) { 1317 ddf_msg(LVL_ERROR, "Failed adding function to category"); 1318 goto err_fun_bind; 1318 ddf_msg(LVL_ERROR, "Failed adding function to categories"); 1319 ddf_fun_unbind(fun); 1320 return rc; 1319 1321 } 1320 1322 … … 1324 1326 return EOK; 1325 1327 1326 err_fun_bind:1327 ddf_fun_unbind(fun);1328 // err_fun_bind: 1329 // ddf_fun_unbind(fun); 1328 1330 err_fun_create: 1329 1331 ddf_fun_destroy(fun); -
uspace/drv/nic/rtl8169/driver.c
rd101368 r3a4c6d9 461 461 } 462 462 463 rc = ddf_fun_add_to_category(fun, DEVICE_CATEGORY_NIC);463 rc = nic_fun_add_to_cats(fun); 464 464 if (rc != EOK) { 465 ddf_msg(LVL_ERROR, "Failed adding function to category"); 466 goto err_fun_bind; 465 ddf_msg(LVL_ERROR, "Failed adding function to categories"); 466 ddf_fun_unbind(fun); 467 return rc; 467 468 } 468 469 … … 471 472 return EOK; 472 473 473 err_fun_bind:474 ddf_fun_unbind(fun);474 // err_fun_bind: 475 // ddf_fun_unbind(fun); 475 476 err_fun_create: 476 477 ddf_fun_destroy(fun); -
uspace/drv/nic/virtio-net/virtio-net.c
rd101368 r3a4c6d9 428 428 } 429 429 430 rc = ddf_fun_add_to_category(fun, DEVICE_CATEGORY_NIC);430 rc = nic_fun_add_to_cats(fun); 431 431 if (rc != EOK) { 432 ddf_msg(LVL_ERROR, "Failed adding function to category"); 433 goto unbind; 432 ddf_msg(LVL_ERROR, "Failed adding function to categories"); 433 ddf_fun_unbind(fun); 434 return rc; 434 435 } 435 436 … … 439 440 return EOK; 440 441 441 unbind:442 ddf_fun_unbind(fun);442 // unbind: 443 // ddf_fun_unbind(fun); 443 444 destroy: 444 445 ddf_fun_destroy(fun); -
uspace/lib/c/include/ipc/services.h
rd101368 r3a4c6d9 67 67 #define SERVICE_NAME_VBD "vbd" 68 68 #define SERVICE_NAME_VOLSRV "volsrv" 69 70 69 #endif 71 70 -
uspace/lib/meson.build
rd101368 r3a4c6d9 84 84 'nettl', 85 85 'ofw', 86 'pcap', 86 87 'pcm', 87 88 'pcut', -
uspace/lib/nic/include/nic.h
rd101368 r3a4c6d9 44 44 #include <device/hw_res_parsed.h> 45 45 #include <ops/nic.h> 46 #include <pcap_dumper.h> 46 47 47 48 #define DEVICE_CATEGORY_NIC "nic" … … 278 279 extern void nic_sw_period_stop(nic_t *); 279 280 281 /* pcapdump interface */ 282 extern pcap_dumper_t *nic_get_pcap_dumper(nic_t *); 283 284 extern errno_t nic_fun_add_to_cats(ddf_fun_t *fun); 285 280 286 #endif // __NIC_H__ 281 287 -
uspace/lib/nic/include/nic_driver.h
rd101368 r3a4c6d9 46 46 #include <nic/nic.h> 47 47 #include <async.h> 48 #include <pcapdump_srv.h> 48 49 49 50 #include "nic.h" … … 195 196 */ 196 197 poll_request_handler on_poll_request; 198 199 /** Packets dumper. */ 200 pcap_dumper_t dumper; 201 197 202 /** Data specific for particular driver */ 198 203 void *specific; -
uspace/lib/nic/include/nic_impl.h
rd101368 r3a4c6d9 87 87 extern void nic_close_impl(ddf_fun_t *fun); 88 88 89 extern void nic_device_added_impl(ddf_dev_t *dev);90 91 89 #endif 92 90 -
uspace/lib/nic/meson.build
rd101368 r3a4c6d9 27 27 # 28 28 29 deps = [ 'drv' ]29 deps = [ 'drv' , 'pcap' ] 30 30 c_args = [ '-DLIBNIC_INTERNAL', ] 31 31 src = files( -
uspace/lib/nic/src/nic_driver.c
rd101368 r3a4c6d9 47 47 #include <ops/nic.h> 48 48 #include <errno.h> 49 #include <pcapdump_drv_iface.h> 49 50 50 51 #include "nic_driver.h" … … 522 523 * calls it inside send_frame handler (with locked main lock) 523 524 */ 525 pcapdump_packet(nic_get_pcap_dumper(nic_data), frame->data, frame->size); 524 526 fibril_rwlock_read_lock(&nic_data->rxc_lock); 525 527 nic_frame_type_t frame_type; … … 560 562 fibril_rwlock_write_unlock(&nic_data->stats_lock); 561 563 } 564 //pcapdump_packet(nic_get_pcap_dumper(nic_data), frame->data, frame->size); 562 565 nic_release_frame(nic_data, frame); 563 566 } … … 648 651 nic_data->dev = device; 649 652 653 errno_t pcap_rc = pcapdump_init(nic_get_pcap_dumper(nic_data)); 654 if (pcap_rc != EOK) { 655 printf("Failed creating pcapdump port\n"); 656 } 657 650 658 return nic_data; 651 659 } … … 1133 1141 } 1134 1142 1143 pcap_dumper_t *nic_get_pcap_dumper(nic_t *nic_data) 1144 { 1145 return &nic_data->dumper; 1146 } 1147 1135 1148 /** @} 1136 1149 */ -
uspace/lib/nic/src/nic_impl.c
rd101368 r3a4c6d9 40 40 #include <ipc/services.h> 41 41 #include <ns.h> 42 #include <pcapdump_drv_iface.h> 42 43 #include "nic_driver.h" 43 44 #include "nic_ev.h" … … 179 180 return EBUSY; 180 181 } 181 182 pcapdump_packet(nic_get_pcap_dumper(nic_data), data, size); 182 183 nic_data->send_frame(nic_data, data, size); 183 184 fibril_rwlock_read_unlock(&nic_data->main_lock); … … 843 844 } 844 845 846 errno_t nic_fun_add_to_cats(ddf_fun_t *fun) 847 { 848 errno_t rc; 849 rc = ddf_fun_add_to_category(fun, DEVICE_CATEGORY_NIC); 850 if (rc != EOK) 851 return rc; 852 853 rc = ddf_fun_add_to_category(fun, "pcap"); 854 if (rc != EOK) { 855 return rc; 856 } 857 return EOK; 858 } 859 845 860 /** @} 846 861 */ -
uspace/srv/locsrv/locsrv.c
rd101368 r3a4c6d9 1393 1393 categ_dir_add_cat(&cdir, cat); 1394 1394 1395 cat = category_new("pcap"); 1396 categ_dir_add_cat(&cdir, cat); 1395 1397 return true; 1396 1398 } -
uspace/srv/net/ethip/ethip.c
rd101368 r3a4c6d9 53 53 54 54 #define NAME "ethip" 55 /** Interface for dumping packets */ 55 56 56 57 static errno_t ethip_open(iplink_srv_t *srv); … … 197 198 if (rc != EOK) 198 199 return rc; 199 200 200 rc = ethip_nic_send(nic, data, size); 201 201 free(data); -
uspace/srv/net/ethip/meson.build
rd101368 r3a4c6d9 27 27 # 28 28 29 deps = [ 'drv' ]29 deps = [ 'drv' , 'pcap' ] 30 30 src = files( 31 31 'arp.c', -
uspace/srv/net/inetsrv/inetsrv.c
rd101368 r3a4c6d9 212 212 213 213 /* Route packet using source/destination addresses */ 214 215 214 rc = inet_find_dir(&dgram->src, &dgram->dest, dgram->tos, &dir); 216 215 if (rc != EOK) … … 547 546 dgram.data = packet->data; 548 547 dgram.size = packet->size; 549 550 548 return inet_recv_dgram_local(&dgram, packet->proto); 551 549 } else { -
uspace/srv/net/inetsrv/meson.build
rd101368 r3a4c6d9 27 27 # 28 28 29 deps = [ 'inet', 'sif' ] 29 deps = [ 'inet', 'sif', 'pcap' ] 30 30 31 src = files( 31 32 'addrobj.c',
Note:
See TracChangeset
for help on using the changeset viewer.
