| @node Zebra Protocol |
| @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 |