Errata


Print Print Icon

Submit your own errata for this product.


The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.


Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question



Version Location Description Submitted By Corrected
Printed Page 2
should be (3)

Anonymous  May 2008
Printed Page 3
should be (4)

Anonymous  May 2008
Printed Page 4
should be (5)

Add (2) to the right of the icon for Router RT1.

Anonymous  May 2008
Printed Page 14
3rd par

Because of the waste cause by looping ...
should be
Because of the waste caused by looping ...

Anonymous  May 2008
Printed Page 39
code line above "Cloning and copying buffers"

skb_shinfo(skb)->dataref++;
should be
skb_shinfo(skb)->nr_frags++;

Anonymous  Feb 2007
Printed Page 39
code line above "Cloning and copying buffers"

skb_shinfo(skb)->dataref++;
should be
skb_shinfo(skb)->nr_frags++;

Anonymous  May 2008
Printed Page 40
Figure 2-9

Interchange sk_shinfo(clone) and sk_shinfo(skb

Anonymous  May 2008
Printed Page 42
Code at bottom of page

___function_name
should be
__function_name

Anonymous  Feb 2007
Printed Page 42
Code at bottom of page

___function_name
should be
__function_name

Anonymous  May 2008
Printed Page 47
unsigned char addr_len, line 3

Ethernet addresses are 6 octets long.
8
should be:
6

Anonymous  Feb 2007
Printed Page 47
unsigned char addr_len, line 3

Ethernet addresses are 6 octets long.
8
should be:
6

Anonymous  May 2008
Printed Page 51
3rd paragraph

all_multi
should be
allmulti

Anonymous  May 2008
Printed Page 57
figure 2-11

One of the directories, listed in the figure reads "kernal", but that
should be "kernel".

Anonymous  May 2008
Printed Page 68
Figure 3-3

sysctel_jiffies should be sysctl_jiffies
sysctel_local_port_range should be sysctl_local_port_range
sysct1_local_port_range should be sysctl_local_port_range

Anonymous  May 2008
Printed Page 69
Figure 3-4

SIOC S DEL DLCI should be SIOC DEL DLCI

Anonymous  May 2008
Printed Page 76
Figure 4-2

The connection from Network A to Network F is not shown.There is one line missing between Network F
and Network A (it would be a line like the one between Network E
and Network F).

Anonymous  May 2008
Printed Page 93
First call of module_param()

module_param(multicast_filter_limit, int 0444);
should be
module_param(multicast_filter_limit, int, 0444);

Anonymous  May 2008
Printed Page 97
Figure 5-3.

request_model should be request_module.
Under request_module, arg[i] should be arg[1].
Under /sbin/modprobe, insmod3c59x should be "insmod 3c59x".

Anonymous  May 2008
Printed Page 98
kmod bullet 1 line 4

prorobe.conf should be modprobe.conf.

Anonymous  Feb 2007
Printed Page 98
kmod bullet 1 line 4

prorobe.conf should be modprobe.conf.

Anonymous  May 2008
Printed Page 131
12th line from the bottom

However, a few architectures discard it a runtime...
should be
However, a few architectures discard it at runtime...

Anonymous  May 2008
Printed Page 140
Figure 8-1 (a)

the second call of alloc_etherdev() should be alloc_netdev()

Anonymous  May 2008
Printed Page 144
Footnote +

In line 2, "habit" should be "habitat".

Anonymous  May 2008
Printed Page 150
Split Operations: netdev_run_todo last line of first paragraph after head

reference to Figure 8-4 should be 8-5(a)

Anonymous  Feb 2007
Printed Page 150
Split Operations: netdev_run_todo last line of first paragraph after head

reference to Figure 8-4 should be 8-5(a)

Anonymous  May 2008
Printed Page 150
Figure 8-4

dev->unit should be dev->uninit
"dev->destruct or" should be dev->destructor

Anonymous  May 2008
Printed Page 160
Figure 8-6

The transision
[Send notification]-><Any linkwatch event pending on the device>
should not be labeled with the word "no."

Anonymous  May 2008
Printed Page 164
Figure 8-7

kevent_wq
should be
keventd_wq

Anonymous  May 2008
Printed Page 167
Figure 8-8

The second ocurrence of SIOCGMIIREG should be SIOCSMIIREG
The first ocurrence of SIOCGMIIRG should be SIOCGMIIREG
The second ocurrence of SIOCGMIIRG should be SIOCSMIIREG

Anonymous  May 2008
Printed Page 168
Last line of first paragraph

8-9 should be 8-8.

Anonymous  Feb 2007
Printed Page 168
Last line of first paragraph

8-9 should be 8-8.

Anonymous  May 2008
Printed Page 178
Line 2 of paragraph 3

"the does" should be "does".

Anonymous  May 2008
Printed Page 183
2nd paragraph

"vortex_interrupt keeps processing incoming frames until the register says..." should
be "vortex_interrupt keeps processing incoming frames as long as the register
says..."

Anonymous  May 2008
Printed Page 192
do_IRQ line 3

"transmission" should be "execution"

Anonymous  May 2008
Printed Page 194
raise_softirq_irqoff line 1

__cpu_raise_softirq should be __raise_softirq_irqoff

Anonymous  May 2008
Printed Page 195
line 30 (including lines of code)

"(there are no softirqs pending, etc.)"
should be:
"(there are softirqs pending, etc.)"

Anonymous  Feb 2007
Printed Page 195
line 30 (including lines of code)

"(there are no softirqs pending, etc.)"
should be:
"(there are softirqs pending, etc.)"

Anonymous  May 2008
Printed Page 204
Talklet Processing, line 1

"low-latency" should be "low-priority".
"high-latency" should be "high-priority".

Anonymous  May 2008
Printed Page 209
First line of last paragraph.

softnet_data->blog_dev
should be
softnet_data.backlog_dev

Anonymous  May 2008
Printed Page 211
Line 3 of last paragraph.

open
should be
opened

Anonymous  May 2008
Printed Page 216
Figure 10-1

_LINK_STATE_RX_SCHED
should be
__LINK_STATE_RX_SCHED

Anonymous  May 2008
Printed Page 220
in Figure 10-3

NETROLL should be NETPOLL

and

Move cpu out of the throttling stats
should be
Move cpu out of the throttling state

Anonymous  May 2008
Printed Page 232
First line of last paragraph.

dev->quota
should be
backlog_dev->quota

Anonymous  May 2008
Printed Page 233
Figure 10-6

refont
should be
reference count

Anonymous  May 2008
Printed Page 237
Line 4 of fourth paragraph from the bottom

above
should be
upper

Anonymous  May 2008
Printed Page 238
bullet 1

L4
should be
L3

Anonymous  May 2008
Printed Page 240
Figure 11-1 (a)

(__LINK_STATE_RX_SCHED))
should be
(__LINK_STATE_RX_SCHED)

Anonymous  May 2008
Printed Page 240
Figure 11-1 (b)

engress
should be
egress

Anonymous  May 2008
Printed Page 244
1st paragraph

.., output_queue is used by both NAPI and non-NAPI devices, and poll_list is used
only to handle NON-NAPI devices
should be
.., output_queue is used by both NAPI and non-NAPI devices, and poll_list is used
only to handle NAPI devices

Anonymous  Feb 2007
Printed Page 244
1st paragraph

.., output_queue is used by both NAPI and non-NAPI devices, and poll_list is used
only to handle NON-NAPI devices
should be
.., output_queue is used by both NAPI and non-NAPI devices, and poll_list is used
only to handle NAPI devices

Anonymous  May 2008
Printed Page 250
2nd bullet in middle of page

"In this case, the function does not actually fail, but generates a warning with a call to BUG()"
should be
"In this case, the BUG macro is invoked, leading to a kernel panic"

Anonymous  Feb 2007
Printed Page 250
2nd bullet in middle of page

"In this case, the function does not actually fail, but generates a warning with a call to BUG()"
should be
"In this case, the BUG macro is invoked, leading to a kernel panic"

Anonymous  May 2008
Printed Page 254
Figure 11-4 (b)

netif_x
should be
netif_rx

Anonymous  May 2008
Printed Page 268
5th(?) paragraph - near middle of the page

In "...and Ethereal are common users of AF_SOCKET sockets.", AF_SOCKET should be
AF_PACKET

Anonymous  Feb 2007
Printed Page 268
5th(?) paragraph - near middle of the page

In "...and Ethereal are common users of AF_SOCKET sockets.", AF_SOCKET should be
AF_PACKET

Anonymous  May 2008
Printed Page 273
Figure 13-4 (occurs twice in figure)

Dst MAC-00:20....
should be
Dst MAC=00:20...

Anonymous  May 2008
Printed Page 281
Last line of last paragraph

isdiscussed
should be
is discussed

Anonymous  May 2008
Printed Page 283
Figure 13-8 (a), Protocol field

1534
should be
1536

Anonymous  May 2008
Printed Page 284
last paragraph (above 1st bullet)

"The two most significant bits of the first byte..." should read "The two least
significant bits of the first byte..."

Anonymous  Feb 2007
Printed Page 284
last paragraph (above 1st bullet)

"The two most significant bits of the first byte..." should read "The two least
significant bits of the first byte..."

Anonymous  May 2008
Printed Page 305
3rd paragraph

In the sentence "...from Bridge 1's perspective, Hosts A, B, C and D are all located
in LAN2,..."
Bridge 1
should be:
Bridge 2

Anonymous  Feb 2007
Printed Page 305
3rd paragraph

In the sentence "...from Bridge 1's perspective, Hosts A, B, C and D are all located
in LAN2,..."
Bridge 1
should be:
Bridge 2

Anonymous  May 2008
Printed Page 308
Last paragraph, line 5.

14-8
should be
14-9

Anonymous  May 2008
Printed Page 324
Figure 15-8(b) caption.

BPDU
should be
TCN BPDU

Anonymous  May 2008
Printed Page 347
Ingress BPDUs, paragraph 2, line 2.

Figure 15-7
should be
Figure 15-8

Anonymous  May 2008
Printed Page 351
2nd-to-last bullet, line 2

old, disabled
should be
old disabled

Anonymous  May 2008
Printed Page 361
Paragraph 1, line 3.

Ethernel
should be
Ethernet

Anonymous  May 2008
Printed Page 371
Figure 16-11

ENGRESS
should be
EGRESS

Anonymous  May 2008
Printed Page 377
Figure 16-12

E thernet
should be
Ethernet

Anonymous  May 2008
Printed Page 385
br_transmit_config line 2

...in Chapter 15."
should be
...in Chapter 15.

Anonymous  May 2008
Printed Page 390
NETDEV_UP, line 2.

br_stp_enabled_port
should be
br_stp_enable_port

Anonymous  May 2008
Printed Page 395
Table 17-3, argument for showstp

BRCTL_SET_BRIDGE_INFO
should be
BRCTL_GET_BRIDGE_INFO

Anonymous  May 2008
Printed Page 397
CLASS_DEV_ATTR line

S_IURGO
should be
S_IRUGO

Anonymous  May 2008
Printed Page 398
BRPORT_ATTR line

S_IURGO
should be
S_IRUGO

Anonymous  May 2008
Printed Page 432
Checksums, line 2

Some checksums cannot only detect errors...
should be
Some checksums can not only detect errors...

Anonymous  May 2008
Printed Page 444
third bullet from the top

(see the section ?Long-Living IP Peer Information? in Chapter 23.
should be
(see the section ?Long-Living IP Peer Information? in Chapter 23).

Anonymous  May 2008
Printed Page 451
line 1 and 2

'See the section "Local Delivery" in Chapter 20
should be
...in Chapter 35

Anonymous  Feb 2007
Printed Page 451
line 1 and 2

'See the section "Local Delivery" in Chapter 20
should be
...in Chapter 35

Anonymous  May 2008
Printed Page 452
Paragraph 2, line 2.

ip_option
should be
ip_options

Anonymous  May 2008
Printed Page 471
ip_forward_finish line 5

if (unlikely(opt->optlen) {
should be
if (unlikely(opt->optlen) )

Anonymous  May 2008
Printed Page 490
Figure 21-7

X+S1+S2<+PMTU
should be
X+S1+S2<=PMTU

Anonymous  May 2008
Printed Page 491
Figure 21-8

dala_len
should be
data_len

Anonymous  May 2008
Printed Page 493
Further handling of the buffers, paragraph 1, line3

sw_write_queue
should be
sk_write_queue

Anonymous  May 2008
Printed Page 500
Figure 21-11.

MSG_MOER
should be
MSG_MORE

Anonymous  May 2008
Printed Page 506
Figure 21-12(b)

ip_push_peinding_frames caller
should be
ip_push_peinding_frame's caller

Anonymous  May 2008
Printed Page 517
Line 1 of 3rd displayed block of code

sk2
should be
skb2

Anonymous  May 2008
Printed Page 524
Line4 from the bottom

Last Recently Used (LRU)
should be
Least Recently Used (LRU)

Anonymous  May 2008
Printed Page 531
Last line above Figure 22-2.

both F3 and F4 (which is completely included).
should be
both F3 (which is completely included) and F4.

Anonymous  May 2008
Printed Page 536
Last line of paragraph 2

base
should be
basis

Anonymous  May 2008
Printed Page 537
Line 5 of bullet 2.

the most recently used
should be
the least recently used

Anonymous  May 2008
Printed Page 539
Figure 23-1

Delete the "No" above "Is the Create flag set?", and add a "Yes" below.

Anonymous  May 2008
Printed Page 542
Paragraph 2, line 3.

IPSTATS_MIX_XXX
should be
IPSTATS_MIB_XXX

Anonymous  May 2008
Printed Page 553
Table 23-2

ipfrag_high_tresh
should be
ipfrag_high_thresh

and

ipfrag_low_tresh
should be
ipfrag_low_thresh

Anonymous  May 2008
Printed Page 556
Figure 23-3

skhuff.h
should be
skbuff.h

Anonymous  May 2008
Printed Page 577
Paragraph 2, line 7.

The figure also shows that...
should be
Figure 24-4 also shows that...

Anonymous  May 2008
Printed Page 581
Paragraph 4, line 8.

traceroute, which needs to plays with...
should be
traceroute, which needs to play with...

Anonymous  May 2008
Printed Page 581
Last paragraph, line 1.

...and the ones used to store...
should be
...and the one used to store...

Anonymous  May 2008
Printed Page 592
Bottom of page

Add:
5. Router RT2 forwards the packet to Host Y.

Anonymous  May 2008
Printed Page 592
Figure 25-3

Anonymous  May 2008
Printed Page 593
ICMP_TIME_EXCEEDED paragraph 2, line 3.

The intermediate host that drops the packet...
should be
The intermediate router that drops the packet...

Anonymous  May 2008
Printed Page 610
Paragraph 2, line 1

xlim_allow
should be
xrlim_allow

Anonymous  May 2008
Printed Page 615
Figure 25-13

Low Warning Message
should be
Log Warning Message

Anonymous  May 2008
Printed Page 615
Figure 25-13

Delete the "Yes" on the arrow out of [Deliver ICMP to raw IP sockets].

Anonymous  May 2008
Printed Page 619
ICMP_MIB_INXXX, ICMP_MIB_OUTXXX

there is one per-ICMP
should be
there is one per ICMP

Anonymous  May 2008
Printed Page 631
Line 3.

CMSA/CD
should be
CSMA/CD

Anonymous  May 2008
Printed Page 658
Paragraph 4, line 4.

"Figure 26-12" should be "Figure 26-13".

Anonymous  May 2008
Printed Page 658
Figure 27-4

The arrow pointing from NUD_STALE to NUD_REACHABLE should actually point the other
way around (from NUD_REACHABLE to NUD_STALE).

Anonymous  May 2008
Printed Page 661
Last line.

the section "Final Common Processing in Chapter 28).
should be
the section "Final Common Processing" in Chapter 28).

Anonymous  May 2008
Printed Page 662
2nd line

NEIGH_UPDATE_ISROUTER
Should be
NEIGH_UPDATE_F_ISROUTER

Anonymous  May 2008
Printed Page 663
Figure 27-5(a), block b.

NUD_VALUE
should be
NUD_VALID

Anonymous  May 2008
Printed Page 681
Figure 27-9, top left

Form?
should be
From?

Anonymous  May 2008
Printed Page 681
Figure 27-9, lower middle

proxy_len
should be
proxy_qlen

Anonymous  May 2008
Printed Page 692
5th paragraph, 1st sentence

"The input skb buffer, ip_finish_output2, includes the packet data..." should read
"The skb buffer input to ip_finish_output2, includes the packet data..." or "The
input skb buffer includes the packet data..."

Anonymous  May 2008
Printed Page 694
Figure 27-13(a), lower left

dst->hh (neigh hh init)
should be
dst->hh (neigh_hh_init)

Anonymous  May 2008
Printed Page 707
Figure 28-5 (error occurs in three places)

AROP_
should be
ARPOP_

Anonymous  May 2008
Printed Page 712
First line of last paragraph.

HostC
should be
Host C

Anonymous  May 2008
Printed Page 721
Last line of first displayed source code.

Delete the final #endif

Anonymous  May 2008
Printed Page 742
Bullet (b), line 1 of paragraph 2

A2
should be
A

Anonymous  May 2008
Printed Page 742
Bullet (b), line 3 of paragraph 3.

accordingly to
should be
according to

Anonymous  May 2008
Printed Page 744
ARPD, line 3.

system performances
should be
system performance

Anonymous  May 2008
Printed Page 745
First entry under Kernel Side

neigh_apps_ns
should be
neigh_app_ns

Anonymous  May 2008
Printed Page 745
Figure 28-22 (error occurs in two places)

RTN_
should be
RTM_

Anonymous  May 2008
Printed Page 747
Figure 28-23 (error occurs in two places)

RTN_
should be RTM_

Anonymous  May 2008
Printed Page 759
unsigned long confirmed, last line.

...described in .
should be
...described in "Updating a Neighbor's Information: neigh_update" in Chapter 27.

Anonymous  May 2008
Printed Page 762
int entry_size, line 2.

...includes a field whose size depends on the protocol (primary_key),
should be
...includes a field (primary_key) whose size depends on the protocol,

Anonymous  May 2008
Printed Page 813
Figure 31-5(c)

In the last line of the ip route add command, 10.0.0.2.1 should be 10.0.2.1

Anonymous  May 2008
Printed Page 849
Figure 32-6.

The No branch of "Have all next hops been marked DEAD?" is not labeled.

Anonymous  May 2008
Printed Page 885
First line.

"is" should be "is not".

Anonymous  May 2008
Printed Page 893
Bullet 2, line 4.

"any" should be "an".

Anonymous  May 2008
Printed Page 898
Bullet 4, line 1.

"indegiven" should be "given".

Anonymous  May 2008
Printed Page 934
Figure 35-8(b) caption.

p_route_output_slow should be ip_route_output_slow.

Anonymous  May 2008
Printed Page 961
Footnote +, line 5.

"where as" should be "whereas".

Anonymous  May 2008
Printed Page 982
metrics, paragraph 2, line 3.

"options" should be "option".

Anonymous  May 2008


"In this most excellent book, the author shows you how Linux carries out the complicated tasks assigned to it by the IP protocols."
--John Vacca, Amazon.com