函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\test_blackhole_dev.c Create Date:2022-07-27 07:35:02
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:test_blackholedev_init

函数原型:static int __init test_blackholedev_init(void)

返回类型:int

参数:

37  skb等于分配网络缓存
38  如果非skb则返回:负ENOMEM
42  调整余量
45  data_len等于SKB_SIZEEther + IPv6 + UDP andom tail-room
46  memset(__skb_put(skb, data_len), 0xf, data_len)
50  uh等于在缓存区顶部设置数据
51  skb_set_transport_header(skb, 0)
52  source等于dest等于htons(UDP_PORT)
53  len等于htons(data_len)
54  check等于0
56  ip6h等于在缓存区顶部设置数据
57  skb_set_network_header(skb, 0)
58  hop_limit等于32
59  payload_len等于data_lensizeof(structudphdr)
60  nexthdr等于IPPROTO_UDP
61  saddr等于in6addr_loopback
62  daddr等于in6addr_loopback
64  ethh等于在缓存区顶部设置数据
65  skb_set_mac_header(skb, 0)
67  protocol等于htons(IPv6 over bluebook )
68  pkt_type等于To us
69  dev等于blackhole_netdev
72  ret等于发送缓冲区
75  :ret恒等于qdisc ->enqueue() return codes.
76  打印警告信息("dev_queue_xmit() returned NET_XMIT_SUCCESS\n")
77  退出
78  :ret恒等于skb dropped
79  打印警告信息("dev_queue_xmit() returned NET_XMIT_DROP\n")
80  退出
81  :ret恒等于congestion notification
82  打印警告信息("dev_queue_xmit() returned NET_XMIT_CN\n")
83  退出
84  默认
85  打印错误信息("dev_queue_xmit() returned UNKNOWN(%d)\n", ret)
88  返回:0