Commit 4ced188b authored by David S. Miller's avatar David S. Miller

Merge bk://kernel.bkbits.net/acme/net-2.5

into nuts.ninka.net:/home/davem/src/BK/net-2.5
parents 75bb5d3e 2a238472
...@@ -54,10 +54,9 @@ ...@@ -54,10 +54,9 @@
* It MUST NOT touch skb->h. * It MUST NOT touch skb->h.
*/ */
struct tlvtype_proc struct tlvtype_proc {
{
int type; int type;
int (*func) (struct sk_buff *, int offset); int (*func)(struct sk_buff *skb, int offset);
}; };
/********************* /*********************
...@@ -175,8 +174,7 @@ static int ipv6_destopt_rcv(struct sk_buff **skbp, unsigned int *nhoffp) ...@@ -175,8 +174,7 @@ static int ipv6_destopt_rcv(struct sk_buff **skbp, unsigned int *nhoffp)
return -1; return -1;
} }
static struct inet6_protocol destopt_protocol = static struct inet6_protocol destopt_protocol = {
{
.handler = ipv6_destopt_rcv, .handler = ipv6_destopt_rcv,
.flags = INET6_PROTO_NOPOLICY, .flags = INET6_PROTO_NOPOLICY,
}; };
...@@ -199,8 +197,7 @@ static int ipv6_nodata_rcv(struct sk_buff **skbp, unsigned int *nhoffp) ...@@ -199,8 +197,7 @@ static int ipv6_nodata_rcv(struct sk_buff **skbp, unsigned int *nhoffp)
return 0; return 0;
} }
static struct inet6_protocol nodata_protocol = static struct inet6_protocol nodata_protocol = {
{
.handler = ipv6_nodata_rcv, .handler = ipv6_nodata_rcv,
.flags = INET6_PROTO_NOPOLICY, .flags = INET6_PROTO_NOPOLICY,
}; };
...@@ -328,8 +325,7 @@ static int ipv6_rthdr_rcv(struct sk_buff **skbp, unsigned int *nhoffp) ...@@ -328,8 +325,7 @@ static int ipv6_rthdr_rcv(struct sk_buff **skbp, unsigned int *nhoffp)
return -1; return -1;
} }
static struct inet6_protocol rthdr_protocol = static struct inet6_protocol rthdr_protocol = {
{
.handler = ipv6_rthdr_rcv, .handler = ipv6_rthdr_rcv,
.flags = INET6_PROTO_NOPOLICY, .flags = INET6_PROTO_NOPOLICY,
}; };
...@@ -462,9 +458,15 @@ static int ipv6_hop_jumbo(struct sk_buff *skb, int optoff) ...@@ -462,9 +458,15 @@ static int ipv6_hop_jumbo(struct sk_buff *skb, int optoff)
} }
static struct tlvtype_proc tlvprochopopt_lst[] = { static struct tlvtype_proc tlvprochopopt_lst[] = {
{IPV6_TLV_ROUTERALERT, ipv6_hop_ra}, {
{IPV6_TLV_JUMBO, ipv6_hop_jumbo}, .type = IPV6_TLV_ROUTERALERT,
{-1, NULL} .func = ipv6_hop_ra,
},
{
.type = IPV6_TLV_JUMBO,
.func = ipv6_hop_jumbo,
},
{ -1, }
}; };
int ipv6_parse_hopopts(struct sk_buff *skb, int nhoff) int ipv6_parse_hopopts(struct sk_buff *skb, int nhoff)
......
...@@ -737,11 +737,26 @@ static struct icmp6_err { ...@@ -737,11 +737,26 @@ static struct icmp6_err {
int err; int err;
int fatal; int fatal;
} tab_unreach[] = { } tab_unreach[] = {
{ ENETUNREACH, 0}, /* NOROUTE */ { /* NOROUTE */
{ EACCES, 1}, /* ADM_PROHIBITED */ .err = ENETUNREACH,
{ EHOSTUNREACH, 0}, /* Was NOT_NEIGHBOUR, now reserved */ .fatal = 0,
{ EHOSTUNREACH, 0}, /* ADDR_UNREACH */ },
{ ECONNREFUSED, 1}, /* PORT_UNREACH */ { /* ADM_PROHIBITED */
.err = EACCES,
.fatal = 1,
},
{ /* Was NOT_NEIGHBOUR, now reserved */
.err = EHOSTUNREACH,
.fatal = 0,
},
{ /* ADDR_UNREACH */
.err = EHOSTUNREACH,
.fatal = 0,
},
{ /* PORT_UNREACH */
.err = ECONNREFUSED,
.fatal = 1,
},
}; };
int icmpv6_err_convert(int type, int code, int *err) int icmpv6_err_convert(int type, int code, int *err)
......
...@@ -91,12 +91,13 @@ static struct fib6_node * fib6_repair_tree(struct fib6_node *fn); ...@@ -91,12 +91,13 @@ static struct fib6_node * fib6_repair_tree(struct fib6_node *fn);
* result of redirects, path MTU changes, etc. * result of redirects, path MTU changes, etc.
*/ */
static __u32 rt_sernum = 0; static __u32 rt_sernum;
static struct timer_list ip6_fib_timer = TIMER_INITIALIZER(fib6_run_gc, 0, 0); static struct timer_list ip6_fib_timer = TIMER_INITIALIZER(fib6_run_gc, 0, 0);
static struct fib6_walker_t fib6_walker_list = { static struct fib6_walker_t fib6_walker_list = {
&fib6_walker_list, &fib6_walker_list, .prev = &fib6_walker_list,
.next = &fib6_walker_list,
}; };
#define FOR_WALKERS(w) for ((w)=fib6_walker_list.next; (w) != &fib6_walker_list; (w)=(w)->next) #define FOR_WALKERS(w) for ((w)=fib6_walker_list.next; (w) != &fib6_walker_list; (w)=(w)->next)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment