MCPcopy
hub / github.com/vishvananda/netlink / TestRouteUIDOption

Function TestRouteUIDOption

route_test.go:2463–2557  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

2461}
2462
2463func TestRouteUIDOption(t *testing.T) {
2464 tearDown := setUpNetlinkTest(t)
2465 defer tearDown()
2466
2467 // setup eth0 so that network is reachable
2468 err := LinkAdd(&Dummy{LinkAttrs{Name: "eth0"}})
2469 if err != nil {
2470 t.Fatal(err)
2471 }
2472 link, err := LinkByName("eth0")
2473 if err != nil {
2474 t.Fatal(err)
2475 }
2476 if err = LinkSetUp(link); err != nil {
2477 t.Fatal(err)
2478 }
2479 addr := &Addr{
2480 IPNet: &net.IPNet{
2481 IP: net.IPv4(192, 168, 1, 1),
2482 Mask: net.CIDRMask(16, 32),
2483 },
2484 }
2485 if err = AddrAdd(link, addr); err != nil {
2486 t.Fatal(err)
2487 }
2488
2489 // a table different than unix.RT_TABLE_MAIN
2490 testtable := 1000
2491
2492 gw1 := net.IPv4(192, 168, 1, 254)
2493 gw2 := net.IPv4(192, 168, 2, 254)
2494
2495 // add default route via gw1 (in main route table by default)
2496 defaultRouteMain := Route{
2497 Dst: nil,
2498 Gw: gw1,
2499 }
2500 if err := RouteAdd(&defaultRouteMain); err != nil {
2501 t.Fatal(err)
2502 }
2503
2504 // add default route via gw2 in test route table
2505 defaultRouteTest := Route{
2506 Dst: nil,
2507 Gw: gw2,
2508 Table: testtable,
2509 }
2510 if err := RouteAdd(&defaultRouteTest); err != nil {
2511 t.Fatal(err)
2512 }
2513
2514 // check the routes are in different tables
2515 routes, err := RouteListFiltered(FAMILY_V4, &Route{
2516 Dst: nil,
2517 Table: unix.RT_TABLE_UNSPEC,
2518 }, RT_FILTER_DST|RT_FILTER_TABLE)
2519 if err != nil {
2520 t.Fatal(err)

Callers

nothing calls this directly

Calls 13

setUpNetlinkTestFunction · 0.85
NewRuleFunction · 0.85
NewRuleUIDRangeFunction · 0.85
RuleAddFunction · 0.85
RouteGetWithOptionsFunction · 0.85
FatalMethod · 0.80
LinkAddFunction · 0.70
LinkByNameFunction · 0.70
LinkSetUpFunction · 0.70
AddrAddFunction · 0.70
RouteAddFunction · 0.70
RouteListFilteredFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…