cregit-Linux how code gets into the kernel

Release 4.15 include/linux/icmpv6.h

Directory: include/linux
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX_ICMPV6_H

#define _LINUX_ICMPV6_H

#include <linux/skbuff.h>
#include <uapi/linux/icmpv6.h>


static inline struct icmp6hdr *icmp6_hdr(const struct sk_buff *skb) { return (struct icmp6hdr *)skb_transport_header(skb); }

Contributors

PersonTokensPropCommitsCommitProp
Arnaldo Carvalho de Melo26100.00%2100.00%
Total26100.00%2100.00%

#include <linux/netdevice.h> #if IS_ENABLED(CONFIG_IPV6) extern void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info); typedef void ip6_icmp_send_t(struct sk_buff *skb, u8 type, u8 code, __u32 info, const struct in6_addr *force_saddr); extern int inet6_register_icmp_sender(ip6_icmp_send_t *fn); extern int inet6_unregister_icmp_sender(ip6_icmp_send_t *fn); int ip6_err_gen_icmpv6_unreach(struct sk_buff *skb, int nhs, int type, unsigned int data_len); #else
static inline void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info) { }

Contributors

PersonTokensPropCommitsCommitProp
Pravin B Shelar20100.00%1100.00%
Total20100.00%1100.00%

#endif extern int icmpv6_init(void); extern int icmpv6_err_convert(u8 type, u8 code, int *err); extern void icmpv6_cleanup(void); extern void icmpv6_param_prob(struct sk_buff *skb, u8 code, int pos); struct flowi6; struct in6_addr; extern void icmpv6_flow_init(struct sock *sk, struct flowi6 *fl6, u8 type, const struct in6_addr *saddr, const struct in6_addr *daddr, int oif); #endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds (pre-git)7029.29%211.11%
Pravin B Shelar6728.03%15.56%
Hideaki Yoshifuji / 吉藤英明3313.81%15.56%
Arnaldo Carvalho de Melo2610.88%211.11%
Eric Dumazet2510.46%422.22%
David S. Miller62.51%211.11%
Brian Haley52.09%15.56%
David Howells20.84%15.56%
Jaswinder Singh Rajput20.84%15.56%
Denis V. Lunev10.42%15.56%
Linus Torvalds10.42%15.56%
Greg Kroah-Hartman10.42%15.56%
Total239100.00%18100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.