Lines Matching defs:tuple

95 	struct arfs_tuple	tuple;
517 struct arfs_tuple *tuple = &arfs_rule->tuple;
536 ntohs(tuple->etype));
537 arfs_table = arfs_get_table(arfs, tuple->ip_proto, tuple->etype);
540 tuple->etype, tuple->ip_proto);
546 if (tuple->ip_proto == IPPROTO_TCP) {
552 ntohs(tuple->dst_port));
554 ntohs(tuple->src_port));
561 ntohs(tuple->dst_port));
563 ntohs(tuple->src_port));
565 if (tuple->etype == htons(ETH_P_IP)) {
568 &tuple->src_ipv4,
572 &tuple->dst_ipv4,
581 &tuple->src_ipv6,
585 &tuple->dst_ipv6,
605 tuple->ip_proto, err);
663 struct arfs_tuple *tuple;
675 tuple = &rule->tuple;
676 tuple->etype = fk->basic.n_proto;
677 tuple->ip_proto = fk->basic.ip_proto;
678 if (tuple->etype == htons(ETH_P_IP)) {
679 tuple->src_ipv4 = fk->addrs.v4addrs.src;
680 tuple->dst_ipv4 = fk->addrs.v4addrs.dst;
682 memcpy(&tuple->src_ipv6, &fk->addrs.v6addrs.src,
684 memcpy(&tuple->dst_ipv6, &fk->addrs.v6addrs.dst,
687 tuple->src_port = fk->ports.src;
688 tuple->dst_port = fk->ports.dst;
694 arfs_hash_bucket(arfs_t, tuple->src_port,
695 tuple->dst_port));
699 static bool arfs_cmp(const struct arfs_tuple *tuple, const struct flow_keys *fk)
701 if (tuple->src_port != fk->ports.src || tuple->dst_port != fk->ports.dst)
703 if (tuple->etype != fk->basic.n_proto)
705 if (tuple->etype == htons(ETH_P_IP))
706 return tuple->src_ipv4 == fk->addrs.v4addrs.src &&
707 tuple->dst_ipv4 == fk->addrs.v4addrs.dst;
708 if (tuple->etype == htons(ETH_P_IPV6))
709 return !memcmp(&tuple->src_ipv6, &fk->addrs.v6addrs.src,
711 !memcmp(&tuple->dst_ipv6, &fk->addrs.v6addrs.dst,
724 if (arfs_cmp(&arfs_rule->tuple, fk))