Annotation of embedaddon/quagga/bgpd/bgp_encap_tlv.h, revision 1.1
1.1 ! misho 1: /*
! 2: * Copyright 2015, LabN Consulting, L.L.C.
! 3: *
! 4: * This program is free software; you can redistribute it and/or
! 5: * modify it under the terms of the GNU General Public License
! 6: * as published by the Free Software Foundation; either version 2
! 7: * of the License, or (at your option) any later version.
! 8: *
! 9: * This program is distributed in the hope that it will be useful,
! 10: * but WITHOUT ANY WARRANTY; without even the implied warranty of
! 11: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! 12: * GNU General Public License for more details.
! 13: *
! 14: * You should have received a copy of the GNU General Public License
! 15: * along with this program; if not, write to the Free Software
! 16: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
! 17: *
! 18: */
! 19:
! 20: #ifndef _QUAGGA_BGP_ENCAP_TLV_H
! 21: #define _QUAGGA_BGP_ENCAP_TLV_H
! 22:
! 23:
! 24: /***********************************************************************
! 25: * TUNNEL TYPE-SPECIFIC TLV ENCODE
! 26: ***********************************************************************/
! 27:
! 28: extern void
! 29: bgp_encap_type_l2tpv3overip_to_tlv(
! 30: struct bgp_encap_type_l2tpv3_over_ip *bet,
! 31: struct attr *attr);
! 32:
! 33: extern void
! 34: bgp_encap_type_gre_to_tlv(
! 35: struct bgp_encap_type_gre *bet,
! 36: struct attr *attr);
! 37:
! 38: extern void
! 39: bgp_encap_type_ip_in_ip_to_tlv(
! 40: struct bgp_encap_type_ip_in_ip *bet,
! 41: struct attr *attr);
! 42:
! 43: extern void
! 44: bgp_encap_type_transmit_tunnel_endpoint(
! 45: struct bgp_encap_type_transmit_tunnel_endpoint *bet,
! 46: struct attr *attr);
! 47:
! 48: extern void
! 49: bgp_encap_type_ipsec_in_tunnel_mode_to_tlv(
! 50: struct bgp_encap_type_ipsec_in_tunnel_mode *bet,
! 51: struct attr *attr);
! 52:
! 53: extern void
! 54: bgp_encap_type_ip_in_ip_tunnel_with_ipsec_transport_mode_to_tlv(
! 55: struct bgp_encap_type_ip_in_ip_tunnel_with_ipsec_transport_mode *bet,
! 56: struct attr *attr);
! 57:
! 58: extern void
! 59: bgp_encap_type_mpls_in_ip_tunnel_with_ipsec_transport_mode_to_tlv(
! 60: struct bgp_encap_type_mpls_in_ip_tunnel_with_ipsec_transport_mode *bet,
! 61: struct attr *attr);
! 62:
! 63: extern void
! 64: bgp_encap_type_pbb_to_tlv(
! 65: struct bgp_encap_type_pbb *bet,
! 66: struct attr *attr);
! 67:
! 68: extern void
! 69: bgp_encap_type_vxlan_to_tlv(
! 70: struct bgp_encap_type_vxlan *bet,
! 71: struct attr *attr);
! 72:
! 73: extern void
! 74: bgp_encap_type_nvgre_to_tlv(
! 75: struct bgp_encap_type_nvgre *bet,
! 76: struct attr *attr);
! 77:
! 78: extern void
! 79: bgp_encap_type_mpls_to_tlv(
! 80: struct bgp_encap_type_mpls *bet,
! 81: struct attr *attr);
! 82:
! 83: extern void
! 84: bgp_encap_type_mpls_in_gre_to_tlv(
! 85: struct bgp_encap_type_mpls_in_gre *bet,
! 86: struct attr *attr);
! 87:
! 88: extern void
! 89: bgp_encap_type_vxlan_gpe_to_tlv(
! 90: struct bgp_encap_type_vxlan_gpe *bet,
! 91: struct attr *attr);
! 92:
! 93: extern void
! 94: bgp_encap_type_mpls_in_udp_to_tlv(
! 95: struct bgp_encap_type_mpls_in_udp *bet,
! 96: struct attr *attr);
! 97:
! 98: /***********************************************************************
! 99: * TUNNEL TYPE-SPECIFIC TLV DECODE
! 100: ***********************************************************************/
! 101:
! 102: extern int
! 103: tlv_to_bgp_encap_type_l2tpv3overip(
! 104: struct bgp_attr_encap_subtlv *stlv, /* subtlv chain */
! 105: struct bgp_encap_type_l2tpv3_over_ip *bet); /* caller-allocated */
! 106:
! 107: extern int
! 108: tlv_to_bgp_encap_type_gre(
! 109: struct bgp_attr_encap_subtlv *stlv, /* subtlv chain */
! 110: struct bgp_encap_type_gre *bet); /* caller-allocated */
! 111:
! 112: extern int
! 113: tlv_to_bgp_encap_type_ip_in_ip(
! 114: struct bgp_attr_encap_subtlv *stlv, /* subtlv chain */
! 115: struct bgp_encap_type_ip_in_ip *bet); /* caller-allocated */
! 116:
! 117: extern int
! 118: tlv_to_bgp_encap_type_transmit_tunnel_endpoint(
! 119: struct bgp_attr_encap_subtlv *stlv,
! 120: struct bgp_encap_type_transmit_tunnel_endpoint *bet);
! 121:
! 122: extern int
! 123: tlv_to_bgp_encap_type_ipsec_in_tunnel_mode(
! 124: struct bgp_attr_encap_subtlv *stlv, /* subtlv chain */
! 125: struct bgp_encap_type_ipsec_in_tunnel_mode *bet); /* caller-allocated */
! 126:
! 127: extern int
! 128: tlv_to_bgp_encap_type_ip_in_ip_tunnel_with_ipsec_transport_mode(
! 129: struct bgp_attr_encap_subtlv *stlv,
! 130: struct bgp_encap_type_ip_in_ip_tunnel_with_ipsec_transport_mode *bet);
! 131:
! 132: extern int
! 133: tlv_to_bgp_encap_type_mpls_in_ip_tunnel_with_ipsec_transport_mode(
! 134: struct bgp_attr_encap_subtlv *stlv,
! 135: struct bgp_encap_type_mpls_in_ip_tunnel_with_ipsec_transport_mode *bet);
! 136:
! 137: extern int
! 138: tlv_to_bgp_encap_type_vxlan(
! 139: struct bgp_attr_encap_subtlv *stlv,
! 140: struct bgp_encap_type_vxlan *bet);
! 141:
! 142: extern int
! 143: tlv_to_bgp_encap_type_nvgre(
! 144: struct bgp_attr_encap_subtlv *stlv,
! 145: struct bgp_encap_type_nvgre *bet);
! 146:
! 147: extern int
! 148: tlv_to_bgp_encap_type_mpls(
! 149: struct bgp_attr_encap_subtlv *stlv,
! 150: struct bgp_encap_type_mpls *bet);
! 151:
! 152: extern int
! 153: tlv_to_bgp_encap_type_mpls(
! 154: struct bgp_attr_encap_subtlv *stlv,
! 155: struct bgp_encap_type_mpls *bet);
! 156:
! 157: extern int
! 158: tlv_to_bgp_encap_type_mpls_in_gre(
! 159: struct bgp_attr_encap_subtlv *stlv,
! 160: struct bgp_encap_type_mpls_in_gre *bet);
! 161:
! 162: extern int
! 163: tlv_to_bgp_encap_type_vxlan_gpe(
! 164: struct bgp_attr_encap_subtlv *stlv,
! 165: struct bgp_encap_type_vxlan_gpe *bet);
! 166:
! 167: extern int
! 168: tlv_to_bgp_encap_type_mpls_in_udp(
! 169: struct bgp_attr_encap_subtlv *stlv,
! 170: struct bgp_encap_type_mpls_in_udp *bet);
! 171:
! 172: extern int
! 173: tlv_to_bgp_encap_type_pbb(
! 174: struct bgp_attr_encap_subtlv *stlv, /* subtlv chain */
! 175: struct bgp_encap_type_pbb *bet); /* caller-allocated */
! 176:
! 177: #endif /* _QUAGGA_BGP_ENCAP_TLV_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>