Searched refs:flow (Results 1 - 25 of 46) sorted by relevance

12

/net/sched/
H A Dsch_atm.c22 * Each class maps the flow(s) it is handling to a given VC. Multiple classes
37 * - should lock the flow while there is data in the queue (?)
55 struct atm_flow_data *excess; /* flow for excess traffic;
68 /* ------------------------- Class/flow operations ------------------------- */
73 struct atm_flow_data *flow; local
75 list_for_each_entry(flow, &p->flows, list) {
76 if (flow->classid == classid)
77 return flow;
86 struct atm_flow_data *flow = (struct atm_flow_data *)arg; local
88 pr_debug("atm_tc_graft(sch %p,[qdisc %p],flow
103 struct atm_flow_data *flow = (struct atm_flow_data *)cl; local
112 struct atm_flow_data *flow; local
136 struct atm_flow_data *flow = (struct atm_flow_data *)cl; local
189 struct atm_flow_data *flow = (struct atm_flow_data *)*arg; local
309 struct atm_flow_data *flow = (struct atm_flow_data *)arg; local
333 struct atm_flow_data *flow; local
352 struct atm_flow_data *flow = (struct atm_flow_data *)cl; local
363 struct atm_flow_data *flow; local
454 struct atm_flow_data *flow; local
525 struct atm_flow_data *flow; local
561 struct atm_flow_data *flow; local
572 struct atm_flow_data *flow, *tmp; local
590 struct atm_flow_data *flow = (struct atm_flow_data *)cl; local
638 struct atm_flow_data *flow = (struct atm_flow_data *)arg; local
[all...]
H A Dsch_fq_codel.c35 * Each flow has a CoDel managed queue.
39 * For a given flow, packets are not reordered (CoDel uses a FIFO)
42 * Low memory footprint (64 bytes per flow)
50 u32 dropped; /* number of drops (or ECN marks) on this flow */
122 static inline struct sk_buff *dequeue_head(struct fq_codel_flow *flow) argument
124 struct sk_buff *skb = flow->head;
126 flow->head = skb->next;
131 /* add skb to flow queue (tail add) */
132 static inline void flow_queue_add(struct fq_codel_flow *flow, argument
135 if (flow
148 struct fq_codel_flow *flow; local
177 struct fq_codel_flow *flow; local
223 struct fq_codel_flow *flow; local
239 struct fq_codel_flow *flow; local
415 struct fq_codel_flow *flow = q->flows + i; local
527 const struct fq_codel_flow *flow = &q->flows[idx]; local
[all...]
H A Dsch_hhf.c20 * buckets. Initially, a new flow starts as non-heavy-hitter. Once classified
37 * - For a heavy-hitter flow: *all* of its k array counters must be large.
38 * - For a non-heavy-hitter flow: some of its k array counters can be large
59 * Once a flow is classified as heavy-hitter, we also save its per-flow state
60 * in an exact-matching flow table so that its subsequent packets can be
66 * - If the flow-id of p (e.g., TCP 5-tuple) is already in the exact-matching
67 * heavy-hitter flow table, denoted table T, then send p to the heavy-hitter
70 * + If F decides that p belongs to a non-heavy-hitter flow, then send p
72 * + Otherwise, if F decides that p belongs to a new heavy-hitter flow,
200 struct hh_flow_state *flow, *next; local
231 struct hh_flow_state *flow; local
268 struct hh_flow_state *flow; local
511 struct hh_flow_state *flow, *next; local
[all...]
H A Dcls_flow.c2 * net/sched/cls_flow.c Generic flow classifier
69 static u32 flow_get_src(const struct sk_buff *skb, const struct flow_keys *flow) argument
71 if (flow->src)
72 return ntohl(flow->src);
76 static u32 flow_get_dst(const struct sk_buff *skb, const struct flow_keys *flow) argument
78 if (flow->dst)
79 return ntohl(flow->dst);
83 static u32 flow_get_proto(const struct sk_buff *skb, const struct flow_keys *flow) argument
85 return flow->ip_proto;
88 static u32 flow_get_proto_src(const struct sk_buff *skb, const struct flow_keys *flow) argument
96 flow_get_proto_dst(const struct sk_buff *skb, const struct flow_keys *flow) argument
145 flow_get_nfct_src(const struct sk_buff *skb, const struct flow_keys *flow) argument
157 flow_get_nfct_dst(const struct sk_buff *skb, const struct flow_keys *flow) argument
169 flow_get_nfct_proto_src(const struct sk_buff *skb, const struct flow_keys *flow) argument
176 flow_get_nfct_proto_dst(const struct sk_buff *skb, const struct flow_keys *flow) argument
224 flow_key_get(struct sk_buff *skb, int key, struct flow_keys *flow) argument
[all...]
H A Dsch_fq.c2 * net/sched/sch_fq.c Fair Queue Packet Scheduler (per flow pacing)
14 * All packets belonging to a socket are considered as a 'flow'.
26 * - lookup one RB tree (out of 1024 or more) to find the flow.
27 * If non existent flow, create it, add it to the tree.
28 * Add skb to the per flow list of skb (fifo).
32 * Note : When a flow becomes empty, we do not immediately remove it from
34 * or SLAB cache will reuse socket for another flow)
57 * Per flow structure, dynamically allocated
60 struct sk_buff *head; /* list of skbs for this flow : first skb */
63 unsigned long age; /* jiffies when flow wa
154 fq_flow_add_tail(struct fq_flow_head *head, struct fq_flow *flow) argument
285 fq_dequeue_head(struct Qdisc *sch, struct fq_flow *flow) argument
319 flow_queue_add(struct fq_flow *flow, struct sk_buff *skb) argument
[all...]
H A DKconfig20 need a certain minimum data flow rate, or if you need to limit the
21 maximum data flow rate for traffic which matches specified criteria.
93 the flow(s) it is handling to a given virtual circuit.
232 tristate "CHOose and Keep responsive flow scheduler (CHOKE)"
280 FQ does flow separation, and is able to respect pacing requirements
330 packet flow.
423 request a minimum and maximum data flow rate for a connection; this
437 request a minimum and maximum data flow rate for a connection; this
/net/openvswitch/
H A Dflow_table.c19 #include "flow.h"
78 struct sw_flow *flow; local
82 flow = kmem_cache_alloc(flow_cache, GFP_KERNEL);
83 if (!flow)
86 flow->sf_acts = NULL;
87 flow->mask = NULL;
88 flow->stats_last_writer = NUMA_NO_NODE;
98 RCU_INIT_POINTER(flow->stats[0], stats);
102 RCU_INIT_POINTER(flow->stats[node], NULL);
104 return flow;
138 flow_free(struct sw_flow *flow) argument
152 struct sw_flow *flow = container_of(rcu, struct sw_flow, rcu); local
157 ovs_flow_free(struct sw_flow *flow, bool deferred) argument
235 struct sw_flow *flow; local
263 struct sw_flow *flow; local
294 table_instance_insert(struct table_instance *ti, struct sw_flow *flow) argument
313 struct sw_flow *flow; local
393 flow_cmp_masked_key(const struct sw_flow *flow, const struct sw_flow_key *key, int key_start, int key_end) argument
400 ovs_flow_cmp_unmasked_key(const struct sw_flow *flow, struct sw_flow_match *match) argument
414 struct sw_flow *flow; local
439 struct sw_flow *flow; local
464 struct sw_flow *flow; local
510 ovs_flow_tbl_remove(struct flow_table *table, struct sw_flow *flow) argument
562 flow_mask_insert(struct flow_table *tbl, struct sw_flow *flow, struct sw_flow_mask *new) argument
585 ovs_flow_tbl_insert(struct flow_table *table, struct sw_flow *flow, struct sw_flow_mask *mask) argument
[all...]
H A Dflow_table.h37 #include "flow.h"
68 int ovs_flow_tbl_insert(struct flow_table *table, struct sw_flow *flow,
70 void ovs_flow_tbl_remove(struct flow_table *table, struct sw_flow *flow);
81 bool ovs_flow_cmp_unmasked_key(const struct sw_flow *flow,
H A DMakefile11 flow.o \
H A Ddatapath.c55 #include "flow.h"
100 * operations on vports, etc.), Writes to other state (flow table
245 struct sw_flow *flow; local
252 /* Look up flow. */
253 flow = ovs_flow_tbl_lookup_stats(&dp->table, key, &n_mask_hit);
254 if (unlikely(!flow)) {
271 OVS_CB(skb)->flow = flow;
273 ovs_flow_stats_update(OVS_CB(skb)->flow, key->tp.flags, skb);
338 /* The initial flow ke
512 struct sw_flow *flow; local
674 ovs_flow_cmd_fill_info(const struct sw_flow *flow, int dp_ifindex, struct sk_buff *skb, u32 portid, u32 seq, u32 flags, u8 cmd) argument
783 ovs_flow_cmd_build_info(const struct sw_flow *flow, int dp_ifindex, struct genl_info *info, u8 cmd, bool always) argument
807 struct sw_flow *flow, *new_flow; local
969 struct sw_flow *flow; local
1069 struct sw_flow *flow; local
1117 struct sw_flow *flow; local
1190 struct sw_flow *flow; local
[all...]
H A Dflow.c48 #include "flow.h"
66 void ovs_flow_stats_update(struct sw_flow *flow, __be16 tcp_flags, argument
72 stats = rcu_dereference(flow->stats[node]);
78 if (node == 0 && unlikely(flow->stats_last_writer != node))
79 flow->stats_last_writer = node;
81 stats = rcu_dereference(flow->stats[0]); /* Pre-allocated. */
87 if (unlikely(flow->stats_last_writer != node)) {
93 if (likely(flow->stats_last_writer != NUMA_NO_NODE)
94 && likely(!rcu_access_pointer(flow->stats[node]))) {
110 rcu_assign_pointer(flow
128 ovs_flow_stats_get(const struct sw_flow *flow, struct ovs_flow_stats *ovs_stats, unsigned long *used, __be16 *tcp_flags) argument
157 ovs_flow_stats_clear(struct sw_flow *flow) argument
[all...]
H A Ddatapath.h29 #include "flow.h"
41 * @n_hit: Number of received packets for which a matching flow was found in
42 * the flow table.
43 * @n_miss: Number of received packets that had no matching flow in the flow
46 * @n_lost: Number of received packets that had no matching flow in the flow
49 * @n_mask_hit: Number of masks looked up for flow match.
62 * struct datapath - datapath for flow-based packet switching
65 * @table: flow tabl
104 struct sw_flow *flow; member in struct:ovs_skb_cb
[all...]
H A DKconfig12 programmatic extension and flow-based control of the network. This
/net/ipv4/netfilter/
H A Dipt_rpfilter.c79 struct flowi4 flow; local
93 flow.flowi4_iif = LOOPBACK_IFINDEX;
94 flow.daddr = iph->saddr;
95 flow.saddr = rpfilter_get_saddr(iph->daddr);
96 flow.flowi4_oif = 0;
97 flow.flowi4_mark = info->flags & XT_RPFILTER_VALID_MARK ? skb->mark : 0;
98 flow.flowi4_tos = RT_TOS(iph->tos);
99 flow.flowi4_scope = RT_SCOPE_UNIVERSE;
101 return rpfilter_lookup_reverse(&flow, par->in, info->flags) ^ invert;
/net/core/
H A Dflow_dissector.c19 * Equivalent to : flow->src = iph->saddr;
20 * flow->dst = iph->daddr;
22 static void iph_to_flow_copy_addrs(struct flow_keys *flow, const struct iphdr *iph) argument
24 BUILD_BUG_ON(offsetof(typeof(*flow), dst) !=
25 offsetof(typeof(*flow), src) + sizeof(flow->src));
26 memcpy(&flow->src, &iph->saddr, sizeof(flow->src) + sizeof(flow->dst));
65 * @skb: sk_buff to extract the flow fro
74 __skb_flow_dissect(const struct sk_buff *skb, struct flow_keys *flow, void *data, __be16 proto, int nhoff, int hlen) argument
[all...]
H A DMakefile14 obj-$(CONFIG_XFRM) += flow.o
H A Dpktgen.c90 * Included flow support. 030802 ANK.
236 /* flow flag bits */
237 #define F_INIT (1<<0) /* flow has been initialized */
385 unsigned int curfl; /* current sequenced flow (state)*/
2236 static inline int f_seen(const struct pktgen_dev *pkt_dev, int flow) argument
2238 return !!(pkt_dev->flows[flow].flags & F_INIT);
2243 int flow = pkt_dev->curfl; local
2246 if (pkt_dev->flows[flow].count >= pkt_dev->lflow) {
2248 pkt_dev->flows[flow].count = 0;
2249 pkt_dev->flows[flow]
2273 get_ipsec_sa(struct pktgen_dev *pkt_dev, int flow) argument
2332 int flow = 0; local
[all...]
/net/netfilter/
H A Dxt_addrtype.c40 struct flowi6 flow; local
45 memset(&flow, 0, sizeof(flow));
46 flow.daddr = *addr;
48 flow.flowi6_oif = dev->ifindex;
62 flowi6_to_flowi(&flow), false);
/net/caif/
H A Dchnl_net.c169 static void chnl_flowctrl_cb(struct cflayer *layr, enum caif_ctrlcmd flow, argument
173 pr_debug("NET flowctrl func called flow: %s\n",
174 flow == CAIF_CTRLCMD_FLOW_ON_IND ? "ON" :
175 flow == CAIF_CTRLCMD_INIT_RSP ? "INIT" :
176 flow == CAIF_CTRLCMD_FLOW_OFF_IND ? "OFF" :
177 flow == CAIF_CTRLCMD_DEINIT_RSP ? "CLOSE/DEINIT" :
178 flow == CAIF_CTRLCMD_INIT_FAIL_RSP ? "OPEN_FAIL" :
179 flow == CAIF_CTRLCMD_REMOTE_SHUTDOWN_IND ?
184 switch (flow) {
234 pr_debug("dropping packets flow of
[all...]
/net/decnet/
H A Ddn_timer.c27 #include <net/flow.h>
/net/irda/irlan/
H A Dirlan_eth.c79 * have now been fixed, and we can propagate flow control properly
82 * Without flow control, the Tx Queue is 14 (ttp) + 0 (dev) = 14
83 * With flow control, the Tx Queue is 7 (ttp) + 4 (dev) = 11
259 * Do flow control between IP/Ethernet and IrLAN/IrTTP. This is done by
262 * The IrDA link layer has the advantage to have flow control, and
270 void irlan_eth_flow_indication(void *instance, void *sap, LOCAL_FLOW flow) argument
284 IRDA_DEBUG(0, "%s() : flow %s ; running %d\n", __func__,
285 flow == FLOW_STOP ? "FLOW_STOP" : "FLOW_START",
288 switch (flow) {
/net/ipv6/netfilter/
H A Dip6t_REJECT.c27 #include <net/flow.h>
/net/decnet/netfilter/
H A Ddn_rtmsg.c26 #include <net/flow.h>
/net/irda/ircomm/
H A Dircomm_tty_attach.c325 IRDA_DEBUG(2, "%s(), flow-control = %d\n", __func__ ,
417 self->flow = FLOW_STOP;
508 self->flow = FLOW_START;
539 self->flow = FLOW_START;
575 * flow-control, then declare the hardware as running. Otherwise we
H A Dircomm_core.c493 * Function ircomm_flow_request (self, flow)
498 void ircomm_flow_request(struct ircomm_cb *self, LOCAL_FLOW flow) argument
508 irttp_flow_request(self->tsap, flow);

Completed in 260 milliseconds

12