| /linux/net/netfilter/ |
| H A D | nf_conntrack_proto_gre.c | 3 * Connection tracking protocol helper module for GRE. 5 * GRE is a generic encapsulation protocol, which is generally not very 11 * GRE is defined in RFC 1701 and RFC 1702, as well as RFC 2784 13 * PPTP is built on top of a modified version of GRE, and has a mandatory 15 * field in plain GRE. 36 #include <net/gre.h> 57 return &net->ct.nf_ct_proto.gre; in gre_pernet() 79 key = km->tuple.src.u.gre.key; in gre_keymap_lookup() 152 /* gre hdr info to tuple */ 162 /* first only delinearize old RFC1701 GRE header */ in gre_pkt_to_tuple() [all …]
|
| H A D | nf_conntrack_pptp.c | 8 * GRE is defined in RFC 1701 and RFC 1702. Documentation of 96 /* increase timeout of GRE data channel conntrack entry */ in pptp_expectfn() 97 ct->proto.gre.timeout = PPTP_GRE_TIMEOUT; in pptp_expectfn() 98 ct->proto.gre.stream_timeout = PPTP_GRE_STREAM_TIMEOUT; in pptp_expectfn() 143 sibling->proto.gre.timeout = 0; in destroy_sibling_or_exp() 144 sibling->proto.gre.stream_timeout = 0; in destroy_sibling_or_exp() 160 /* timeout GRE data connections */ 172 t.src.u.gre.key = ct_pptp_info->pns_call_id; in pptp_destroy_siblings() 173 t.dst.u.gre.key = ct_pptp_info->pac_call_id; in pptp_destroy_siblings() 180 t.src.u.gre.key = ct_pptp_info->pac_call_id; in pptp_destroy_siblings() [all …]
|
| /linux/tools/testing/selftests/net/forwarding/ |
| H A D | ip6gre_hier.sh | 4 # Test IP-in-IP GRE tunnels without key. 39 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6" 40 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6" 45 test_mtu_change gre 52 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 (new remote)" 53 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 (new remote)" 57 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 (old remote)" 58 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 (old remote)"
|
| H A D | ip6gre_hier_key.sh | 4 # Test IP-in-IP GRE tunnels without key. 39 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 with key" 40 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 with key" 45 test_mtu_change gre 52 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 with key (new remote)" 53 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 with key (new remote)" 57 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 with key (old remote)" 58 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 with key (old remote)"
|
| H A D | ip6gre_flat_keys.sh | 4 # Test IP-in-IP GRE tunnel with keys. 39 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 with ikey/okey" 40 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 with ikey/okey" 45 test_mtu_change gre 52 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 with ikey/okey (new remote)" 53 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 with ikey/okey (new remote)" 57 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 with ikey/okey (old remote)" 58 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 with ikey/okey (old remote)"
|
| H A D | ip6gre_hier_keys.sh | 4 # Test IP-in-IP GRE tunnels without key. 39 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 with ikey/okey" 40 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 with ikey/okey" 45 test_mtu_change gre 52 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 with ikey/okey (new remote)" 53 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 with ikey/okey (new remote)" 57 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 with ikey/okey (old remote)" 58 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 with ikey/okey (old remote)"
|
| H A D | ip6gre_flat.sh | 4 # Test IP-in-IP GRE tunnel without key. 39 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6" 40 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6" 52 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 (new remote)" 53 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 (new remote)" 57 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 (old remote)" 58 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 (old remote)"
|
| H A D | ip6gre_flat_key.sh | 4 # Test IP-in-IP GRE tunnel with key. 39 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 with key" 40 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 with key" 52 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 with key (new remote)" 53 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 with key (new remote)" 57 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 with key (old remote)" 58 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 with key (old remote)"
|
| H A D | ipip_flat_gre_key.sh | 4 # Test IP-in-IP GRE tunnel with key. 29 sw1_flat_create gre $ol1 $ul1 key 233 30 sw2_flat_create gre $ol2 $ul2 key 233 37 ping_test $h1 192.0.2.18 " gre flat with key" 42 test_mtu_change gre
|
| H A D | ipip_flat_gre.sh | 4 # Test IP-in-IP GRE tunnel without key. 29 sw1_flat_create gre $ol1 $ul1 30 sw2_flat_create gre $ol2 $ul2 37 ping_test $h1 192.0.2.18 " gre flat" 42 test_mtu_change gre
|
| H A D | ipip_hier_gre.sh | 4 # Test IP-in-IP GRE tunnels without key. 29 sw1_hierarchical_create gre $ol1 $ul1 30 sw2_hierarchical_create gre $ol2 $ul2 37 ping_test $h1 192.0.2.18 " gre hierarchical" 42 test_mtu_change gre
|
| H A D | ipip_hier_gre_key.sh | 4 # Test IP-in-IP GRE tunnels without key. 29 sw1_hierarchical_create gre $ol1 $ul1 key 22 30 sw2_hierarchical_create gre $ol2 $ul2 key 22 37 ping_test $h1 192.0.2.18 " gre hierarchical with key" 42 test_mtu_change gre
|
| H A D | ipip_flat_gre_keys.sh | 4 # Test IP-in-IP GRE tunnel with key. 29 sw1_flat_create gre $ol1 $ul1 ikey 111 okey 222 30 sw2_flat_create gre $ol2 $ul2 ikey 222 okey 111 37 ping_test $h1 192.0.2.18 " gre flat with ikey/okey" 42 test_mtu_change gre
|
| H A D | ipip_hier_gre_keys.sh | 4 # Test IP-in-IP GRE tunnels without key. 29 sw1_hierarchical_create gre $ol1 $ul1 ikey 111 okey 222 30 sw2_hierarchical_create gre $ol2 $ul2 ikey 222 okey 111 37 ping_test $h1 192.0.2.18 " gre hierarchical with ikey/okey" 42 test_mtu_change gre
|
| H A D | gre_multipath.sh | 4 # Test traffic distribution when a wECMP route forwards traffic to two GRE 18 # | + g1a (gre) + g1b (gre) | 43 # | + g2a (gre) | + g2b (gre) | | 85 tunnel_create g1a gre 192.0.2.65 192.0.2.66 tos inherit dev v$ol1 89 tunnel_create g1b gre 192.0.2.81 192.0.2.82 tos inherit dev v$ol1 123 tunnel_create g2a gre 192.0.2.66 192.0.2.65 tos inherit dev v$ol2 127 tunnel_create g2b gre 192.0.2.82 192.0.2.81 tos inherit dev v$ol2
|
| H A D | gre_multipath_nh_res.sh | 4 # Test traffic distribution when a wECMP route forwards traffic to two GRE 20 # | + g1a (gre) + g1b (gre) | 45 # | + g2a (gre) | + g2b (gre) | | 93 tunnel_create g1a gre 192.0.2.65 192.0.2.66 tos inherit dev v$ol1 97 tunnel_create g1b gre 192.0.2.81 192.0.2.82 tos inherit dev v$ol1 140 tunnel_create g2a gre 192.0.2.66 192.0.2.65 tos inherit dev v$ol2 144 tunnel_create g2b gre 192.0.2.82 192.0.2.81 tos inherit dev v$ol2
|
| H A D | gre_multipath_nh.sh | 4 # Test traffic distribution when a wECMP route forwards traffic to two GRE 20 # | + g1a (gre) + g1b (gre) | 45 # | + g2a (gre) | + g2b (gre) | | 93 tunnel_create g1a gre 192.0.2.65 192.0.2.66 tos inherit dev v$ol1 97 tunnel_create g1b gre 192.0.2.81 192.0.2.82 tos inherit dev v$ol1 139 tunnel_create g2a gre 192.0.2.66 192.0.2.65 tos inherit dev v$ol2 143 tunnel_create g2b gre 192.0.2.82 192.0.2.81 tos inherit dev v$ol2
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ |
| H A D | ct_fs_hmfs.c | 18 /* We need {ipv4, ipv6} x {tcp, udp, gre} matchers. */ 40 static u32 get_matcher_idx(bool ipv4, bool tcp, bool gre) in get_matcher_idx() argument 42 return ipv4 * 3 + tcp * 2 + gre; in get_matcher_idx() 94 struct mlx5_flow_spec *spec, bool ipv4, bool tcp, bool gre) in mlx5_ct_fs_hmfs_matcher_create() argument 101 u32 priority = get_matcher_idx(ipv4, tcp, gre); /* Static priority based on params. */ in mlx5_ct_fs_hmfs_matcher_create() 113 bool nat, bool ipv4, bool tcp, bool gre) in mlx5_ct_fs_hmfs_matcher_get() argument 116 u32 matcher_idx = get_matcher_idx(ipv4, tcp, gre); in mlx5_ct_fs_hmfs_matcher_get() 136 hws_bwc_matcher = mlx5_ct_fs_hmfs_matcher_create(fs, tbl, spec, ipv4, tcp, gre); in mlx5_ct_fs_hmfs_matcher_get() 139 "ct_fs_hmfs: failed to create bwc matcher (nat %d, ipv4 %d, tcp %d, gre %d), err: %pe\n", in mlx5_ct_fs_hmfs_matcher_get() 140 nat, ipv4, tcp, gre, hws_bwc_matcher); in mlx5_ct_fs_hmfs_matcher_get() [all …]
|
| H A D | ct_fs_smfs.c | 47 bool gre) in mlx5_ct_fs_smfs_fill_mask() argument 80 } else if (!gre) { in mlx5_ct_fs_smfs_fill_mask() 90 bool tcp, bool gre, u32 priority) in mlx5_ct_fs_smfs_matcher_create() argument 99 mlx5_ct_fs_smfs_fill_mask(fs, spec, ipv4, tcp, gre); in mlx5_ct_fs_smfs_matcher_create() 111 mlx5_ct_fs_smfs_matcher_get(struct mlx5_ct_fs *fs, bool nat, bool ipv4, bool tcp, bool gre) in mlx5_ct_fs_smfs_matcher_get() argument 122 smfs_matcher = &matchers->smfs_matchers[ipv4 * 3 + tcp * 2 + gre]; in mlx5_ct_fs_smfs_matcher_get() 148 dr_matcher = mlx5_ct_fs_smfs_matcher_create(fs, tbl, ipv4, tcp, gre, prio); in mlx5_ct_fs_smfs_matcher_get() 151 "ct_fs_smfs: failed to create matcher (nat %d, ipv4 %d, tcp %d, gre %d), err: %pe\n", in mlx5_ct_fs_smfs_matcher_get() 152 nat, ipv4, tcp, gre, dr_matcher); in mlx5_ct_fs_smfs_matcher_get() 232 bool nat, tcp, ipv4, gre; in mlx5_ct_fs_smfs_ct_rule_add() local [all …]
|
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | bpf_flow.c | 170 struct gre_hdr *gre, _gre; in parse_ip_proto() local 194 gre = bpf_flow_dissect_get_header(skb, sizeof(*gre), &_gre); in parse_ip_proto() 195 if (!gre) in parse_ip_proto() 198 if (bpf_htons(gre->flags & GRE_VERSION)) in parse_ip_proto() 199 /* Only inspect standard GRE packets with version 0 */ in parse_ip_proto() 202 keys->thoff += sizeof(*gre); /* Step over GRE Flags and Proto */ in parse_ip_proto() 203 if (GRE_IS_CSUM(gre->flags)) in parse_ip_proto() 205 if (GRE_IS_KEY(gre->flags)) in parse_ip_proto() 207 if (GRE_IS_SEQ(gre->flags)) in parse_ip_proto() 214 if (gre->proto == bpf_htons(ETH_P_TEB)) { in parse_ip_proto() [all …]
|
| /linux/net/ipv4/netfilter/ |
| H A D | nf_nat_pptp.c | 10 * GRE is defined in RFC 1701 and RFC 1702. Documentation of 68 t.src.u.gre.key = ct_pptp_info->pac_call_id; in pptp_nat_expected() 70 t.dst.u.gre.key = ct_pptp_info->pns_call_id; in pptp_nat_expected() 77 t.src.u.gre.key = nat_pptp_info->pns_call_id; in pptp_nat_expected() 79 t.dst.u.gre.key = nat_pptp_info->pac_call_id; in pptp_nat_expected() 217 expect_orig->saved_proto.gre.key = ct_pptp_info->pns_call_id; in pptp_exp_gre() 218 expect_orig->tuple.src.u.gre.key = nat_pptp_info->pns_call_id; in pptp_exp_gre() 219 expect_orig->tuple.dst.u.gre.key = ct_pptp_info->pac_call_id; in pptp_exp_gre() 223 expect_reply->saved_proto.gre.key = nat_pptp_info->pns_call_id; in pptp_exp_gre() 224 expect_reply->tuple.src.u.gre.key = nat_pptp_info->pac_call_id; in pptp_exp_gre() [all …]
|
| /linux/net/ipv4/ |
| H A D | gre_demux.c | 3 * GRE over IPv4 demultiplexer driver 22 #include <net/gre.h> 60 * Note that caller must use pskb_may_pull() before pulling GRE header. 112 * - When dealing with WCCPv2, Skip extra 4 bytes in GRE header in gre_parse_header() 127 /* ERSPAN ver 1 and 2 protocol sets GRE key field in gre_parse_header() 202 pr_info("GRE over IPv4 demultiplexer driver\n"); in gre_init() 219 MODULE_DESCRIPTION("GRE over IPv4 demultiplexer driver");
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
| H A D | tc_tun_gre.c | 4 #include <net/gre.h> 39 /* the HW does not calculate GRE csum or sequences */ in mlx5e_gen_ip_tunnel_header_gretap() 48 /* GRE key */ in mlx5e_gen_ip_tunnel_header_gretap() 72 /* gre protocol */ in mlx5e_tc_tun_parse_gretap() 76 /* gre key */ in mlx5e_tc_tun_parse_gretap()
|
| /linux/tools/testing/selftests/bpf/ |
| H A D | test_tc_tunnel.sh | |
| /linux/tools/testing/selftests/drivers/net/hw/ |
| H A D | hw_stats_l3_gre.sh | 4 # Test L3 stats on IP-in-IP GRE tunnel without key. 37 sw1_flat_create gre $ol1 $ul1 38 sw2_flat_create gre $ol2 $ul2 63 ping_test $h1 192.0.2.18 " gre flat"
|