zephyr/subsys/net/ip/packet_socket.h
Robert Lubos edba291799 net: core: Pass the actual LL proto for DGRAM packet sockets
After L2 processing, the LL protocol type is already known and should be
set accordingly on the packet. Therefore it can be passed to the
net_packet_socket_input() function to allow proper socket filtering
based on protocol.

Additionally, as LL protocol type is 16 bit value, fix the proto
parameter type in net_packet_socket_input().

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-04-23 11:48:33 +02:00

39 lines
918 B
C

/** @file
* @brief Packet Socket related functions
*
* This is not to be included by the application.
*/
/*
* Copyright (c) 2019 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef __PACKET_SOCKET_H
#define __PACKET_SOCKET_H
#include <zephyr/types.h>
/**
* @brief Called by net_core.c when a network packet is received.
*
* @param pkt Network packet
*
* @return NET_OK if the packet was consumed, NET_DROP if
* the packet parsing failed and the caller should handle
* the received packet. If corresponding IP protocol support is
* disabled, the function will always return NET_DROP.
*/
#if defined(CONFIG_NET_SOCKETS_PACKET)
enum net_verdict net_packet_socket_input(struct net_pkt *pkt, uint16_t proto);
#else
static inline enum net_verdict net_packet_socket_input(struct net_pkt *pkt,
uint16_t proto)
{
return NET_CONTINUE;
}
#endif
#endif /* __PACKET_SOCKET_H */