Lines Matching refs:attr
56 struct net_packet_attrs *attr) in net_test_get_skb() argument
66 size = attr->size + NET_TEST_PKT_SIZE; in net_test_get_skb()
68 if (attr->tcp) in net_test_get_skb()
73 if (attr->max_size && attr->max_size > size) in net_test_get_skb()
74 size = attr->max_size; in net_test_get_skb()
89 if (attr->tcp) in net_test_get_skb()
96 if (attr->src) in net_test_get_skb()
97 ether_addr_copy(ehdr->h_source, attr->src); in net_test_get_skb()
98 if (attr->dst) in net_test_get_skb()
99 ether_addr_copy(ehdr->h_dest, attr->dst); in net_test_get_skb()
103 if (attr->tcp) { in net_test_get_skb()
105 thdr->source = htons(attr->sport); in net_test_get_skb()
106 thdr->dest = htons(attr->dport); in net_test_get_skb()
109 uhdr->source = htons(attr->sport); in net_test_get_skb()
110 uhdr->dest = htons(attr->dport); in net_test_get_skb()
111 uhdr->len = htons(sizeof(*shdr) + sizeof(*uhdr) + attr->size); in net_test_get_skb()
112 if (attr->max_size) in net_test_get_skb()
113 uhdr->len = htons(attr->max_size - in net_test_get_skb()
121 if (attr->tcp) in net_test_get_skb()
125 iplen = sizeof(*ihdr) + sizeof(*shdr) + attr->size; in net_test_get_skb()
126 if (attr->tcp) in net_test_get_skb()
131 if (attr->max_size) in net_test_get_skb()
132 iplen = attr->max_size - sizeof(*ehdr); in net_test_get_skb()
136 ihdr->saddr = htonl(attr->ip_src); in net_test_get_skb()
137 ihdr->daddr = htonl(attr->ip_dst); in net_test_get_skb()
145 attr->id = net_test_next_id; in net_test_get_skb()
148 if (attr->size) { in net_test_get_skb()
149 void *payload = skb_put(skb, attr->size); in net_test_get_skb()
151 memset(payload, 0, attr->size); in net_test_get_skb()
154 if (attr->max_size && attr->max_size > skb->len) { in net_test_get_skb()
155 size_t pad_len = attr->max_size - skb->len; in net_test_get_skb()
163 if (attr->tcp) { in net_test_get_skb()
170 if (attr->bad_csum) { in net_test_get_skb()
269 struct net_packet_attrs *attr) in __net_test_loopback() argument
286 tpriv->packet = attr; in __net_test_loopback()
289 skb = net_test_get_skb(ndev, attr); in __net_test_loopback()
295 ret = dev_direct_xmit(skb, attr->queue_mapping); in __net_test_loopback()
303 if (!attr->timeout) in __net_test_loopback()
304 attr->timeout = NET_LB_TIMEOUT; in __net_test_loopback()
306 wait_for_completion_timeout(&tpriv->comp, attr->timeout); in __net_test_loopback()
348 struct net_packet_attrs attr = { }; in net_test_phy_loopback_udp() local
350 attr.dst = ndev->dev_addr; in net_test_phy_loopback_udp()
351 return __net_test_loopback(ndev, &attr); in net_test_phy_loopback_udp()
356 struct net_packet_attrs attr = { }; in net_test_phy_loopback_udp_mtu() local
358 attr.dst = ndev->dev_addr; in net_test_phy_loopback_udp_mtu()
359 attr.max_size = ndev->mtu; in net_test_phy_loopback_udp_mtu()
360 return __net_test_loopback(ndev, &attr); in net_test_phy_loopback_udp_mtu()
365 struct net_packet_attrs attr = { }; in net_test_phy_loopback_tcp() local
367 attr.dst = ndev->dev_addr; in net_test_phy_loopback_tcp()
368 attr.tcp = true; in net_test_phy_loopback_tcp()
369 return __net_test_loopback(ndev, &attr); in net_test_phy_loopback_tcp()
400 struct net_packet_attrs attr = { }; in net_test_phy_loopback_tcp_bad_csum() local
402 attr.dst = ndev->dev_addr; in net_test_phy_loopback_tcp_bad_csum()
403 attr.tcp = true; in net_test_phy_loopback_tcp_bad_csum()
404 attr.bad_csum = true; in net_test_phy_loopback_tcp_bad_csum()
405 return __net_test_loopback(ndev, &attr); in net_test_phy_loopback_tcp_bad_csum()