diff options
Diffstat (limited to 'net/decnet/dn_route.c')
-rw-r--r-- | net/decnet/dn_route.c | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/net/decnet/dn_route.c b/net/decnet/dn_route.c index 9ab0c4ba297f..03227ffd19ce 100644 --- a/net/decnet/dn_route.c +++ b/net/decnet/dn_route.c | |||
@@ -512,7 +512,7 @@ static int dn_return_long(struct sk_buff *skb) | |||
512 | * | 512 | * |
513 | * Returns: result of input function if route is found, error code otherwise | 513 | * Returns: result of input function if route is found, error code otherwise |
514 | */ | 514 | */ |
515 | static int dn_route_rx_packet(struct sk_buff *skb) | 515 | static int dn_route_rx_packet(struct sock *sk, struct sk_buff *skb) |
516 | { | 516 | { |
517 | struct dn_skb_cb *cb; | 517 | struct dn_skb_cb *cb; |
518 | int err; | 518 | int err; |
@@ -573,7 +573,8 @@ static int dn_route_rx_long(struct sk_buff *skb) | |||
573 | ptr++; | 573 | ptr++; |
574 | cb->hops = *ptr++; /* Visit Count */ | 574 | cb->hops = *ptr++; /* Visit Count */ |
575 | 575 | ||
576 | return NF_HOOK(NFPROTO_DECNET, NF_DN_PRE_ROUTING, skb, skb->dev, NULL, | 576 | return NF_HOOK(NFPROTO_DECNET, NF_DN_PRE_ROUTING, NULL, skb, |
577 | skb->dev, NULL, | ||
577 | dn_route_rx_packet); | 578 | dn_route_rx_packet); |
578 | 579 | ||
579 | drop_it: | 580 | drop_it: |
@@ -600,7 +601,8 @@ static int dn_route_rx_short(struct sk_buff *skb) | |||
600 | ptr += 2; | 601 | ptr += 2; |
601 | cb->hops = *ptr & 0x3f; | 602 | cb->hops = *ptr & 0x3f; |
602 | 603 | ||
603 | return NF_HOOK(NFPROTO_DECNET, NF_DN_PRE_ROUTING, skb, skb->dev, NULL, | 604 | return NF_HOOK(NFPROTO_DECNET, NF_DN_PRE_ROUTING, NULL, skb, |
605 | skb->dev, NULL, | ||
604 | dn_route_rx_packet); | 606 | dn_route_rx_packet); |
605 | 607 | ||
606 | drop_it: | 608 | drop_it: |
@@ -608,7 +610,7 @@ drop_it: | |||
608 | return NET_RX_DROP; | 610 | return NET_RX_DROP; |
609 | } | 611 | } |
610 | 612 | ||
611 | static int dn_route_discard(struct sk_buff *skb) | 613 | static int dn_route_discard(struct sock *sk, struct sk_buff *skb) |
612 | { | 614 | { |
613 | /* | 615 | /* |
614 | * I know we drop the packet here, but thats considered success in | 616 | * I know we drop the packet here, but thats considered success in |
@@ -618,7 +620,7 @@ static int dn_route_discard(struct sk_buff *skb) | |||
618 | return NET_RX_SUCCESS; | 620 | return NET_RX_SUCCESS; |
619 | } | 621 | } |
620 | 622 | ||
621 | static int dn_route_ptp_hello(struct sk_buff *skb) | 623 | static int dn_route_ptp_hello(struct sock *sk, struct sk_buff *skb) |
622 | { | 624 | { |
623 | dn_dev_hello(skb); | 625 | dn_dev_hello(skb); |
624 | dn_neigh_pointopoint_hello(skb); | 626 | dn_neigh_pointopoint_hello(skb); |
@@ -704,22 +706,22 @@ int dn_route_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type | |||
704 | switch (flags & DN_RT_CNTL_MSK) { | 706 | switch (flags & DN_RT_CNTL_MSK) { |
705 | case DN_RT_PKT_HELO: | 707 | case DN_RT_PKT_HELO: |
706 | return NF_HOOK(NFPROTO_DECNET, NF_DN_HELLO, | 708 | return NF_HOOK(NFPROTO_DECNET, NF_DN_HELLO, |
707 | skb, skb->dev, NULL, | 709 | NULL, skb, skb->dev, NULL, |
708 | dn_route_ptp_hello); | 710 | dn_route_ptp_hello); |
709 | 711 | ||
710 | case DN_RT_PKT_L1RT: | 712 | case DN_RT_PKT_L1RT: |
711 | case DN_RT_PKT_L2RT: | 713 | case DN_RT_PKT_L2RT: |
712 | return NF_HOOK(NFPROTO_DECNET, NF_DN_ROUTE, | 714 | return NF_HOOK(NFPROTO_DECNET, NF_DN_ROUTE, |
713 | skb, skb->dev, NULL, | 715 | NULL, skb, skb->dev, NULL, |
714 | dn_route_discard); | 716 | dn_route_discard); |
715 | case DN_RT_PKT_ERTH: | 717 | case DN_RT_PKT_ERTH: |
716 | return NF_HOOK(NFPROTO_DECNET, NF_DN_HELLO, | 718 | return NF_HOOK(NFPROTO_DECNET, NF_DN_HELLO, |
717 | skb, skb->dev, NULL, | 719 | NULL, skb, skb->dev, NULL, |
718 | dn_neigh_router_hello); | 720 | dn_neigh_router_hello); |
719 | 721 | ||
720 | case DN_RT_PKT_EEDH: | 722 | case DN_RT_PKT_EEDH: |
721 | return NF_HOOK(NFPROTO_DECNET, NF_DN_HELLO, | 723 | return NF_HOOK(NFPROTO_DECNET, NF_DN_HELLO, |
722 | skb, skb->dev, NULL, | 724 | NULL, skb, skb->dev, NULL, |
723 | dn_neigh_endnode_hello); | 725 | dn_neigh_endnode_hello); |
724 | } | 726 | } |
725 | } else { | 727 | } else { |
@@ -768,7 +770,8 @@ static int dn_output(struct sock *sk, struct sk_buff *skb) | |||
768 | cb->rt_flags |= DN_RT_F_IE; | 770 | cb->rt_flags |= DN_RT_F_IE; |
769 | cb->hops = 0; | 771 | cb->hops = 0; |
770 | 772 | ||
771 | return NF_HOOK(NFPROTO_DECNET, NF_DN_LOCAL_OUT, skb, NULL, dev, | 773 | return NF_HOOK(NFPROTO_DECNET, NF_DN_LOCAL_OUT, sk, skb, |
774 | NULL, dev, | ||
772 | dn_to_neigh_output); | 775 | dn_to_neigh_output); |
773 | 776 | ||
774 | error: | 777 | error: |
@@ -816,7 +819,8 @@ static int dn_forward(struct sk_buff *skb) | |||
816 | if (rt->rt_flags & RTCF_DOREDIRECT) | 819 | if (rt->rt_flags & RTCF_DOREDIRECT) |
817 | cb->rt_flags |= DN_RT_F_IE; | 820 | cb->rt_flags |= DN_RT_F_IE; |
818 | 821 | ||
819 | return NF_HOOK(NFPROTO_DECNET, NF_DN_FORWARD, skb, dev, skb->dev, | 822 | return NF_HOOK(NFPROTO_DECNET, NF_DN_FORWARD, NULL, skb, |
823 | dev, skb->dev, | ||
820 | dn_to_neigh_output); | 824 | dn_to_neigh_output); |
821 | 825 | ||
822 | drop: | 826 | drop: |