···151#include <asm/timex.h>152153154-#define VERSION "pktgen v2.61: Packet Generator for packet performance testing.\n"155156/* #define PG_DEBUG(a) a */157#define PG_DEBUG(a) ···1921 struct iphdr *iph;1922 struct pktgen_hdr *pgh = NULL;1923000001924 skb = alloc_skb(pkt_dev->cur_pkt_size + 64 + 16, GFP_ATOMIC);1925 if (!skb) {1926 sprintf(pkt_dev->result, "No memory");···1938 eth = (__u8 *) skb_push(skb, 14);1939 iph = (struct iphdr *)skb_put(skb, sizeof(struct iphdr));1940 udph = (struct udphdr *)skb_put(skb, sizeof(struct udphdr));1941-1942- /* Update any of the values, used when we're incrementing various1943- * fields.1944- */1945- mod_cur_headers(pkt_dev);19461947 memcpy(eth, pkt_dev->hh, 12);1948 *(u16*)ð[12] = __constant_htons(ETH_P_IP);···2192 int datalen;2193 struct ipv6hdr *iph;2194 struct pktgen_hdr *pgh = NULL;2195-000002196 skb = alloc_skb(pkt_dev->cur_pkt_size + 64 + 16, GFP_ATOMIC);2197 if (!skb) {2198 sprintf(pkt_dev->result, "No memory");···2211 iph = (struct ipv6hdr *)skb_put(skb, sizeof(struct ipv6hdr));2212 udph = (struct udphdr *)skb_put(skb, sizeof(struct udphdr));22132214-2215- /* Update any of the values, used when we're incrementing various2216- * fields.2217- */2218- mod_cur_headers(pkt_dev);2219-2220-2221 memcpy(eth, pkt_dev->hh, 12);2222 *(u16*)ð[12] = __constant_htons(ETH_P_IPV6);2223-2224-2225 datalen = pkt_dev->cur_pkt_size-14- 2226 sizeof(struct ipv6hdr)-sizeof(struct udphdr); /* Eth + IPh + UDPh */2227
···151#include <asm/timex.h>152153154+#define VERSION "pktgen v2.62: Packet Generator for packet performance testing.\n"155156/* #define PG_DEBUG(a) a */157#define PG_DEBUG(a) ···1921 struct iphdr *iph;1922 struct pktgen_hdr *pgh = NULL;19231924+ /* Update any of the values, used when we're incrementing various1925+ * fields.1926+ */1927+ mod_cur_headers(pkt_dev);1928+1929 skb = alloc_skb(pkt_dev->cur_pkt_size + 64 + 16, GFP_ATOMIC);1930 if (!skb) {1931 sprintf(pkt_dev->result, "No memory");···1933 eth = (__u8 *) skb_push(skb, 14);1934 iph = (struct iphdr *)skb_put(skb, sizeof(struct iphdr));1935 udph = (struct udphdr *)skb_put(skb, sizeof(struct udphdr));0000019361937 memcpy(eth, pkt_dev->hh, 12);1938 *(u16*)ð[12] = __constant_htons(ETH_P_IP);···2192 int datalen;2193 struct ipv6hdr *iph;2194 struct pktgen_hdr *pgh = NULL;2195+2196+ /* Update any of the values, used when we're incrementing various2197+ * fields.2198+ */2199+ mod_cur_headers(pkt_dev);2200+2201 skb = alloc_skb(pkt_dev->cur_pkt_size + 64 + 16, GFP_ATOMIC);2202 if (!skb) {2203 sprintf(pkt_dev->result, "No memory");···2206 iph = (struct ipv6hdr *)skb_put(skb, sizeof(struct ipv6hdr));2207 udph = (struct udphdr *)skb_put(skb, sizeof(struct udphdr));220800000002209 memcpy(eth, pkt_dev->hh, 12);2210 *(u16*)ð[12] = __constant_htons(ETH_P_IPV6);2211+02212 datalen = pkt_dev->cur_pkt_size-14- 2213 sizeof(struct ipv6hdr)-sizeof(struct udphdr); /* Eth + IPh + UDPh */2214
+1-2
net/ipv4/Kconfig
···448config TCP_CONG_ADVANCED449 bool "TCP: advanced congestion control"450 depends on INET451- default y452 ---help---453 Support for selection of various TCP congestion control454 modules.···548endmenu549550config TCP_CONG_BIC551- boolean552 depends on !TCP_CONG_ADVANCED553 default y554
···448config TCP_CONG_ADVANCED449 bool "TCP: advanced congestion control"450 depends on INET0451 ---help---452 Support for selection of various TCP congestion control453 modules.···549endmenu550551config TCP_CONG_BIC552+ tristate553 depends on !TCP_CONG_ADVANCED554 default y555