blob: 7cae9c9dd5fb687e41cad2a75c3b5d8cbf02b56a [file] [log] [blame]
@node Zebra Protocol, Packet Binary Dump Format, SNMP Support, Top
@comment node-name, next, previous, up
@appendix Zebra Protocol
Zebra Protocol is a protocol which is used between protocol daemon and
zebra. Each protocol daemon sends selected routes to zebra daemon. Then
zebra manages which route is installed into the forwarding table.
Zebra Protocol is a TCP-based protocol. Below is common header of Zebra
Protocol.
@example
@group
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length (2) | Command (1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
@end group
@end example
Length is total packet length including this header length. So minimum
length is three. Command is Zebra Protocol command.
@example
ZEBRA_INTERFACE_ADD 1
ZEBRA_INTERFACE_DELETE 2
ZEBRA_INTERFACE_ADDRESS_ADD 3
ZEBRA_INTERFACE_ADDRESS_DELETE 4
ZEBRA_INTERFACE_UP 5
ZEBRA_INTERFACE_DOWN 6
ZEBRA_IPV4_ROUTE_ADD 7
ZEBRA_IPV4_ROUTE_DELETE 8
ZEBRA_IPV6_ROUTE_ADD 9
ZEBRA_IPV6_ROUTE_DELETE 10
ZEBRA_REDISTRIBUTE_ADD 11
ZEBRA_REDISTRIBUTE_DELETE 12
ZEBRA_REDISTRIBUTE_DEFAULT_ADD 13
ZEBRA_REDISTRIBUTE_DEFAULT_DELETE 14
ZEBRA_IPV4_NEXTHOP_LOOKUP 15
ZEBRA_IPV6_NEXTHOP_LOOKUP 16
@end example
@example
@group
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
@end group
@end example