linux/net/ieee802154/6lowpan/tx.c

// SPDX-License-Identifier: GPL-2.0-only

#include <net/6lowpan.h>
#include <net/ndisc.h>
#include <net/ieee802154_netdev.h>
#include <net/mac802154.h>

#include "6lowpan_i.h"

#define LOWPAN_FRAG1_HEAD_SIZE
#define LOWPAN_FRAGN_HEAD_SIZE

struct lowpan_addr_info {};

static inline struct
lowpan_addr_info *lowpan_skb_priv(const struct sk_buff *skb)
{}

/* This callback will be called from AF_PACKET and IPv6 stack, the AF_PACKET
 * sockets gives an 8 byte array for addresses only!
 *
 * TODO I think AF_PACKET DGRAM (sending/receiving) RAW (sending) makes no
 * sense here. We should disable it, the right use-case would be AF_INET6
 * RAW/DGRAM sockets.
 */
int lowpan_header_create(struct sk_buff *skb, struct net_device *ldev,
			 unsigned short type, const void *daddr,
			 const void *saddr, unsigned int len)
{}

static struct sk_buff*
lowpan_alloc_frag(struct sk_buff *skb, int size,
		  const struct ieee802154_hdr *master_hdr, bool frag1)
{}

static int
lowpan_xmit_fragment(struct sk_buff *skb, const struct ieee802154_hdr *wpan_hdr,
		     u8 *frag_hdr, int frag_hdrlen,
		     int offset, int len, bool frag1)
{}

static int
lowpan_xmit_fragmented(struct sk_buff *skb, struct net_device *ldev,
		       const struct ieee802154_hdr *wpan_hdr, u16 dgram_size,
		       u16 dgram_offset)
{}

static int lowpan_header(struct sk_buff *skb, struct net_device *ldev,
			 u16 *dgram_size, u16 *dgram_offset)
{}

netdev_tx_t lowpan_xmit(struct sk_buff *skb, struct net_device *ldev)
{}