09 Mar, 2013
1 commit
-
send_sllao is already initialized with the value of dev->addr_len
Cc: Hideaki YOSHIFUJI
Signed-off-by: Thomas Graf
Acked-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller
22 Jan, 2013
19 commits
-
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Construct NS/NA/RS message directly using C99 compound literals.
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Reuse dst if one is attached with skb.
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
skb_transport_header() (thus icmp6_hdr()) is available here,
use it.Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Build ICMPv6 message first and make buffer management easier;
we can use skb->len when filling checksum in ICMPv6 header,
and then build IP header with length field.Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Since we have skb->dev, use it.
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
- move ip6_nd_hdr() to its users' source files.
In net/ipv6/mcast.c, it will be called ip6_mc_hdr().
- make return type to void since this function never fails.Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Suggested by Eric Dumazet .
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
This also makes ndisc_opt_addr_data() and ndisc_fill_addr_option()
use ndisc_opt_addr_space().Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Add pointer to struct net_device (dev) and remove
data_len (= dev->addr_len) and addr_type (= dev->type).Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller
21 Jan, 2013
2 commits
-
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller
19 Jan, 2013
2 commits
-
Check message length before accessing "target" field,
as we do for other types.Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller -
Because of rt->n removal, we do not need neigh argument any more.
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller
07 Jan, 2013
1 commit
-
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller
05 Jan, 2013
1 commit
-
Currently, the size of skb allocated for NDISC is MAX_HEADER +
LL_RESERVED_SPACE(dev) + packet length + dev->needed_tailroom,
but only LL_RESERVED_SPACE(dev) bytes is "reserved" for headers.
As a result, the skb looks like this (after construction of the
message):head data tail end
+--------------------------------------------------------------+
+ | | | |
+--------------------------------------------------------------+
|||||
=LL_ = dev
RESERVED_ ->needed_
SPACE(dev) tailroomAs the name implies, "MAX_HEADER" is used for headers, and should
be "reserved" in prior to packet construction. Or, if some space
is really required at the tail of ther skb, it should be
explicitly documented.We have several option after construction of NDISC message:
Option 1:
head data tail end
+---------------------------------------------+
+ | | |
+---------------------------------------------+
||||
=LL_ = dev
RESERVED_ ->needed_
SPACE(dev) tailroomOption 2:
head data tail end
+--------------------------------------------------+
+ | | |
+--------------------------------------------------+
||||
= dev
->needed_
tailroomOption 3:
head data tail end
+--------------------------------------------------------------+
+ | | | |
+--------------------------------------------------------------+
|||||
=LL_ = dev
RESERVED_ ->needed_
SPACE(dev) tailroomOur tunnel drivers try expanding headroom and the space for tunnel
encapsulation was not a mandatory space -- so we are not seeing
bugs here --, but just for optimization for performance critial
situations.Since NDISC messages are not performance critical unlike TCP,
and as we know outgoing device, LL_RESERVED_SPACE(dev) should be
just enough for the device in most (if not all) cases:
LL_RESERVED_SPACE(dev)
Acked-by: Eric Dumazet
Signed-off-by: David S. Miller
15 Dec, 2012
1 commit
-
In function ndisc_redirect_rcv(), the skb->data points to the transport
header, but function icmpv6_notify() need the skb->data points to the
inner IP packet. So before using icmpv6_notify() to propagate redirect,
change skb->data to point the inner IP packet that triggered the sending
of the Redirect, and introduce struct rd_msg to make it easy.Signed-off-by: Duan Jiong
Signed-off-by: David S. Miller
14 Dec, 2012
1 commit
-
If a natural number n exists where 2 + data_len < 2 + data_len + pad,
post padding is not initialized correctly.(Un)fortunately, the only type that requires pad is Infiniband,
whose pad is 2 and data_len is 20, and this logical error has not
become obvious, but it is better to fix.Note that ndisc_opt_addr_space() handles the situation described
above correctly.Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller
13 Dec, 2012
1 commit
-
These symbols were exported for bonding device by commit 305d552a
("bonding: send IPv6 neighbor advertisement on failover").It bacame obsolete by commit 7c899432 ("bonding, ipv4, ipv6, vlan: Handle
NETDEV_BONDING_FAILOVER like NETDEV_NOTIFY_PEERS") and removed by
commit 4f5762ec ("bonding: Remove obsolete source file 'bond_ipv6.c'").Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller
02 Dec, 2012
1 commit
-
As of 026359b [ipv6: Send ICMPv6 RSes only when RAs are accepted], the
logic determining whether to send Router Solicitations is identical
to the logic determining whether kernel accepts Router Advertisements.However the condition itself is repeated in several code locations.
Unify it by introducing 'ipv6_accept_ra()' accessor.
Also, simplify the condition expression, making it more readable.
No semantic change.Signed-off-by: Shmulik Ladkani
Signed-off-by: David S. Miller
14 Nov, 2012
1 commit
-
This patch introduces a new knob ndisc_notify. If enabled, the kernel
will transmit an unsolicited neighbour advertisement on link-layer address
change to update the neighbour tables of the corresponding hosts more quickly.This is the equivalent to arp_notify in ipv4 world.
Signed-off-by: Hannes Frederic Sowa
Signed-off-by: David S. Miller
13 Nov, 2012
1 commit
-
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller
11 Nov, 2012
1 commit
-
Conflicts:
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.cMinor conflict between the BCM_CNIC define removal in net-next
and a bug fix added to net. Based upon a conflict resolution
patch posted by Stephen Rothwell.Signed-off-by: David S. Miller
10 Nov, 2012
1 commit
-
As documented in RFC4861 (Neighbor Discovery for IP version 6) 7.2.6.,
unsolicited neighbour advertisements should be sent to the all-nodes
multicast address.Signed-off-by: Hannes Frederic Sowa
Signed-off-by: David S. Miller
08 Nov, 2012
1 commit
-
Signed-off-by: Nicolas Dichtel
Signed-off-by: David S. Miller
04 Nov, 2012
1 commit
-
As suggested by Eric, we could introduce a helper function
for ipv6 too, to avoid checking if rt is NULL before
dst_release().Cc: Eric Dumazet
Cc: David S. Miller
Signed-off-by: Cong Wang
Signed-off-by: David S. Miller
12 Jul, 2012
3 commits
-
And delete rt6_redirect(), since it is no longer used.
Signed-off-by: David S. Miller
-
This sets things up so that we can have the protocol error handlers
call down into the ipv6 route code for redirects just as ipv4 already
does.Signed-off-by: David S. Miller
-
This is going to be used internally by the rt6 redirect code.
Signed-off-by: David S. Miller
11 Jul, 2012
1 commit
-
Only use it in the absolutely required cases:
1) COW'ing metrics
2) ipv4 PMTU
3) ipv4 redirects
Signed-off-by: David S. Miller