// SPDX-License-Identifier: GPL-2.0 // Copyright (c) 2010-2011 EIA Electronics, // Kurt Van Dijck <[email protected]> // Copyright (c) 2010-2011 EIA Electronics, // Pieter Beyens <[email protected]> // Copyright (c) 2017-2019 Pengutronix, // Marc Kleine-Budde <[email protected]> // Copyright (c) 2017-2019 Pengutronix, // Oleksij Rempel <[email protected]> /* J1939 Address Claiming. * Address Claiming in the kernel * - keeps track of the AC states of ECU's, * - resolves NAME<=>SA taking into account the AC states of ECU's. * * All Address Claim msgs (including host-originated msg) are processed * at the receive path (a sent msg is always received again via CAN echo). * As such, the processing of AC msgs is done in the order on which msgs * are sent on the bus. * * This module doesn't send msgs itself (e.g. replies on Address Claims), * this is the responsibility of a user space application or daemon. */ #define pr_fmt(fmt) … #include <linux/netdevice.h> #include <linux/skbuff.h> #include "j1939-priv.h" static inline name_t j1939_skb_to_name(const struct sk_buff *skb) { … } static inline bool j1939_ac_msg_is_request(struct sk_buff *skb) { … } static int j1939_ac_verify_outgoing(struct j1939_priv *priv, struct sk_buff *skb) { … } int j1939_ac_fixup(struct j1939_priv *priv, struct sk_buff *skb) { … } static void j1939_ac_process(struct j1939_priv *priv, struct sk_buff *skb) { … } void j1939_ac_recv(struct j1939_priv *priv, struct sk_buff *skb) { … }