Changeset 42c2e65 in mainline for uspace/drv/nic/e1k/e1k.c


Ignore:
Timestamp:
2023-12-13T08:35:34Z (5 months ago)
Author:
Nataliia Korop <n.corop08@…>
Children:
dc5c303
Parents:
7cf5ddb
Message:

Packet capture prototype

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/nic/e1k/e1k.c

    r7cf5ddb r42c2e65  
    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 {
     
    22032211                goto err_add_to_cat;
    22042212
     2213        errno_t pcap_rc  = pcapdump_init(&e1000->pcapdump);
     2214
     2215        if (pcap_rc != EOK) {
     2216                printf("Failed creating pcapdump port\n");
     2217        }
     2218        rc = ddf_fun_add_to_category(fun, "pcap");
     2219        if (rc != EOK)
     2220                goto err_add_to_cat;
     2221
    22052222        return EOK;
    22062223
     
    23662383
    23672384        memcpy(e1000->tx_frame_virt[tdt], data, size);
    2368 
     2385        pcapdump_packet(&e1000->pcapdump, data, size);
    23692386        tx_descriptor_addr->phys_addr = PTR_TO_U64(e1000->tx_frame_phys[tdt]);
    23702387        tx_descriptor_addr->length = size;
Note: See TracChangeset for help on using the changeset viewer.