Age | Commit message (Collapse) | Author |
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
specify the use-local option
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Seems that write() is blocked forever when a connection is not cleanly
closed.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
This could lead to a deadlock.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Peers send and receive messages via channels, which could lead to a
deadlock. With this patch, multiple goroutines are used for network
I/Os per peer but one goroutine handle all ribs (including the global
rib). So there is no messages via channels between peers.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
split gobgp/main.go to main.go,global.go,neighbor.go,policy.go and common.go.
|
|
|
|
|
|
Fixed TCPListener.File() misuse.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
We use TCPConn.File() for syscal.SetsockoptInt but File() sets the
underlying os.File to blocking mode and returns a copy. It's not what
we don't want. Instead, we access to private members with reflect...
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
|
|
|
|
% gobgp -u 10.0.255.1 neighbor 10.0.0.3 policy
DefaultImportPolicy: ACCEPT
DefaultExportPolicy: ACCEPT
ImportPolicies:
PolicyName policy1:
StatementName st0:
Conditions:
PrefixSet: ps2 192.168.20.0/24
NeighborSet: ns0 10.0.0.2
10.0.0.3
AsPathLength: eq 5
MatchOption: ALL
Actions:
ACCEPT
ExportPolicies:
% gobgp -u 10.0.255.1 neighbor 10.0.0.3 policy add export policy0 reject
% gobgp -u 10.0.255.1 neighbor 10.0.0.3 policy del import
% gobgp -u 10.0.255.1 neighbor 10.0.0.3 policy
DefaultImportPolicy: ACCEPT
DefaultExportPolicy: REJECT
ImportPolicies:
ExportPolicies:
PolicyName policy0:
StatementName st0:
Conditions:
PrefixSet: ps0 192.168.0.0/16 16..24
NeighborSet: ns2 10.0.0.4
AsPathLength:
MatchOption: ALL
Actions:
REJECT
|
|
% gobgp -u 10.0.255.1 policy routepolicy
PolicyName policy0:
StatementName st0:
Conditions:
PrefixSet: ps0 192.168.0.0/16 16..24
NeighborSet: ns2 10.0.0.4
AsPathLength:
MatchOption: ALL
Actions:
REJECT
% gobgp -u 10.0.255.1 policy routepolicy add policy1 st0 conditions --prefix ps2 --neighbor ns0 --aspath-len eq,5 --option all
% gobgp -u 10.0.255.1 policy routepolicy add policy1 st0 actions --route-action accept
% gobgp -u 10.0.255.1 policy routepolicy del policy0
% gobgp -u 10.0.255.1 policy routepolicy
PolicyName policy1:
StatementName st0:
Conditions:
PrefixSet: ps2 192.168.20.0/24
NeighborSet: ns0 10.0.0.2
10.0.0.3
AsPathLength: eq 5
MatchOption: ALL
Actions:
ACCEPT
|
|
% gobgp -u 10.0.255.1 policy neighbor
Name Address
ns0 10.0.0.2
10.0.0.3
ns1 2001::192:168:0:2
% gobgp -u 10.0.255.1 policy neighbor add ns2 10.0.0.4
% gobgp -u 10.0.255.1 policy neighbor del ns1
% gobgp -u 10.0.255.1 policy neighbor
Name Address
ns0 10.0.0.2
10.0.0.3
ns2 10.0.0.4
|
|
|
|
|
|
|
|
|
|
|
|
% gobgp -u 10.0.255.1 policy routepolicy policy0
PolicyName policy0:
StatementName st0:
Conditions:
PrefixSet: ps0 192.168.0.0/16 16..24
NeighborSet: ns0 10.0.0.2
AsPathLength: 10 eq
MatchOption: ALL
Actions:
REJECT
|
|
% gobgp -u 10.0.255.1 neighbor 10.0.0.3 policy
DefaultImportPolicy: ACCEPT
DefaultImportPolicy: ACCEPT
ImportPolicies:
PolicyName policy0:
StatementName st0:
Conditions:
PrefixSet: ps0 192.168.0.0/16 16..24
NeighborSet: ns0 10.0.0.2
MatchOption: ALL
Actions:
REJECT
PolicyName policy5:
ExportPolicies:
PolicyName policy1:
StatementName st1:
Conditions:
PrefixSet: ps1 192.168.20.0/24
192.168.200.0/24
NeighborSet: ns0 10.0.0.2
MatchOption: ALL
Actions:
REJECT
|
|
% gobgp -u 10.0.255.1 policy routepolicy
PolicyName policy0:
StatementName st0:
Conditions:
PrefixSet: ps0 192.168.0.0/16 16..24
NeighborSet: ns0 10.0.0.2
MatchOption: ALL
Actions:
REJECT
PolicyName policy1:
StatementName st1:
Conditions:
PrefixSet: ps1 192.168.20.0/24
192.168.200.0/24
NeighborSet: ns0 10.0.0.2
MatchOption: ALL
Actions:
REJECT
% gobgp -u 10.0.255.1 policy routepolicy policy0
PolicyName policy0:
StatementName st0:
Conditions:
PrefixSet: ps0 192.168.0.0/16 16..24
NeighborSet: ns0 10.0.0.2
MatchOption: ALL
Actions:
REJECT
|
|
% gobgp -u 10.0.255.1 policy neighbor
Name Address
ns0 10.0.0.2
ns1 2001::192:168:0:2
% gobgp -u 10.0.255.1 policy neighbor ns0
Name Address
ns0 10.0.0.2
|
|
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
|
|
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
Fix a received data corruption bug when a partial read happens. Let's
use io.ReadFull() rather than the homemade one.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
|
|
[show]
% gobgp -u 10.0.255.1 policy prefix
Name Prefix MaskRange
ps0 192.168.0.0/16 16..24
ps1 192.168.20.0/24
192.168.200.0/24
ps2 192.168.20.0/24
ps3 2001:0:10:2::/64 64..128
ps4 2001:0:10:20::/64
2001:0:10:200::/64
ps5 2001:0:10:20::/64
% gobgp -u 10.0.255.1 policy prefix ps1
Address/Mask MaskRange
192.168.20.0/24
192.168.200.0/24
[add]
% gobgp -u 10.0.255.1 policy prefix add ps8 172.16.0.0/16 16..24
% gobgp -u 10.0.255.1 policy prefix add ps8 172.32.0.0/16
[del]
% gobgp -u 10.0.255.1 policy prefix del ps2 192.168.20.0/24
% gobgp -u 10.0.255.1 policy prefix del ps3
% gobgp -u 10.0.255.1 policy prefix del all
|
|
fix the above issue with route server use case.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
|
|
This reverts commit f8832eb4811f57d16211fe31986b395ffb3c6ff0.
|