Changeset 17a8fcf in mainline


Ignore:
Timestamp:
2024-12-13T08:32:42Z (13 months ago)
Author:
Nataliia Korop <n.corop08@…>
Children:
9eb21d1
Parents:
12dd36c
git-author:
Nataliia Korop <n.corop08@…> (2023-12-13 08:35:34)
git-committer:
Nataliia Korop <n.corop08@…> (2024-12-13 08:32:42)
Message:

Packet capture prototype

Files:
13 added
7 edited

Legend:

Unmodified
Added
Removed
  • abi/include/abi/ipc/interfaces.h

    r12dd36c r17a8fcf  
    206206            FOURCC_COMPACT('s', 's', 't', 'm') | IFACE_EXCHANGE_SERIALIZE,
    207207        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,
    209211} iface_t;
    210212
  • uspace/app/meson.build

    r12dd36c r17a8fcf  
    7272        'nterm',
    7373        'ofw',
     74        'pcapctl',
    7475        'pci',
    7576        'ping',
  • uspace/drv/nic/e1k/e1k.c

    r12dd36c r17a8fcf  
    5151#include "e1k.h"
    5252
     53#include "pcapdump_iface.h"
     54#include "pcap_iface.h"
    5355#define NAME  "e1k"
    5456
     
    174176        /** Lock for EEPROM access */
    175177        fibril_mutex_t eeprom_lock;
     178
     179        /** Interface for dumping packets */
     180        pcap_iface_t pcapdump;
     181
    176182} e1000_t;
    177183
     
    11891195                if (frame != NULL) {
    11901196                        memcpy(frame->data, e1000->rx_frame_virt[next_tail], frame_size);
     1197                        pcapdump_packet(&e1000->pcapdump, frame->data, frame->size);
     1198
    11911199                        nic_received_frame(nic, frame);
    11921200                } else {
     
    22022210                goto err_add_to_cat;
    22032211
     2212        errno_t pcap_rc  = pcapdump_init(&e1000->pcapdump);
     2213
     2214        if (pcap_rc != EOK) {
     2215                printf("Failed creating pcapdump port\n");
     2216        }
     2217        rc = ddf_fun_add_to_category(fun, "pcap");
     2218        if (rc != EOK)
     2219                goto err_add_to_cat;
     2220
    22042221        return EOK;
    22052222
     
    23652382
    23662383        memcpy(e1000->tx_frame_virt[tdt], data, size);
    2367 
     2384        pcapdump_packet(&e1000->pcapdump, data, size);
    23682385        tx_descriptor_addr->phys_addr = PTR_TO_U64(e1000->tx_frame_phys[tdt]);
    23692386        tx_descriptor_addr->length = size;
  • uspace/drv/nic/e1k/meson.build

    r12dd36c r17a8fcf  
    2727#
    2828
    29 deps = [ 'nic' ]
     29deps = [ 'nic' , 'pcap' ]
    3030src = files('e1k.c')
  • uspace/lib/c/include/ipc/services.h

    r12dd36c r17a8fcf  
    6767#define SERVICE_NAME_VBD      "vbd"
    6868#define SERVICE_NAME_VOLSRV   "volsrv"
    69 
     69#define SERVICE_NAME_DUMPPCAP "dumppcap"
    7070#endif
    7171
  • uspace/lib/meson.build

    r12dd36c r17a8fcf  
    8383        'nettl',
    8484        'ofw',
     85        'pcap',
    8586        'pcm',
    8687        'pcut',
  • uspace/srv/locsrv/locsrv.c

    r12dd36c r17a8fcf  
    13931393        categ_dir_add_cat(&cdir, cat);
    13941394
     1395        cat = category_new("pcap");
     1396        categ_dir_add_cat(&cdir, cat);
    13951397        return true;
    13961398}
Note: See TracChangeset for help on using the changeset viewer.