diff options
Diffstat (limited to 'Documentation/networking')
-rw-r--r-- | Documentation/networking/batman-adv.txt | 54 | ||||
-rw-r--r-- | Documentation/networking/bonding.txt | 75 | ||||
-rw-r--r-- | Documentation/networking/can.txt | 217 | ||||
-rw-r--r-- | Documentation/networking/dccp.txt | 4 | ||||
-rw-r--r-- | Documentation/networking/e100.txt | 2 | ||||
-rw-r--r-- | Documentation/networking/ieee802154.txt | 4 | ||||
-rw-r--r-- | Documentation/networking/ip-sysctl.txt | 18 | ||||
-rw-r--r-- | Documentation/networking/l2tp.txt | 2 | ||||
-rw-r--r-- | Documentation/networking/netdev-FAQ.txt | 24 | ||||
-rw-r--r-- | Documentation/networking/netdevices.txt | 10 | ||||
-rw-r--r-- | Documentation/networking/netlink_mmap.txt | 6 | ||||
-rw-r--r-- | Documentation/networking/operstates.txt | 4 | ||||
-rw-r--r-- | Documentation/networking/rxrpc.txt | 2 | ||||
-rw-r--r-- | Documentation/networking/stmmac.txt | 8 | ||||
-rw-r--r-- | Documentation/networking/vortex.txt | 4 | ||||
-rw-r--r-- | Documentation/networking/x25-iface.txt | 2 |
16 files changed, 304 insertions, 132 deletions
diff --git a/Documentation/networking/batman-adv.txt b/Documentation/networking/batman-adv.txt index c1d82047a4b1..89490beb3c0b 100644 --- a/Documentation/networking/batman-adv.txt +++ b/Documentation/networking/batman-adv.txt | |||
@@ -69,8 +69,7 @@ folder: | |||
69 | # aggregated_ogms gw_bandwidth log_level | 69 | # aggregated_ogms gw_bandwidth log_level |
70 | # ap_isolation gw_mode orig_interval | 70 | # ap_isolation gw_mode orig_interval |
71 | # bonding gw_sel_class routing_algo | 71 | # bonding gw_sel_class routing_algo |
72 | # bridge_loop_avoidance hop_penalty vis_mode | 72 | # bridge_loop_avoidance hop_penalty fragmentation |
73 | # fragmentation | ||
74 | 73 | ||
75 | 74 | ||
76 | There is a special folder for debugging information: | 75 | There is a special folder for debugging information: |
@@ -78,7 +77,7 @@ There is a special folder for debugging information: | |||
78 | # ls /sys/kernel/debug/batman_adv/bat0/ | 77 | # ls /sys/kernel/debug/batman_adv/bat0/ |
79 | # bla_backbone_table log transtable_global | 78 | # bla_backbone_table log transtable_global |
80 | # bla_claim_table originators transtable_local | 79 | # bla_claim_table originators transtable_local |
81 | # gateways socket vis_data | 80 | # gateways socket |
82 | 81 | ||
83 | Some of the files contain all sort of status information regard- | 82 | Some of the files contain all sort of status information regard- |
84 | ing the mesh network. For example, you can view the table of | 83 | ing the mesh network. For example, you can view the table of |
@@ -127,51 +126,6 @@ ously assigned to interfaces now used by batman advanced, e.g. | |||
127 | # ifconfig eth0 0.0.0.0 | 126 | # ifconfig eth0 0.0.0.0 |
128 | 127 | ||
129 | 128 | ||
130 | VISUALIZATION | ||
131 | ------------- | ||
132 | |||
133 | If you want topology visualization, at least one mesh node must | ||
134 | be configured as VIS-server: | ||
135 | |||
136 | # echo "server" > /sys/class/net/bat0/mesh/vis_mode | ||
137 | |||
138 | Each node is either configured as "server" or as "client" (de- | ||
139 | fault: "client"). Clients send their topology data to the server | ||
140 | next to them, and server synchronize with other servers. If there | ||
141 | is no server configured (default) within the mesh, no topology | ||
142 | information will be transmitted. With these "synchronizing | ||
143 | servers", there can be 1 or more vis servers sharing the same (or | ||
144 | at least very similar) data. | ||
145 | |||
146 | When configured as server, you can get a topology snapshot of | ||
147 | your mesh: | ||
148 | |||
149 | # cat /sys/kernel/debug/batman_adv/bat0/vis_data | ||
150 | |||
151 | This raw output is intended to be easily parsable and convertable | ||
152 | with other tools. Have a look at the batctl README if you want a | ||
153 | vis output in dot or json format for instance and how those out- | ||
154 | puts could then be visualised in an image. | ||
155 | |||
156 | The raw format consists of comma separated values per entry where | ||
157 | each entry is giving information about a certain source inter- | ||
158 | face. Each entry can/has to have the following values: | ||
159 | -> "mac" - mac address of an originator's source interface | ||
160 | (each line begins with it) | ||
161 | -> "TQ mac value" - src mac's link quality towards mac address | ||
162 | of a neighbor originator's interface which | ||
163 | is being used for routing | ||
164 | -> "TT mac" - TT announced by source mac | ||
165 | -> "PRIMARY" - this is a primary interface | ||
166 | -> "SEC mac" - secondary mac address of source | ||
167 | (requires preceding PRIMARY) | ||
168 | |||
169 | The TQ value has a range from 4 to 255 with 255 being the best. | ||
170 | The TT entries are showing which hosts are connected to the mesh | ||
171 | via bat0 or being bridged into the mesh network. The PRIMARY/SEC | ||
172 | values are only applied on primary interfaces | ||
173 | |||
174 | |||
175 | LOGGING/DEBUGGING | 129 | LOGGING/DEBUGGING |
176 | ----------------- | 130 | ----------------- |
177 | 131 | ||
@@ -245,5 +199,5 @@ Mailing-list: b.a.t.m.a.n@open-mesh.org (optional subscription | |||
245 | 199 | ||
246 | You can also contact the Authors: | 200 | You can also contact the Authors: |
247 | 201 | ||
248 | Marek Lindner <lindner_marek@yahoo.de> | 202 | Marek Lindner <mareklindner@neomailbox.ch> |
249 | Simon Wunderlich <siwu@hrz.tu-chemnitz.de> | 203 | Simon Wunderlich <sw@simonwunderlich.de> |
diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt index 9b28e714831a..2cdb8b66caa9 100644 --- a/Documentation/networking/bonding.txt +++ b/Documentation/networking/bonding.txt | |||
@@ -639,6 +639,15 @@ num_unsol_na | |||
639 | are generated by the ipv4 and ipv6 code and the numbers of | 639 | are generated by the ipv4 and ipv6 code and the numbers of |
640 | repetitions cannot be set independently. | 640 | repetitions cannot be set independently. |
641 | 641 | ||
642 | packets_per_slave | ||
643 | |||
644 | Specify the number of packets to transmit through a slave before | ||
645 | moving to the next one. When set to 0 then a slave is chosen at | ||
646 | random. | ||
647 | |||
648 | The valid range is 0 - 65535; the default value is 1. This option | ||
649 | has effect only in balance-rr mode. | ||
650 | |||
642 | primary | 651 | primary |
643 | 652 | ||
644 | A string (eth0, eth2, etc) specifying which slave is the | 653 | A string (eth0, eth2, etc) specifying which slave is the |
@@ -743,21 +752,16 @@ xmit_hash_policy | |||
743 | protocol information to generate the hash. | 752 | protocol information to generate the hash. |
744 | 753 | ||
745 | Uses XOR of hardware MAC addresses and IP addresses to | 754 | Uses XOR of hardware MAC addresses and IP addresses to |
746 | generate the hash. The IPv4 formula is | 755 | generate the hash. The formula is |
747 | |||
748 | (((source IP XOR dest IP) AND 0xffff) XOR | ||
749 | ( source MAC XOR destination MAC )) | ||
750 | modulo slave count | ||
751 | |||
752 | The IPv6 formula is | ||
753 | 756 | ||
754 | hash = (source ip quad 2 XOR dest IP quad 2) XOR | 757 | hash = source MAC XOR destination MAC |
755 | (source ip quad 3 XOR dest IP quad 3) XOR | 758 | hash = hash XOR source IP XOR destination IP |
756 | (source ip quad 4 XOR dest IP quad 4) | 759 | hash = hash XOR (hash RSHIFT 16) |
760 | hash = hash XOR (hash RSHIFT 8) | ||
761 | And then hash is reduced modulo slave count. | ||
757 | 762 | ||
758 | (((hash >> 24) XOR (hash >> 16) XOR (hash >> 8) XOR hash) | 763 | If the protocol is IPv6 then the source and destination |
759 | XOR (source MAC XOR destination MAC)) | 764 | addresses are first hashed using ipv6_addr_hash. |
760 | modulo slave count | ||
761 | 765 | ||
762 | This algorithm will place all traffic to a particular | 766 | This algorithm will place all traffic to a particular |
763 | network peer on the same slave. For non-IP traffic, | 767 | network peer on the same slave. For non-IP traffic, |
@@ -779,21 +783,16 @@ xmit_hash_policy | |||
779 | slaves, although a single connection will not span | 783 | slaves, although a single connection will not span |
780 | multiple slaves. | 784 | multiple slaves. |
781 | 785 | ||
782 | The formula for unfragmented IPv4 TCP and UDP packets is | 786 | The formula for unfragmented TCP and UDP packets is |
783 | 787 | ||
784 | ((source port XOR dest port) XOR | 788 | hash = source port, destination port (as in the header) |
785 | ((source IP XOR dest IP) AND 0xffff) | 789 | hash = hash XOR source IP XOR destination IP |
786 | modulo slave count | 790 | hash = hash XOR (hash RSHIFT 16) |
791 | hash = hash XOR (hash RSHIFT 8) | ||
792 | And then hash is reduced modulo slave count. | ||
787 | 793 | ||
788 | The formula for unfragmented IPv6 TCP and UDP packets is | 794 | If the protocol is IPv6 then the source and destination |
789 | 795 | addresses are first hashed using ipv6_addr_hash. | |
790 | hash = (source port XOR dest port) XOR | ||
791 | ((source ip quad 2 XOR dest IP quad 2) XOR | ||
792 | (source ip quad 3 XOR dest IP quad 3) XOR | ||
793 | (source ip quad 4 XOR dest IP quad 4)) | ||
794 | |||
795 | ((hash >> 24) XOR (hash >> 16) XOR (hash >> 8) XOR hash) | ||
796 | modulo slave count | ||
797 | 796 | ||
798 | For fragmented TCP or UDP packets and all other IPv4 and | 797 | For fragmented TCP or UDP packets and all other IPv4 and |
799 | IPv6 protocol traffic, the source and destination port | 798 | IPv6 protocol traffic, the source and destination port |
@@ -801,10 +800,6 @@ xmit_hash_policy | |||
801 | formula is the same as for the layer2 transmit hash | 800 | formula is the same as for the layer2 transmit hash |
802 | policy. | 801 | policy. |
803 | 802 | ||
804 | The IPv4 policy is intended to mimic the behavior of | ||
805 | certain switches, notably Cisco switches with PFC2 as | ||
806 | well as some Foundry and IBM products. | ||
807 | |||
808 | This algorithm is not fully 802.3ad compliant. A | 803 | This algorithm is not fully 802.3ad compliant. A |
809 | single TCP or UDP conversation containing both | 804 | single TCP or UDP conversation containing both |
810 | fragmented and unfragmented packets will see packets | 805 | fragmented and unfragmented packets will see packets |
@@ -815,6 +810,26 @@ xmit_hash_policy | |||
815 | conversations. Other implementations of 802.3ad may | 810 | conversations. Other implementations of 802.3ad may |
816 | or may not tolerate this noncompliance. | 811 | or may not tolerate this noncompliance. |
817 | 812 | ||
813 | encap2+3 | ||
814 | |||
815 | This policy uses the same formula as layer2+3 but it | ||
816 | relies on skb_flow_dissect to obtain the header fields | ||
817 | which might result in the use of inner headers if an | ||
818 | encapsulation protocol is used. For example this will | ||
819 | improve the performance for tunnel users because the | ||
820 | packets will be distributed according to the encapsulated | ||
821 | flows. | ||
822 | |||
823 | encap3+4 | ||
824 | |||
825 | This policy uses the same formula as layer3+4 but it | ||
826 | relies on skb_flow_dissect to obtain the header fields | ||
827 | which might result in the use of inner headers if an | ||
828 | encapsulation protocol is used. For example this will | ||
829 | improve the performance for tunnel users because the | ||
830 | packets will be distributed according to the encapsulated | ||
831 | flows. | ||
832 | |||
818 | The default value is layer2. This option was added in bonding | 833 | The default value is layer2. This option was added in bonding |
819 | version 2.6.3. In earlier versions of bonding, this parameter | 834 | version 2.6.3. In earlier versions of bonding, this parameter |
820 | does not exist, and the layer2 policy is the only policy. The | 835 | does not exist, and the layer2 policy is the only policy. The |
diff --git a/Documentation/networking/can.txt b/Documentation/networking/can.txt index 820f55344edc..4c072414eadb 100644 --- a/Documentation/networking/can.txt +++ b/Documentation/networking/can.txt | |||
@@ -25,6 +25,12 @@ This file contains | |||
25 | 4.1.5 RAW socket option CAN_RAW_FD_FRAMES | 25 | 4.1.5 RAW socket option CAN_RAW_FD_FRAMES |
26 | 4.1.6 RAW socket returned message flags | 26 | 4.1.6 RAW socket returned message flags |
27 | 4.2 Broadcast Manager protocol sockets (SOCK_DGRAM) | 27 | 4.2 Broadcast Manager protocol sockets (SOCK_DGRAM) |
28 | 4.2.1 Broadcast Manager operations | ||
29 | 4.2.2 Broadcast Manager message flags | ||
30 | 4.2.3 Broadcast Manager transmission timers | ||
31 | 4.2.4 Broadcast Manager message sequence transmission | ||
32 | 4.2.5 Broadcast Manager receive filter timers | ||
33 | 4.2.6 Broadcast Manager multiplex message receive filter | ||
28 | 4.3 connected transport protocols (SOCK_SEQPACKET) | 34 | 4.3 connected transport protocols (SOCK_SEQPACKET) |
29 | 4.4 unconnected transport protocols (SOCK_DGRAM) | 35 | 4.4 unconnected transport protocols (SOCK_DGRAM) |
30 | 36 | ||
@@ -593,6 +599,217 @@ solution for a couple of reasons: | |||
593 | In order to receive such messages, CAN_RAW_RECV_OWN_MSGS must be set. | 599 | In order to receive such messages, CAN_RAW_RECV_OWN_MSGS must be set. |
594 | 600 | ||
595 | 4.2 Broadcast Manager protocol sockets (SOCK_DGRAM) | 601 | 4.2 Broadcast Manager protocol sockets (SOCK_DGRAM) |
602 | |||
603 | The Broadcast Manager protocol provides a command based configuration | ||
604 | interface to filter and send (e.g. cyclic) CAN messages in kernel space. | ||
605 | |||
606 | Receive filters can be used to down sample frequent messages; detect events | ||
607 | such as message contents changes, packet length changes, and do time-out | ||
608 | monitoring of received messages. | ||
609 | |||
610 | Periodic transmission tasks of CAN frames or a sequence of CAN frames can be | ||
611 | created and modified at runtime; both the message content and the two | ||
612 | possible transmit intervals can be altered. | ||
613 | |||
614 | A BCM socket is not intended for sending individual CAN frames using the | ||
615 | struct can_frame as known from the CAN_RAW socket. Instead a special BCM | ||
616 | configuration message is defined. The basic BCM configuration message used | ||
617 | to communicate with the broadcast manager and the available operations are | ||
618 | defined in the linux/can/bcm.h include. The BCM message consists of a | ||
619 | message header with a command ('opcode') followed by zero or more CAN frames. | ||
620 | The broadcast manager sends responses to user space in the same form: | ||
621 | |||
622 | struct bcm_msg_head { | ||
623 | __u32 opcode; /* command */ | ||
624 | __u32 flags; /* special flags */ | ||
625 | __u32 count; /* run 'count' times with ival1 */ | ||
626 | struct timeval ival1, ival2; /* count and subsequent interval */ | ||
627 | canid_t can_id; /* unique can_id for task */ | ||
628 | __u32 nframes; /* number of can_frames following */ | ||
629 | struct can_frame frames[0]; | ||
630 | }; | ||
631 | |||
632 | The aligned payload 'frames' uses the same basic CAN frame structure defined | ||
633 | at the beginning of section 4 and in the include/linux/can.h include. All | ||
634 | messages to the broadcast manager from user space have this structure. | ||
635 | |||
636 | Note a CAN_BCM socket must be connected instead of bound after socket | ||
637 | creation (example without error checking): | ||
638 | |||
639 | int s; | ||
640 | struct sockaddr_can addr; | ||
641 | struct ifreq ifr; | ||
642 | |||
643 | s = socket(PF_CAN, SOCK_DGRAM, CAN_BCM); | ||
644 | |||
645 | strcpy(ifr.ifr_name, "can0"); | ||
646 | ioctl(s, SIOCGIFINDEX, &ifr); | ||
647 | |||
648 | addr.can_family = AF_CAN; | ||
649 | addr.can_ifindex = ifr.ifr_ifindex; | ||
650 | |||
651 | connect(s, (struct sockaddr *)&addr, sizeof(addr)) | ||
652 | |||
653 | (..) | ||
654 | |||
655 | The broadcast manager socket is able to handle any number of in flight | ||
656 | transmissions or receive filters concurrently. The different RX/TX jobs are | ||
657 | distinguished by the unique can_id in each BCM message. However additional | ||
658 | CAN_BCM sockets are recommended to communicate on multiple CAN interfaces. | ||
659 | When the broadcast manager socket is bound to 'any' CAN interface (=> the | ||
660 | interface index is set to zero) the configured receive filters apply to any | ||
661 | CAN interface unless the sendto() syscall is used to overrule the 'any' CAN | ||
662 | interface index. When using recvfrom() instead of read() to retrieve BCM | ||
663 | socket messages the originating CAN interface is provided in can_ifindex. | ||
664 | |||
665 | 4.2.1 Broadcast Manager operations | ||
666 | |||
667 | The opcode defines the operation for the broadcast manager to carry out, | ||
668 | or details the broadcast managers response to several events, including | ||
669 | user requests. | ||
670 | |||
671 | Transmit Operations (user space to broadcast manager): | ||
672 | |||
673 | TX_SETUP: Create (cyclic) transmission task. | ||
674 | |||
675 | TX_DELETE: Remove (cyclic) transmission task, requires only can_id. | ||
676 | |||
677 | TX_READ: Read properties of (cyclic) transmission task for can_id. | ||
678 | |||
679 | TX_SEND: Send one CAN frame. | ||
680 | |||
681 | Transmit Responses (broadcast manager to user space): | ||
682 | |||
683 | TX_STATUS: Reply to TX_READ request (transmission task configuration). | ||
684 | |||
685 | TX_EXPIRED: Notification when counter finishes sending at initial interval | ||
686 | 'ival1'. Requires the TX_COUNTEVT flag to be set at TX_SETUP. | ||
687 | |||
688 | Receive Operations (user space to broadcast manager): | ||
689 | |||
690 | RX_SETUP: Create RX content filter subscription. | ||
691 | |||
692 | RX_DELETE: Remove RX content filter subscription, requires only can_id. | ||
693 | |||
694 | RX_READ: Read properties of RX content filter subscription for can_id. | ||
695 | |||
696 | Receive Responses (broadcast manager to user space): | ||
697 | |||
698 | RX_STATUS: Reply to RX_READ request (filter task configuration). | ||
699 | |||
700 | RX_TIMEOUT: Cyclic message is detected to be absent (timer ival1 expired). | ||
701 | |||
702 | RX_CHANGED: BCM message with updated CAN frame (detected content change). | ||
703 | Sent on first message received or on receipt of revised CAN messages. | ||
704 | |||
705 | 4.2.2 Broadcast Manager message flags | ||
706 | |||
707 | When sending a message to the broadcast manager the 'flags' element may | ||
708 | contain the following flag definitions which influence the behaviour: | ||
709 | |||
710 | SETTIMER: Set the values of ival1, ival2 and count | ||
711 | |||
712 | STARTTIMER: Start the timer with the actual values of ival1, ival2 | ||
713 | and count. Starting the timer leads simultaneously to emit a CAN frame. | ||
714 | |||
715 | TX_COUNTEVT: Create the message TX_EXPIRED when count expires | ||
716 | |||
717 | TX_ANNOUNCE: A change of data by the process is emitted immediately. | ||
718 | |||
719 | TX_CP_CAN_ID: Copies the can_id from the message header to each | ||
720 | subsequent frame in frames. This is intended as usage simplification. For | ||
721 | TX tasks the unique can_id from the message header may differ from the | ||
722 | can_id(s) stored for transmission in the subsequent struct can_frame(s). | ||
723 | |||
724 | RX_FILTER_ID: Filter by can_id alone, no frames required (nframes=0). | ||
725 | |||
726 | RX_CHECK_DLC: A change of the DLC leads to an RX_CHANGED. | ||
727 | |||
728 | RX_NO_AUTOTIMER: Prevent automatically starting the timeout monitor. | ||
729 | |||
730 | RX_ANNOUNCE_RESUME: If passed at RX_SETUP and a receive timeout occured, a | ||
731 | RX_CHANGED message will be generated when the (cyclic) receive restarts. | ||
732 | |||
733 | TX_RESET_MULTI_IDX: Reset the index for the multiple frame transmission. | ||
734 | |||
735 | RX_RTR_FRAME: Send reply for RTR-request (placed in op->frames[0]). | ||
736 | |||
737 | 4.2.3 Broadcast Manager transmission timers | ||
738 | |||
739 | Periodic transmission configurations may use up to two interval timers. | ||
740 | In this case the BCM sends a number of messages ('count') at an interval | ||
741 | 'ival1', then continuing to send at another given interval 'ival2'. When | ||
742 | only one timer is needed 'count' is set to zero and only 'ival2' is used. | ||
743 | When SET_TIMER and START_TIMER flag were set the timers are activated. | ||
744 | The timer values can be altered at runtime when only SET_TIMER is set. | ||
745 | |||
746 | 4.2.4 Broadcast Manager message sequence transmission | ||
747 | |||
748 | Up to 256 CAN frames can be transmitted in a sequence in the case of a cyclic | ||
749 | TX task configuration. The number of CAN frames is provided in the 'nframes' | ||
750 | element of the BCM message head. The defined number of CAN frames are added | ||
751 | as array to the TX_SETUP BCM configuration message. | ||
752 | |||
753 | /* create a struct to set up a sequence of four CAN frames */ | ||
754 | struct { | ||
755 | struct bcm_msg_head msg_head; | ||
756 | struct can_frame frame[4]; | ||
757 | } mytxmsg; | ||
758 | |||
759 | (..) | ||
760 | mytxmsg.nframes = 4; | ||
761 | (..) | ||
762 | |||
763 | write(s, &mytxmsg, sizeof(mytxmsg)); | ||
764 | |||
765 | With every transmission the index in the array of CAN frames is increased | ||
766 | and set to zero at index overflow. | ||
767 | |||
768 | 4.2.5 Broadcast Manager receive filter timers | ||
769 | |||
770 | The timer values ival1 or ival2 may be set to non-zero values at RX_SETUP. | ||
771 | When the SET_TIMER flag is set the timers are enabled: | ||
772 | |||
773 | ival1: Send RX_TIMEOUT when a received message is not received again within | ||
774 | the given time. When START_TIMER is set at RX_SETUP the timeout detection | ||
775 | is activated directly - even without a former CAN frame reception. | ||
776 | |||
777 | ival2: Throttle the received message rate down to the value of ival2. This | ||
778 | is useful to reduce messages for the application when the signal inside the | ||
779 | CAN frame is stateless as state changes within the ival2 periode may get | ||
780 | lost. | ||
781 | |||
782 | 4.2.6 Broadcast Manager multiplex message receive filter | ||
783 | |||
784 | To filter for content changes in multiplex message sequences an array of more | ||
785 | than one CAN frames can be passed in a RX_SETUP configuration message. The | ||
786 | data bytes of the first CAN frame contain the mask of relevant bits that | ||
787 | have to match in the subsequent CAN frames with the received CAN frame. | ||
788 | If one of the subsequent CAN frames is matching the bits in that frame data | ||
789 | mark the relevant content to be compared with the previous received content. | ||
790 | Up to 257 CAN frames (multiplex filter bit mask CAN frame plus 256 CAN | ||
791 | filters) can be added as array to the TX_SETUP BCM configuration message. | ||
792 | |||
793 | /* usually used to clear CAN frame data[] - beware of endian problems! */ | ||
794 | #define U64_DATA(p) (*(unsigned long long*)(p)->data) | ||
795 | |||
796 | struct { | ||
797 | struct bcm_msg_head msg_head; | ||
798 | struct can_frame frame[5]; | ||
799 | } msg; | ||
800 | |||
801 | msg.msg_head.opcode = RX_SETUP; | ||
802 | msg.msg_head.can_id = 0x42; | ||
803 | msg.msg_head.flags = 0; | ||
804 | msg.msg_head.nframes = 5; | ||
805 | U64_DATA(&msg.frame[0]) = 0xFF00000000000000ULL; /* MUX mask */ | ||
806 | U64_DATA(&msg.frame[1]) = 0x01000000000000FFULL; /* data mask (MUX 0x01) */ | ||
807 | U64_DATA(&msg.frame[2]) = 0x0200FFFF000000FFULL; /* data mask (MUX 0x02) */ | ||
808 | U64_DATA(&msg.frame[3]) = 0x330000FFFFFF0003ULL; /* data mask (MUX 0x33) */ | ||
809 | U64_DATA(&msg.frame[4]) = 0x4F07FC0FF0000000ULL; /* data mask (MUX 0x4F) */ | ||
810 | |||
811 | write(s, &msg, sizeof(msg)); | ||
812 | |||
596 | 4.3 connected transport protocols (SOCK_SEQPACKET) | 813 | 4.3 connected transport protocols (SOCK_SEQPACKET) |
597 | 4.4 unconnected transport protocols (SOCK_DGRAM) | 814 | 4.4 unconnected transport protocols (SOCK_DGRAM) |
598 | 815 | ||
diff --git a/Documentation/networking/dccp.txt b/Documentation/networking/dccp.txt index d718bc2ff1cf..bf5dbe3ab8c5 100644 --- a/Documentation/networking/dccp.txt +++ b/Documentation/networking/dccp.txt | |||
@@ -18,8 +18,8 @@ Introduction | |||
18 | Datagram Congestion Control Protocol (DCCP) is an unreliable, connection | 18 | Datagram Congestion Control Protocol (DCCP) is an unreliable, connection |
19 | oriented protocol designed to solve issues present in UDP and TCP, particularly | 19 | oriented protocol designed to solve issues present in UDP and TCP, particularly |
20 | for real-time and multimedia (streaming) traffic. | 20 | for real-time and multimedia (streaming) traffic. |
21 | It divides into a base protocol (RFC 4340) and plugable congestion control | 21 | It divides into a base protocol (RFC 4340) and pluggable congestion control |
22 | modules called CCIDs. Like plugable TCP congestion control, at least one CCID | 22 | modules called CCIDs. Like pluggable TCP congestion control, at least one CCID |
23 | needs to be enabled in order for the protocol to function properly. In the Linux | 23 | needs to be enabled in order for the protocol to function properly. In the Linux |
24 | implementation, this is the TCP-like CCID2 (RFC 4341). Additional CCIDs, such as | 24 | implementation, this is the TCP-like CCID2 (RFC 4341). Additional CCIDs, such as |
25 | the TCP-friendly CCID3 (RFC 4342), are optional. | 25 | the TCP-friendly CCID3 (RFC 4342), are optional. |
diff --git a/Documentation/networking/e100.txt b/Documentation/networking/e100.txt index 13a32124bca0..f862cf3aff34 100644 --- a/Documentation/networking/e100.txt +++ b/Documentation/networking/e100.txt | |||
@@ -103,7 +103,7 @@ Additional Configurations | |||
103 | PRO/100 Family of Adapters is e100. | 103 | PRO/100 Family of Adapters is e100. |
104 | 104 | ||
105 | As an example, if you install the e100 driver for two PRO/100 adapters | 105 | As an example, if you install the e100 driver for two PRO/100 adapters |
106 | (eth0 and eth1), add the following to a configuraton file in /etc/modprobe.d/ | 106 | (eth0 and eth1), add the following to a configuration file in /etc/modprobe.d/ |
107 | 107 | ||
108 | alias eth0 e100 | 108 | alias eth0 e100 |
109 | alias eth1 e100 | 109 | alias eth1 e100 |
diff --git a/Documentation/networking/ieee802154.txt b/Documentation/networking/ieee802154.txt index 09eb57329f11..22bbc7225f8e 100644 --- a/Documentation/networking/ieee802154.txt +++ b/Documentation/networking/ieee802154.txt | |||
@@ -4,7 +4,7 @@ | |||
4 | 4 | ||
5 | Introduction | 5 | Introduction |
6 | ============ | 6 | ============ |
7 | The IEEE 802.15.4 working group focuses on standartization of bottom | 7 | The IEEE 802.15.4 working group focuses on standardization of bottom |
8 | two layers: Medium Access Control (MAC) and Physical (PHY). And there | 8 | two layers: Medium Access Control (MAC) and Physical (PHY). And there |
9 | are mainly two options available for upper layers: | 9 | are mainly two options available for upper layers: |
10 | - ZigBee - proprietary protocol from ZigBee Alliance | 10 | - ZigBee - proprietary protocol from ZigBee Alliance |
@@ -66,7 +66,7 @@ net_device, with .type = ARPHRD_IEEE802154. Data is exchanged with socket family | |||
66 | code via plain sk_buffs. On skb reception skb->cb must contain additional | 66 | code via plain sk_buffs. On skb reception skb->cb must contain additional |
67 | info as described in the struct ieee802154_mac_cb. During packet transmission | 67 | info as described in the struct ieee802154_mac_cb. During packet transmission |
68 | the skb->cb is used to provide additional data to device's header_ops->create | 68 | the skb->cb is used to provide additional data to device's header_ops->create |
69 | function. Be aware, that this data can be overriden later (when socket code | 69 | function. Be aware that this data can be overridden later (when socket code |
70 | submits skb to qdisc), so if you need something from that cb later, you should | 70 | submits skb to qdisc), so if you need something from that cb later, you should |
71 | store info in the skb->data on your own. | 71 | store info in the skb->data on your own. |
72 | 72 | ||
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt index a46d78583ae1..3c12d9a7ed00 100644 --- a/Documentation/networking/ip-sysctl.txt +++ b/Documentation/networking/ip-sysctl.txt | |||
@@ -267,17 +267,6 @@ tcp_max_orphans - INTEGER | |||
267 | more aggressively. Let me to remind again: each orphan eats | 267 | more aggressively. Let me to remind again: each orphan eats |
268 | up to ~64K of unswappable memory. | 268 | up to ~64K of unswappable memory. |
269 | 269 | ||
270 | tcp_max_ssthresh - INTEGER | ||
271 | Limited Slow-Start for TCP with large congestion windows (cwnd) defined in | ||
272 | RFC3742. Limited slow-start is a mechanism to limit growth of the cwnd | ||
273 | on the region where cwnd is larger than tcp_max_ssthresh. TCP increases cwnd | ||
274 | by at most tcp_max_ssthresh segments, and by at least tcp_max_ssthresh/2 | ||
275 | segments per RTT when the cwnd is above tcp_max_ssthresh. | ||
276 | If TCP connection increased cwnd to thousands (or tens of thousands) segments, | ||
277 | and thousands of packets were being dropped during slow-start, you can set | ||
278 | tcp_max_ssthresh to improve performance for new TCP connection. | ||
279 | Default: 0 (off) | ||
280 | |||
281 | tcp_max_syn_backlog - INTEGER | 270 | tcp_max_syn_backlog - INTEGER |
282 | Maximal number of remembered connection requests, which have not | 271 | Maximal number of remembered connection requests, which have not |
283 | received an acknowledgment from connecting client. | 272 | received an acknowledgment from connecting client. |
@@ -451,7 +440,7 @@ tcp_fastopen - INTEGER | |||
451 | connect() to perform a TCP handshake automatically. | 440 | connect() to perform a TCP handshake automatically. |
452 | 441 | ||
453 | The values (bitmap) are | 442 | The values (bitmap) are |
454 | 1: Enables sending data in the opening SYN on the client. | 443 | 1: Enables sending data in the opening SYN on the client w/ MSG_FASTOPEN. |
455 | 2: Enables TCP Fast Open on the server side, i.e., allowing data in | 444 | 2: Enables TCP Fast Open on the server side, i.e., allowing data in |
456 | a SYN packet to be accepted and passed to the application before | 445 | a SYN packet to be accepted and passed to the application before |
457 | 3-way hand shake finishes. | 446 | 3-way hand shake finishes. |
@@ -464,7 +453,7 @@ tcp_fastopen - INTEGER | |||
464 | different ways of setting max_qlen without the TCP_FASTOPEN socket | 453 | different ways of setting max_qlen without the TCP_FASTOPEN socket |
465 | option. | 454 | option. |
466 | 455 | ||
467 | Default: 0 | 456 | Default: 1 |
468 | 457 | ||
469 | Note that the client & server side Fast Open flags (1 and 2 | 458 | Note that the client & server side Fast Open flags (1 and 2 |
470 | respectively) must be also enabled before the rest of flags can take | 459 | respectively) must be also enabled before the rest of flags can take |
@@ -588,9 +577,6 @@ tcp_limit_output_bytes - INTEGER | |||
588 | typical pfifo_fast qdiscs. | 577 | typical pfifo_fast qdiscs. |
589 | tcp_limit_output_bytes limits the number of bytes on qdisc | 578 | tcp_limit_output_bytes limits the number of bytes on qdisc |
590 | or device to reduce artificial RTT/cwnd and reduce bufferbloat. | 579 | or device to reduce artificial RTT/cwnd and reduce bufferbloat. |
591 | Note: For GSO/TSO enabled flows, we try to have at least two | ||
592 | packets in flight. Reducing tcp_limit_output_bytes might also | ||
593 | reduce the size of individual GSO packet (64KB being the max) | ||
594 | Default: 131072 | 580 | Default: 131072 |
595 | 581 | ||
596 | tcp_challenge_ack_limit - INTEGER | 582 | tcp_challenge_ack_limit - INTEGER |
diff --git a/Documentation/networking/l2tp.txt b/Documentation/networking/l2tp.txt index e63fc1f7bf87..c74434de2fa5 100644 --- a/Documentation/networking/l2tp.txt +++ b/Documentation/networking/l2tp.txt | |||
@@ -197,7 +197,7 @@ state information because the file format is subject to change. It is | |||
197 | implemented to provide extra debug information to help diagnose | 197 | implemented to provide extra debug information to help diagnose |
198 | problems.) Users should use the netlink API. | 198 | problems.) Users should use the netlink API. |
199 | 199 | ||
200 | /proc/net/pppol2tp is also provided for backwards compaibility with | 200 | /proc/net/pppol2tp is also provided for backwards compatibility with |
201 | the original pppol2tp driver. It lists information about L2TPv2 | 201 | the original pppol2tp driver. It lists information about L2TPv2 |
202 | tunnels and sessions only. Its use is discouraged. | 202 | tunnels and sessions only. Its use is discouraged. |
203 | 203 | ||
diff --git a/Documentation/networking/netdev-FAQ.txt b/Documentation/networking/netdev-FAQ.txt index d9112f01c44a..0fe1c6e0dbcd 100644 --- a/Documentation/networking/netdev-FAQ.txt +++ b/Documentation/networking/netdev-FAQ.txt | |||
@@ -4,23 +4,23 @@ Information you need to know about netdev | |||
4 | 4 | ||
5 | Q: What is netdev? | 5 | Q: What is netdev? |
6 | 6 | ||
7 | A: It is a mailing list for all network related linux stuff. This includes | 7 | A: It is a mailing list for all network-related Linux stuff. This includes |
8 | anything found under net/ (i.e. core code like IPv6) and drivers/net | 8 | anything found under net/ (i.e. core code like IPv6) and drivers/net |
9 | (i.e. hardware specific drivers) in the linux source tree. | 9 | (i.e. hardware specific drivers) in the Linux source tree. |
10 | 10 | ||
11 | Note that some subsystems (e.g. wireless drivers) which have a high volume | 11 | Note that some subsystems (e.g. wireless drivers) which have a high volume |
12 | of traffic have their own specific mailing lists. | 12 | of traffic have their own specific mailing lists. |
13 | 13 | ||
14 | The netdev list is managed (like many other linux mailing lists) through | 14 | The netdev list is managed (like many other Linux mailing lists) through |
15 | VGER ( http://vger.kernel.org/ ) and archives can be found below: | 15 | VGER ( http://vger.kernel.org/ ) and archives can be found below: |
16 | 16 | ||
17 | http://marc.info/?l=linux-netdev | 17 | http://marc.info/?l=linux-netdev |
18 | http://www.spinics.net/lists/netdev/ | 18 | http://www.spinics.net/lists/netdev/ |
19 | 19 | ||
20 | Aside from subsystems like that mentioned above, all network related linux | 20 | Aside from subsystems like that mentioned above, all network-related Linux |
21 | development (i.e. RFC, review, comments, etc) takes place on netdev. | 21 | development (i.e. RFC, review, comments, etc.) takes place on netdev. |
22 | 22 | ||
23 | Q: How do the changes posted to netdev make their way into linux? | 23 | Q: How do the changes posted to netdev make their way into Linux? |
24 | 24 | ||
25 | A: There are always two trees (git repositories) in play. Both are driven | 25 | A: There are always two trees (git repositories) in play. Both are driven |
26 | by David Miller, the main network maintainer. There is the "net" tree, | 26 | by David Miller, the main network maintainer. There is the "net" tree, |
@@ -35,7 +35,7 @@ A: There are always two trees (git repositories) in play. Both are driven | |||
35 | Q: How often do changes from these trees make it to the mainline Linus tree? | 35 | Q: How often do changes from these trees make it to the mainline Linus tree? |
36 | 36 | ||
37 | A: To understand this, you need to know a bit of background information | 37 | A: To understand this, you need to know a bit of background information |
38 | on the cadence of linux development. Each new release starts off with | 38 | on the cadence of Linux development. Each new release starts off with |
39 | a two week "merge window" where the main maintainers feed their new | 39 | a two week "merge window" where the main maintainers feed their new |
40 | stuff to Linus for merging into the mainline tree. After the two weeks, | 40 | stuff to Linus for merging into the mainline tree. After the two weeks, |
41 | the merge window is closed, and it is called/tagged "-rc1". No new | 41 | the merge window is closed, and it is called/tagged "-rc1". No new |
@@ -46,7 +46,7 @@ A: To understand this, you need to know a bit of background information | |||
46 | things are in a state of churn), and a week after the last vX.Y-rcN | 46 | things are in a state of churn), and a week after the last vX.Y-rcN |
47 | was done, the official "vX.Y" is released. | 47 | was done, the official "vX.Y" is released. |
48 | 48 | ||
49 | Relating that to netdev: At the beginning of the 2 week merge window, | 49 | Relating that to netdev: At the beginning of the 2-week merge window, |
50 | the net-next tree will be closed - no new changes/features. The | 50 | the net-next tree will be closed - no new changes/features. The |
51 | accumulated new content of the past ~10 weeks will be passed onto | 51 | accumulated new content of the past ~10 weeks will be passed onto |
52 | mainline/Linus via a pull request for vX.Y -- at the same time, | 52 | mainline/Linus via a pull request for vX.Y -- at the same time, |
@@ -59,16 +59,16 @@ A: To understand this, you need to know a bit of background information | |||
59 | IMPORTANT: Do not send new net-next content to netdev during the | 59 | IMPORTANT: Do not send new net-next content to netdev during the |
60 | period during which net-next tree is closed. | 60 | period during which net-next tree is closed. |
61 | 61 | ||
62 | Shortly after the two weeks have passed, (and vX.Y-rc1 is released) the | 62 | Shortly after the two weeks have passed (and vX.Y-rc1 is released), the |
63 | tree for net-next reopens to collect content for the next (vX.Y+1) release. | 63 | tree for net-next reopens to collect content for the next (vX.Y+1) release. |
64 | 64 | ||
65 | If you aren't subscribed to netdev and/or are simply unsure if net-next | 65 | If you aren't subscribed to netdev and/or are simply unsure if net-next |
66 | has re-opened yet, simply check the net-next git repository link above for | 66 | has re-opened yet, simply check the net-next git repository link above for |
67 | any new networking related commits. | 67 | any new networking-related commits. |
68 | 68 | ||
69 | The "net" tree continues to collect fixes for the vX.Y content, and | 69 | The "net" tree continues to collect fixes for the vX.Y content, and |
70 | is fed back to Linus at regular (~weekly) intervals. Meaning that the | 70 | is fed back to Linus at regular (~weekly) intervals. Meaning that the |
71 | focus for "net" is on stablilization and bugfixes. | 71 | focus for "net" is on stabilization and bugfixes. |
72 | 72 | ||
73 | Finally, the vX.Y gets released, and the whole cycle starts over. | 73 | Finally, the vX.Y gets released, and the whole cycle starts over. |
74 | 74 | ||
@@ -217,7 +217,7 @@ A: Attention to detail. Re-read your own work as if you were the | |||
217 | to why it happens, and then if necessary, explain why the fix proposed | 217 | to why it happens, and then if necessary, explain why the fix proposed |
218 | is the best way to get things done. Don't mangle whitespace, and as | 218 | is the best way to get things done. Don't mangle whitespace, and as |
219 | is common, don't mis-indent function arguments that span multiple lines. | 219 | is common, don't mis-indent function arguments that span multiple lines. |
220 | If it is your 1st patch, mail it to yourself so you can test apply | 220 | If it is your first patch, mail it to yourself so you can test apply |
221 | it to an unpatched tree to confirm infrastructure didn't mangle it. | 221 | it to an unpatched tree to confirm infrastructure didn't mangle it. |
222 | 222 | ||
223 | Finally, go back and read Documentation/SubmittingPatches to be | 223 | Finally, go back and read Documentation/SubmittingPatches to be |
diff --git a/Documentation/networking/netdevices.txt b/Documentation/networking/netdevices.txt index c7ecc7080494..0b1cf6b2a592 100644 --- a/Documentation/networking/netdevices.txt +++ b/Documentation/networking/netdevices.txt | |||
@@ -10,12 +10,12 @@ network devices. | |||
10 | struct net_device allocation rules | 10 | struct net_device allocation rules |
11 | ================================== | 11 | ================================== |
12 | Network device structures need to persist even after module is unloaded and | 12 | Network device structures need to persist even after module is unloaded and |
13 | must be allocated with kmalloc. If device has registered successfully, | 13 | must be allocated with alloc_netdev_mqs() and friends. |
14 | it will be freed on last use by free_netdev. This is required to handle the | 14 | If device has registered successfully, it will be freed on last use |
15 | pathologic case cleanly (example: rmmod mydriver </sys/class/net/myeth/mtu ) | 15 | by free_netdev(). This is required to handle the pathologic case cleanly |
16 | (example: rmmod mydriver </sys/class/net/myeth/mtu ) | ||
16 | 17 | ||
17 | There are routines in net_init.c to handle the common cases of | 18 | alloc_netdev_mqs()/alloc_netdev() reserve extra space for driver |
18 | alloc_etherdev, alloc_netdev. These reserve extra space for driver | ||
19 | private data which gets freed when the network device is freed. If | 19 | private data which gets freed when the network device is freed. If |
20 | separately allocated data is attached to the network device | 20 | separately allocated data is attached to the network device |
21 | (netdev_priv(dev)) then it is up to the module exit handler to free that. | 21 | (netdev_priv(dev)) then it is up to the module exit handler to free that. |
diff --git a/Documentation/networking/netlink_mmap.txt b/Documentation/networking/netlink_mmap.txt index 533378839546..b26122973525 100644 --- a/Documentation/networking/netlink_mmap.txt +++ b/Documentation/networking/netlink_mmap.txt | |||
@@ -45,7 +45,7 @@ processing. | |||
45 | 45 | ||
46 | Conversion of the reception path involves calling poll() on the file | 46 | Conversion of the reception path involves calling poll() on the file |
47 | descriptor, once the socket is readable the frames from the ring are | 47 | descriptor, once the socket is readable the frames from the ring are |
48 | processsed in order until no more messages are available, as indicated by | 48 | processed in order until no more messages are available, as indicated by |
49 | a status word in the frame header. | 49 | a status word in the frame header. |
50 | 50 | ||
51 | On kernel side, in order to make use of memory mapped I/O on receive, the | 51 | On kernel side, in order to make use of memory mapped I/O on receive, the |
@@ -56,7 +56,7 @@ Dumps of kernel databases automatically support memory mapped I/O. | |||
56 | 56 | ||
57 | Conversion of the transmit path involves changing message construction to | 57 | Conversion of the transmit path involves changing message construction to |
58 | use memory from the TX ring instead of (usually) a buffer declared on the | 58 | use memory from the TX ring instead of (usually) a buffer declared on the |
59 | stack and setting up the frame header approriately. Optionally poll() can | 59 | stack and setting up the frame header appropriately. Optionally poll() can |
60 | be used to wait for free frames in the TX ring. | 60 | be used to wait for free frames in the TX ring. |
61 | 61 | ||
62 | Structured and definitions for using memory mapped I/O are contained in | 62 | Structured and definitions for using memory mapped I/O are contained in |
@@ -231,7 +231,7 @@ Ring setup: | |||
231 | if (setsockopt(fd, NETLINK_TX_RING, &req, sizeof(req)) < 0) | 231 | if (setsockopt(fd, NETLINK_TX_RING, &req, sizeof(req)) < 0) |
232 | exit(1) | 232 | exit(1) |
233 | 233 | ||
234 | /* Calculate size of each invididual ring */ | 234 | /* Calculate size of each individual ring */ |
235 | ring_size = req.nm_block_nr * req.nm_block_size; | 235 | ring_size = req.nm_block_nr * req.nm_block_size; |
236 | 236 | ||
237 | /* Map RX/TX rings. The TX ring is located after the RX ring */ | 237 | /* Map RX/TX rings. The TX ring is located after the RX ring */ |
diff --git a/Documentation/networking/operstates.txt b/Documentation/networking/operstates.txt index 97694572338b..355c6d8ef8ad 100644 --- a/Documentation/networking/operstates.txt +++ b/Documentation/networking/operstates.txt | |||
@@ -89,8 +89,8 @@ packets. The name 'carrier' and the inversion are historical, think of | |||
89 | it as lower layer. | 89 | it as lower layer. |
90 | 90 | ||
91 | Note that for certain kind of soft-devices, which are not managing any | 91 | Note that for certain kind of soft-devices, which are not managing any |
92 | real hardware, there is possible to set this bit from userpsace. | 92 | real hardware, it is possible to set this bit from userspace. One |
93 | One should use TVL IFLA_CARRIER to do so. | 93 | should use TVL IFLA_CARRIER to do so. |
94 | 94 | ||
95 | netif_carrier_ok() can be used to query that bit. | 95 | netif_carrier_ok() can be used to query that bit. |
96 | 96 | ||
diff --git a/Documentation/networking/rxrpc.txt b/Documentation/networking/rxrpc.txt index 60d05eb77c64..b89bc82eed46 100644 --- a/Documentation/networking/rxrpc.txt +++ b/Documentation/networking/rxrpc.txt | |||
@@ -144,7 +144,7 @@ An overview of the RxRPC protocol: | |||
144 | (*) Calls use ACK packets to handle reliability. Data packets are also | 144 | (*) Calls use ACK packets to handle reliability. Data packets are also |
145 | explicitly sequenced per call. | 145 | explicitly sequenced per call. |
146 | 146 | ||
147 | (*) There are two types of positive acknowledgement: hard-ACKs and soft-ACKs. | 147 | (*) There are two types of positive acknowledgment: hard-ACKs and soft-ACKs. |
148 | A hard-ACK indicates to the far side that all the data received to a point | 148 | A hard-ACK indicates to the far side that all the data received to a point |
149 | has been received and processed; a soft-ACK indicates that the data has | 149 | has been received and processed; a soft-ACK indicates that the data has |
150 | been received but may yet be discarded and re-requested. The sender may | 150 | been received but may yet be discarded and re-requested. The sender may |
diff --git a/Documentation/networking/stmmac.txt b/Documentation/networking/stmmac.txt index 457b8bbafb08..cdd916da838d 100644 --- a/Documentation/networking/stmmac.txt +++ b/Documentation/networking/stmmac.txt | |||
@@ -160,7 +160,7 @@ Where: | |||
160 | o pmt: core has the embedded power module (optional). | 160 | o pmt: core has the embedded power module (optional). |
161 | o force_sf_dma_mode: force DMA to use the Store and Forward mode | 161 | o force_sf_dma_mode: force DMA to use the Store and Forward mode |
162 | instead of the Threshold. | 162 | instead of the Threshold. |
163 | o force_thresh_dma_mode: force DMA to use the Shreshold mode other than | 163 | o force_thresh_dma_mode: force DMA to use the Threshold mode other than |
164 | the Store and Forward mode. | 164 | the Store and Forward mode. |
165 | o riwt_off: force to disable the RX watchdog feature and switch to NAPI mode. | 165 | o riwt_off: force to disable the RX watchdog feature and switch to NAPI mode. |
166 | o fix_mac_speed: this callback is used for modifying some syscfg registers | 166 | o fix_mac_speed: this callback is used for modifying some syscfg registers |
@@ -175,7 +175,7 @@ Where: | |||
175 | registers. | 175 | registers. |
176 | o custom_cfg/custom_data: this is a custom configuration that can be passed | 176 | o custom_cfg/custom_data: this is a custom configuration that can be passed |
177 | while initializing the resources. | 177 | while initializing the resources. |
178 | o bsp_priv: another private poiter. | 178 | o bsp_priv: another private pointer. |
179 | 179 | ||
180 | For MDIO bus The we have: | 180 | For MDIO bus The we have: |
181 | 181 | ||
@@ -271,7 +271,7 @@ reset procedure etc). | |||
271 | o dwmac1000_dma.c: dma functions for the GMAC chip; | 271 | o dwmac1000_dma.c: dma functions for the GMAC chip; |
272 | o dwmac1000.h: specific header file for the GMAC; | 272 | o dwmac1000.h: specific header file for the GMAC; |
273 | o dwmac100_core: MAC 100 core and dma code; | 273 | o dwmac100_core: MAC 100 core and dma code; |
274 | o dwmac100_dma.c: dma funtions for the MAC chip; | 274 | o dwmac100_dma.c: dma functions for the MAC chip; |
275 | o dwmac1000.h: specific header file for the MAC; | 275 | o dwmac1000.h: specific header file for the MAC; |
276 | o dwmac_lib.c: generic DMA functions shared among chips; | 276 | o dwmac_lib.c: generic DMA functions shared among chips; |
277 | o enh_desc.c: functions for handling enhanced descriptors; | 277 | o enh_desc.c: functions for handling enhanced descriptors; |
@@ -364,4 +364,4 @@ Auto-negotiated Link Parter Ability. | |||
364 | 10) TODO: | 364 | 10) TODO: |
365 | o XGMAC is not supported. | 365 | o XGMAC is not supported. |
366 | o Complete the TBI & RTBI support. | 366 | o Complete the TBI & RTBI support. |
367 | o extened VLAN support for 3.70a SYNP GMAC. | 367 | o extend VLAN support for 3.70a SYNP GMAC. |
diff --git a/Documentation/networking/vortex.txt b/Documentation/networking/vortex.txt index 9a8041dcbb53..97282da82b75 100644 --- a/Documentation/networking/vortex.txt +++ b/Documentation/networking/vortex.txt | |||
@@ -68,7 +68,7 @@ Module parameters | |||
68 | 68 | ||
69 | There are several parameters which may be provided to the driver when | 69 | There are several parameters which may be provided to the driver when |
70 | its module is loaded. These are usually placed in /etc/modprobe.d/*.conf | 70 | its module is loaded. These are usually placed in /etc/modprobe.d/*.conf |
71 | configuretion files. Example: | 71 | configuration files. Example: |
72 | 72 | ||
73 | options 3c59x debug=3 rx_copybreak=300 | 73 | options 3c59x debug=3 rx_copybreak=300 |
74 | 74 | ||
@@ -178,7 +178,7 @@ max_interrupt_work=N | |||
178 | 178 | ||
179 | The driver's interrupt service routine can handle many receive and | 179 | The driver's interrupt service routine can handle many receive and |
180 | transmit packets in a single invocation. It does this in a loop. | 180 | transmit packets in a single invocation. It does this in a loop. |
181 | The value of max_interrupt_work governs how mnay times the interrupt | 181 | The value of max_interrupt_work governs how many times the interrupt |
182 | service routine will loop. The default value is 32 loops. If this | 182 | service routine will loop. The default value is 32 loops. If this |
183 | is exceeded the interrupt service routine gives up and generates a | 183 | is exceeded the interrupt service routine gives up and generates a |
184 | warning message "eth0: Too much work in interrupt". | 184 | warning message "eth0: Too much work in interrupt". |
diff --git a/Documentation/networking/x25-iface.txt b/Documentation/networking/x25-iface.txt index 78f662ee0622..7f213b556e85 100644 --- a/Documentation/networking/x25-iface.txt +++ b/Documentation/networking/x25-iface.txt | |||
@@ -105,7 +105,7 @@ reduced by the following measures or a combination thereof: | |||
105 | later. | 105 | later. |
106 | The lapb module interface was modified to support this. Its | 106 | The lapb module interface was modified to support this. Its |
107 | data_indication() method should now transparently pass the | 107 | data_indication() method should now transparently pass the |
108 | netif_rx() return value to the (lapb mopdule) caller. | 108 | netif_rx() return value to the (lapb module) caller. |
109 | (2) Drivers for kernel versions 2.2.x should always check the global | 109 | (2) Drivers for kernel versions 2.2.x should always check the global |
110 | variable netdev_dropping when a new frame is received. The driver | 110 | variable netdev_dropping when a new frame is received. The driver |
111 | should only call netif_rx() if netdev_dropping is zero. Otherwise | 111 | should only call netif_rx() if netdev_dropping is zero. Otherwise |