Few C programmers like the goto statement. Without getting into the history of the goto (one of the longest and most famous controversies in computer programming), I'll summarize some of the reasons the goto is usually deprecated, but why the Linux kernel uses it anyway.
Any piece of code that uses goto can be rewritten without it. The use of goto statements can reduce the readability of the code, and make debugging harder, because at any position following a goto you can no longer derive unequivocally the conditions that led the execution to that point.
Let me make this analogy: given any node in a tree, you know what the path from the root to the node is. But if you add vines that entwine around branches randomly, you do not always have a unique path between the root and the other nodes ... (查看原文)
NETDEV_TX_OK*
The transmission succeeded. The buffer is not released yet (kfree_skb is not
issued). We will see in the section “Processing the NET_TX_SOFTIRQ: net_tx_
action” that the driver does not release the buffer itself but asks the kernel to do
so by means of the NET_TX_SOFTIRQ softirq. This provides more efficient memory
handling than if each driver did its own freeing. (查看原文)
“The function consists of a wrapper that grabs the lock, does its work by invoking a function whose name begins with two underscores, and releases the lock.”翻译成:此函数内有一个包裹函数会取得回转锁,然后调用一个以两个下划线符号开头命名的函数,接着再释放...
(展开)
342页图15-15中listening状态若是否下一个判断是否learning,图中出现两个listening 350页图15-20中,bpdu报文格式有问题,mac源地址在前,目的mac在后,和业界惯例不符,英文原版就是如此,不知道为什么. 还有一处笔误,在273页,原文是“ And a similar choice must be made going ...
(展开)
0 有用 htbegin 2015-06-28 19:52:20
基本概念介绍的很清楚,相关代码有些过时。
2 有用 耿老的竹林 2022-01-01 15:16:10
对于理解内核中网络设备驱动,路由子系统,邻居子系统很有帮助。这本书不涉及内核中socket层的实现,包括tcp传输层等。
0 有用 DragonBoy 2010-07-06 22:37:38
国内的同学们,绝大多数,只学协议的理论知识,甚至连协议栈都不曾听说过,如果想真正搞懂network,这本书应该好好读读
0 有用 天行 2012-11-17 00:23:51
自有 但读得比较少啊,要坚持
7 有用 小李 2019-09-02 16:02:00
linux内核网络协议栈的必读著作,翻译有些问题 19.04.05 趁清明放假把路由部分看看