[ORDERED_INCLUDE]
# Common configuration, shared between test suites
"../Common.cfg"
# testsuite specific configuration, not expected to change
"./GBProxy_Tests.default"

# Local configuration below

[LOGGING]

[TESTPORT_PARAMETERS]
*.GBPVTY.CTRL_HOSTNAME := "127.0.0.1"

[MODULE_PARAMETERS]
GBProxy_Tests.mp_enable_bss_load_sharing := true;
GBProxy_Tests.mp_nsconfig_sgsn := {
	{
		handle_sns := false
	}
}

GBProxy_Tests.mp_nsconfig_pcu := {
	{
		nsei := 2001,
		role_sgsn := false,
		handle_sns := false,
		nsvc := {
			{
				provider := {
					fr := {
						netdev := "hdlc1",
						dlci := 16
					}
				},
				nsvci := 1
			}, {
				provider := {
					fr := {
						netdev := "hdlc2",
						dlci := 17
					}
				},
				nsvci := 2
			}, {
				provider := {
					fr := {
						netdev := "hdlc3",
						dlci := 18
					}
				},
				nsvci := 3
			}, {
				provider := {
					fr := {
						netdev := "hdlc4",
						dlci := 19
					}
				},
				nsvci := 4
			}
		}
	},
	{
		nsei := 2002,
		role_sgsn := false,
		handle_sns := false,
		nsvc := {
			{
				provider := {
					fr := {
						netdev := "hdlc5",
						dlci := 20
					}
				},
				nsvci := 5
			}, {
				provider := {
					fr := {
						netdev := "hdlc6",
						dlci := 21
					}
				},
				nsvci := 6
			}
		}
	},
	{
		nsei := 2003,
		role_sgsn := false,
		handle_sns := false,
		nsvc := {
			{
				provider := {
					fr := {
						netdev := "hdlc7",
						dlci := 22
					}
				},
				nsvci := 7
			}, {
				provider := {
					fr := {
						netdev := "hdlc8",
						dlci := 23
					}
				},
				nsvci := 8
			}
		}
	}
}

[MAIN_CONTROLLER]

[EXECUTE]
GBProxy_Tests.control
