SXP: Adapt/increase retry timers
[integration/test.git] / csit / suites / sxp / filtering / 200_Outbound_Filtering_Policy.robot
1 *** Settings ***
2 Documentation     Test suite to verify Outbound filtering functionality using manual policy
3 Suite Setup       Setup SXP Environment    5
4 Suite Teardown    Clean SXP Environment    5
5 Test Teardown     Clean Nodes
6 Library           RequestsLibrary
7 Library           SSHLibrary
8 Library           ../../../libraries/Sxp.py
9 Library           ../../../libraries/Common.py
10 Resource          ../../../libraries/SxpLib.robot
11 Resource          ../../../libraries/WaitForFailure.robot
12 Resource          ../../../libraries/SXP/FilteringResources.robot
13
14 *** Variables ***
15
16 *** Test Cases ***
17 Access List Filtering
18     [Documentation]    Test ACL filter behaviour during filter update
19     [Tags]    SXP    Filtering
20     ${peers}    Add Peers    127.0.0.4    127.0.0.5
21     Add PeerGroup    GROUP    ${peers}
22     ${entry1}    Get Filter Entry    10    permit    acl=10.10.10.0,0.0.0.255
23     ${entry2}    Get Filter Entry    20    deny    acl=10.10.0.0,0.0.255.0
24     ${entry3}    Get Filter Entry    30    permit    acl=10.0.0.0,0.255.255.0
25     ${entries}    Combine Strings    ${entry1}    ${entry2}    ${entry3}
26     Add Filter    GROUP    outbound    ${entries}    policy=manual-update
27     Setup Nodes
28     Wait Until Keyword Succeeds    4    2    Check One Group 4-5
29     Delete Filter    GROUP    outbound
30     Verify Keyword Does Not Fail Within Timeout    4    1    Check One Group 4-5
31     Reconnect Peers
32     ${entry1}    Get Filter Entry    10    permit    acl=10.20.0.0,0.0.255.255
33     ${entry2}    Get Filter Entry    20    permit    acl=10.10.0.0,0.0.255.0
34     ${entries}    Combine Strings    ${entry1}    ${entry2}
35     Add Filter    GROUP    outbound    ${entries}    policy=manual-update
36     Reconnect Peers
37     Wait Until Keyword Succeeds    4    2    Check Two Group 4-5
38
39 Access List Sgt Filtering
40     [Documentation]    Test ACL and SGT filter behaviour during filter update
41     [Tags]    SXP    Filtering
42     ${peers}    Add Peers    127.0.0.2    127.0.0.5
43     Add PeerGroup    GROUP    ${peers}
44     ${entry1}    Get Filter Entry    10    deny    acl=10.10.20.0,0.0.0.255
45     ${entry2}    Get Filter Entry    20    permit    acl=10.10.0.0,0.0.255.0
46     ${entry3}    Get Filter Entry    30    permit    sgt=30    acl=10.10.10.0,0.0.0.255
47     ${entries}    Combine Strings    ${entry1}    ${entry2}    ${entry3}
48     Add Filter    GROUP    outbound    ${entries}    policy=manual-update
49     Setup Nodes
50     Wait Until Keyword Succeeds    4    2    Check One Group 2-5
51     Delete Filter    GROUP    outbound
52     Verify Keyword Does Not Fail Within Timeout    4    1    Check One Group 2-5
53     Reconnect Peers
54     ${entries}    Get Filter Entry    10    permit    esgt=20,40    acl=10.10.0.0,0.0.255.255
55     Add Filter    GROUP    outbound    ${entries}    policy=manual-update
56     Reconnect Peers
57     Wait Until Keyword Succeeds    4    2    Check Two Group 2-5
58
59 Prefix List Filtering
60     [Documentation]    Test Prefix List filter behaviour during filter update
61     [Tags]    SXP    Filtering
62     ${peers}    Add Peers    127.0.0.4    127.0.0.5
63     Add PeerGroup    GROUP    ${peers}
64     ${entry1}    Get Filter Entry    10    permit    pl=10.10.10.0/24
65     ${entry2}    Get Filter Entry    20    deny    epl=10.10.0.0/16,le,24
66     ${entry3}    Get Filter Entry    30    permit    epl=10.0.0.0/8,le,24
67     ${entries}    Combine Strings    ${entry1}    ${entry2}    ${entry3}
68     Add Filter    GROUP    outbound    ${entries}    policy=manual-update
69     Setup Nodes
70     Wait Until Keyword Succeeds    4    2    Check One Group 4-5
71     Delete Filter    GROUP    outbound
72     Verify Keyword Does Not Fail Within Timeout    4    1    Check One Group 4-5
73     Reconnect Peers
74     ${entry1}    Get Filter Entry    10    permit    pl=10.20.0.0/16
75     ${entry2}    Get Filter Entry    20    permit    epl=10.10.0.0/16,le,24
76     ${entries}    Combine Strings    ${entry1}    ${entry2}
77     Add Filter    GROUP    outbound    ${entries}    policy=manual-update
78     Reconnect Peers
79     Wait Until Keyword Succeeds    4    2    Check Two Group 4-5
80
81 Prefix List Sgt Filtering
82     [Documentation]    Test Prefix List and SGT filter behaviour during filter update
83     [Tags]    SXP    Filtering
84     ${peers}    Add Peers    127.0.0.2    127.0.0.5
85     Add PeerGroup    GROUP    ${peers}
86     ${entry1}    Get Filter Entry    10    deny    pl=10.10.20.0/24
87     ${entry2}    Get Filter Entry    20    permit    epl=10.10.0.0/16,le,24
88     ${entry3}    Get Filter Entry    30    permit    sgt=30    pl=10.10.10.0/24
89     ${entries}    Combine Strings    ${entry1}    ${entry2}    ${entry3}
90     Add Filter    GROUP    outbound    ${entries}    policy=manual-update
91     Setup Nodes
92     Wait Until Keyword Succeeds    4    2    Check One Group 2-5
93     Delete Filter    GROUP    outbound
94     Verify Keyword Does Not Fail Within Timeout    4    1    Check One Group 2-5
95     Reconnect Peers
96     ${entries}    Get Filter Entry    10    permit    esgt=20,40    pl=10.10.0.0/16
97     Add Filter    GROUP    outbound    ${entries}    policy=manual-update
98     Reconnect Peers
99     Wait Until Keyword Succeeds    4    2    Check Two Group 2-5
100
101 *** Keywords ***
102 Reconnect Peers
103     [Arguments]    ${version}=version4    ${password}=none
104     [Documentation]    Reconnect all peers connected to node containing filters
105     Clean Connections    127.0.0.1
106     Add Connection    ${version}    both    127.0.0.2    64999    127.0.0.1    ${password}
107     Add Connection    ${version}    listener    127.0.0.3    64999    127.0.0.1    ${password}
108     Add Connection    ${version}    both    127.0.0.4    64999    127.0.0.1    ${password}
109     Add Connection    ${version}    speaker    127.0.0.5    64999    127.0.0.1    ${password}
110     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    both    127.0.0.2
111     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.3
112     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    both    127.0.0.4
113     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.5