mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-28 16:52:18 +00:00
netpoll: Make netpoll_send_udp return status instead of void
netpoll_send_udp can return if send was successful. It will allow client code to be aware of the send status. Possible return values are the result of __netpoll_send_skb (cast to int) and -ENOMEM. This doesn't cover the case when TX was not successful instantaneously and was scheduled for later, __netpoll__send_skb returns success in that case. Signed-off-by: Maksym Kutsevol <max@kutsevol.com> Link: https://patch.msgid.link/20241202-netcons-add-udp-send-fail-statistics-to-netconsole-v5-1-70e82239f922@kutsevol.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
a9ab02ed97
commit
a61b19f4a6
@ -57,7 +57,7 @@ static inline void netpoll_poll_disable(struct net_device *dev) { return; }
|
||||
static inline void netpoll_poll_enable(struct net_device *dev) { return; }
|
||||
#endif
|
||||
|
||||
void netpoll_send_udp(struct netpoll *np, const char *msg, int len);
|
||||
int netpoll_send_udp(struct netpoll *np, const char *msg, int len);
|
||||
void netpoll_print_options(struct netpoll *np);
|
||||
int netpoll_parse_options(struct netpoll *np, char *opt);
|
||||
int __netpoll_setup(struct netpoll *np, struct net_device *ndev);
|
||||
|
@ -390,7 +390,7 @@ netdev_tx_t netpoll_send_skb(struct netpoll *np, struct sk_buff *skb)
|
||||
}
|
||||
EXPORT_SYMBOL(netpoll_send_skb);
|
||||
|
||||
void netpoll_send_udp(struct netpoll *np, const char *msg, int len)
|
||||
int netpoll_send_udp(struct netpoll *np, const char *msg, int len)
|
||||
{
|
||||
int total_len, ip_len, udp_len;
|
||||
struct sk_buff *skb;
|
||||
@ -414,7 +414,7 @@ void netpoll_send_udp(struct netpoll *np, const char *msg, int len)
|
||||
skb = find_skb(np, total_len + np->dev->needed_tailroom,
|
||||
total_len - len);
|
||||
if (!skb)
|
||||
return;
|
||||
return -ENOMEM;
|
||||
|
||||
skb_copy_to_linear_data(skb, msg, len);
|
||||
skb_put(skb, len);
|
||||
@ -490,7 +490,7 @@ void netpoll_send_udp(struct netpoll *np, const char *msg, int len)
|
||||
|
||||
skb->dev = np->dev;
|
||||
|
||||
netpoll_send_skb(np, skb);
|
||||
return (int)netpoll_send_skb(np, skb);
|
||||
}
|
||||
EXPORT_SYMBOL(netpoll_send_udp);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user